summaryrefslogtreecommitdiff
path: root/test/CodeGen/AArch64/GlobalISel/legalize-pow.mir
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/AArch64/GlobalISel/legalize-pow.mir')
-rw-r--r--test/CodeGen/AArch64/GlobalISel/legalize-pow.mir38
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
+
+...