61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \3; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s | FileCheck %s4 5define float @call_ldexpf(float %a, i32 %b) nounwind {6; CHECK-LABEL: call_ldexpf:7; CHECK: # %bb.0:8; CHECK-NEXT: mflr r09; CHECK-NEXT: stdu r1, -32(r1)10; CHECK-NEXT: extsw r4, r411; CHECK-NEXT: std r0, 48(r1)12; CHECK-NEXT: bl ldexpf13; CHECK-NEXT: nop14; CHECK-NEXT: addi r1, r1, 3215; CHECK-NEXT: ld r0, 16(r1)16; CHECK-NEXT: mtlr r017; CHECK-NEXT: blr18 %result = call float @ldexpf(float %a, i32 %b)19 ret float %result20}21 22define double @call_ldexp(double %a, i32 %b) nounwind {23; CHECK-LABEL: call_ldexp:24; CHECK: # %bb.0:25; CHECK-NEXT: mflr r026; CHECK-NEXT: stdu r1, -32(r1)27; CHECK-NEXT: extsw r4, r428; CHECK-NEXT: std r0, 48(r1)29; CHECK-NEXT: bl ldexp30; CHECK-NEXT: nop31; CHECK-NEXT: addi r1, r1, 3232; CHECK-NEXT: ld r0, 16(r1)33; CHECK-NEXT: mtlr r034; CHECK-NEXT: blr35 %result = call double @ldexp(double %a, i32 %b)36 ret double %result37}38 39define ppc_fp128 @call_ldexpl(ppc_fp128 %a, i32 %b) nounwind {40; CHECK-LABEL: call_ldexpl:41; CHECK: # %bb.0:42; CHECK-NEXT: mflr r043; CHECK-NEXT: stdu r1, -32(r1)44; CHECK-NEXT: clrldi r5, r5, 3245; CHECK-NEXT: std r0, 48(r1)46; CHECK-NEXT: bl ldexpl47; CHECK-NEXT: nop48; CHECK-NEXT: addi r1, r1, 3249; CHECK-NEXT: ld r0, 16(r1)50; CHECK-NEXT: mtlr r051; CHECK-NEXT: blr52 %result = call ppc_fp128 @ldexpl(ppc_fp128 %a, i32 %b)53 ret ppc_fp128 %result54}55 56declare float @ldexpf(float %a, i32 %b) #057declare double @ldexp(double %a, i32 %b) #058declare ppc_fp128 @ldexpl(ppc_fp128 %a, i32 %b) #059 60attributes #0 = { nounwind readonly }61