blob: 3b301798bffa5bf756508d0c63c6e7a5c3b96fe7 [file] [log] [blame]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=aarch64 -run-pass=legalizer %s -o - | FileCheck %s
---
name: test_pow
body: |
bb.0.entry:
; CHECK-LABEL: name: test_pow
; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $d0
; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $d1
; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY $s2
; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY $s3
; CHECK: ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp
; CHECK: $d0 = COPY [[COPY]](s64)
; CHECK: $d1 = COPY [[COPY1]](s64)
; CHECK: BL &pow, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $d0, implicit $d1, implicit-def $d0
; CHECK: [[COPY4:%[0-9]+]]:_(s64) = COPY $d0
; CHECK: ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp
; CHECK: $x0 = COPY [[COPY4]](s64)
; CHECK: ADJCALLSTACKDOWN 0, 0, implicit-def $sp, implicit $sp
; CHECK: $s0 = COPY [[COPY2]](s32)
; CHECK: $s1 = COPY [[COPY3]](s32)
; CHECK: BL &powf, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit $s1, implicit-def $s0
; CHECK: [[COPY5:%[0-9]+]]:_(s32) = COPY $s0
; CHECK: ADJCALLSTACKUP 0, 0, implicit-def $sp, implicit $sp
; CHECK: $w0 = COPY [[COPY5]](s32)
%0:_(s64) = COPY $d0
%1:_(s64) = COPY $d1
%2:_(s32) = COPY $s2
%3:_(s32) = COPY $s3
%4:_(s64) = G_FPOW %0, %1
$x0 = COPY %4(s64)
%5:_(s32) = G_FPOW %2, %3
$w0 = COPY %5(s32)
...