mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
[ARM64-BE] Fix fast-isel, and add appropriate RUN lines to appropriate tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208200 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d93d214a67
commit
2712c87cfe
@ -1593,6 +1593,11 @@ bool ARM64FastISel::SelectRet(const Instruction *I) {
|
||||
EVT RVEVT = TLI.getValueType(RV->getType());
|
||||
if (!RVEVT.isSimple())
|
||||
return false;
|
||||
|
||||
// Vectors (of > 1 lane) in big endian need tricky handling.
|
||||
if (RVEVT.isVector() && RVEVT.getVectorNumElements() > 1)
|
||||
return false;
|
||||
|
||||
MVT RVVT = RVEVT.getSimpleVT();
|
||||
if (RVVT == MVT::f128)
|
||||
return false;
|
||||
|
@ -1,4 +1,5 @@
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -o - | FileCheck %s
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -O1 -o - | FileCheck %s
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -O0 -fast-isel=true -o - | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: test_i64_f64:
|
||||
define void @test_i64_f64(double* %p, i64* %q) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -o - | FileCheck %s
|
||||
; RUN: llc -mtriple arm64_be < %s -fast-isel=true -arm64-load-store-opt=false -o - | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: test_i64_f64:
|
||||
define i64 @test_i64_f64(double %p) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -o - | FileCheck %s
|
||||
; RUN: llc -mtriple arm64_be < %s -arm64-load-store-opt=false -fast-isel=true -O0 -o - | FileCheck %s
|
||||
|
||||
; CHECK-LABEL: test_i64_f64:
|
||||
declare i64 @test_i64_f64_helper(double %p)
|
||||
|
Loading…
Reference in New Issue
Block a user