summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir10
-rw-r--r--llvm/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll11
2 files changed, 15 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir b/llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
index e046aa290c1..234957a8f8e 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
@@ -55,9 +55,8 @@ registers:
body: |
bb.0:
; CHECK-LABEL: name: fconst_s32
- ; CHECK: [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 1080033280
- ; CHECK: [[COPY:%[0-9]+]]:fpr32 = COPY [[MOVi32imm]]
- ; CHECK: $s0 = COPY [[COPY]]
+ ; CHECK: [[FMOVSi:%[0-9]+]]:fpr32 = FMOVSi 12
+ ; CHECK: $s0 = COPY [[FMOVSi]]
%0(s32) = G_FCONSTANT float 3.5
$s0 = COPY %0(s32)
...
@@ -72,9 +71,8 @@ registers:
body: |
bb.0:
; CHECK-LABEL: name: fconst_s64
- ; CHECK: [[MOVi64imm:%[0-9]+]]:gpr64 = MOVi64imm 4607182418800017408
- ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY [[MOVi64imm]]
- ; CHECK: $d0 = COPY [[COPY]]
+ ; CHECK: [[FMOVDi:%[0-9]+]]:fpr64 = FMOVDi 112
+ ; CHECK: $d0 = COPY [[FMOVDi]]
%0(s64) = G_FCONSTANT double 1.0
$d0 = COPY %0(s64)
...
diff --git a/llvm/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll b/llvm/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll
index 234731cfa24..3a8a31be152 100644
--- a/llvm/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll
@@ -1,27 +1,38 @@
; RUN: llc -O0 -fast-isel -fast-isel-abort=1 -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s
+; RUN: llc -O0 -global-isel -fast-isel-abort=2 -pass-remarks-missed=gisel* -verify-machineinstrs -mtriple=arm64-apple-darwin %s -o - 2>&1 | FileCheck %s --check-prefixes=GISEL,FALLBACK
+
+; FALLBACK-NOT: remark:
; Materialize using fmov
define float @fmov_float1() {
; CHECK-LABEL: fmov_float1
; CHECK: fmov s0, #1.25000000
+; GISEL-LABEL: fmov_float1
+; GISEL: fmov s0, #1.25000000
ret float 1.250000e+00
}
define float @fmov_float2() {
; CHECK-LABEL: fmov_float2
; CHECK: fmov s0, wzr
+; GISEL-LABEL: fmov_float2
+; GISEL: fmov s0, wzr
ret float 0.0e+00
}
define double @fmov_double1() {
; CHECK-LABEL: fmov_double1
; CHECK: fmov d0, #1.25000000
+; GISEL-LABEL: fmov_double1
+; GISEL: fmov d0, #1.25000000
ret double 1.250000e+00
}
define double @fmov_double2() {
; CHECK-LABEL: fmov_double2
; CHECK: fmov d0, xzr
+; GISEL-LABEL: fmov_double2
+; GISEL: fmov d0, xzr
ret double 0.0e+00
}
OpenPOWER on IntegriCloud