brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 680c99b Raw
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