diff options
Diffstat (limited to 'test/CodeGen/AArch64/GlobalISel/legalize-pow.mir')
-rw-r--r-- | test/CodeGen/AArch64/GlobalISel/legalize-pow.mir | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir b/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir new file mode 100644 index 0000000000000..2becc2e134b50 --- /dev/null +++ b/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir @@ -0,0 +1,38 @@ +# RUN: llc -O0 -run-pass=legalizer -global-isel %s -o - | FileCheck %s + +--- | + target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" + target triple = "aarch64--" + define void @test_pow() { + entry: + ret void + } +... + +--- +name: test_pow +body: | + bb.0.entry: + liveins: %d0, %d1, %s2, %s3 + + ; CHECK-LABEL: name: test_pow + ; CHECK: hasCalls: true + + %0:_(s64) = COPY %d0 + %1:_(s64) = COPY %d1 + %2:_(s32) = COPY %s2 + %3:_(s32) = COPY %s3 + + ; CHECK: %d0 = COPY %0 + ; CHECK: %d1 = COPY %1 + ; CHECK: BL $pow, csr_aarch64_aapcs, implicit-def %lr, implicit %sp, implicit %d0, implicit %d1, implicit-def %d0 + ; CHECK: %4(s64) = COPY %d0 + %4:_(s64) = G_FPOW %0, %1 + + ; CHECK: %s0 = COPY %2 + ; CHECK: %s1 = COPY %3 + ; CHECK: BL $powf, csr_aarch64_aapcs, implicit-def %lr, implicit %sp, implicit %s0, implicit %s1, implicit-def %s0 + ; CHECK: %5(s32) = COPY %s0 + %5:_(s32) = G_FPOW %2, %3 + +... |