diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM')
| -rw-r--r-- | llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir b/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir index 65e7ccd4ab5..2beb2485997 100644 --- a/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir +++ b/llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir @@ -20,6 +20,9 @@ define void @test_fdiv_float() { ret void } define void @test_fdiv_double() { ret void } + define void @test_fconstant_float() { ret void } + define void @test_fconstant_double() { ret void } + define void @test_fcmp_true_s32() { ret void } define void @test_fcmp_false_s32() { ret void } @@ -597,6 +600,59 @@ body: | BX_RET 14, %noreg, implicit %r0, implicit %r1 ... --- +name: test_fconstant_float +# CHECK-LABEL: name: test_fconstant_float +legalized: false +# CHECK: legalized: true +regBankSelected: false +selected: false +tracksRegLiveness: true +registers: + - { id: 0, class: _ } +body: | + bb.0: + liveins: + + ; HARD: [[R:%[0-9]+]]:_(s32) = G_FCONSTANT float -1.25 + ; SOFT-NOT: G_FCONSTANT + ; SOFT: [[R:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1080033280 + ; SOFT-NOT: G_FCONSTANT + %0(s32) = G_FCONSTANT float -1.25 + ; CHECK: %r0 = COPY [[R]] + %r0 = COPY %0(s32) + BX_RET 14, %noreg, implicit %r0 +... +--- +name: test_fconstant_double +# CHECK-LABEL: name: test_fconstant_double +legalized: false +# CHECK: legalized: true +regBankSelected: false +selected: false +tracksRegLiveness: true +registers: + - { id: 0, class: _ } + - { id: 1, class: _ } + - { id: 2, class: _ } +body: | + bb.0: + liveins: + + ; HARD: [[R:%[0-9]+]]:_(s64) = G_FCONSTANT double -2.4 + ; SOFT-NOT: G_FCONSTANT + ; SOFT-DAG: [[HI:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1073532109 + ; SOFT-DAG: [[LO:%[0-9]+]]:_(s32) = G_CONSTANT i32 858993459 + ; SOFT-NOT: G_FCONSTANT + %0(s64) = G_FCONSTANT double -2.4 + ; HARD-DAG: G_UNMERGE_VALUES [[R]](s64) + ; SOFT-DAG: %r0 = COPY [[HI]] + ; SOFT-DAG: %r1 = COPY [[LO]] + %1(s32),%2(s32) = G_UNMERGE_VALUES %0(s64) + %r0 = COPY %2(s32) + %r1 = COPY %1(s32) + BX_RET 14, %noreg, implicit %r0, implicit %r1 +... +--- name: test_fcmp_true_s32 # CHECK-LABEL: name: test_fcmp_true_s32 legalized: false |

