1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 2; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \ 3; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names < %s | FileCheck %s 4 5define float @call_exp10f(float %a) { 6; CHECK-LABEL: call_exp10f: 7; CHECK: # %bb.0: 8; CHECK-NEXT: mflr r0 9; CHECK-NEXT: stdu r1, -32(r1) 10; CHECK-NEXT: std r0, 48(r1) 11; CHECK-NEXT: .cfi_def_cfa_offset 32 12; CHECK-NEXT: .cfi_offset lr, 16 13; CHECK-NEXT: bl exp10f 14; CHECK-NEXT: nop 15; CHECK-NEXT: addi r1, r1, 32 16; CHECK-NEXT: ld r0, 16(r1) 17; CHECK-NEXT: mtlr r0 18; CHECK-NEXT: blr 19 %result = call float @exp10f(float %a) 20 ret float %result 21} 22 23define double @call_exp10(double %a) { 24; CHECK-LABEL: call_exp10: 25; CHECK: # %bb.0: 26; CHECK-NEXT: mflr r0 27; CHECK-NEXT: stdu r1, -32(r1) 28; CHECK-NEXT: std r0, 48(r1) 29; CHECK-NEXT: .cfi_def_cfa_offset 32 30; CHECK-NEXT: .cfi_offset lr, 16 31; CHECK-NEXT: bl exp10 32; CHECK-NEXT: nop 33; CHECK-NEXT: addi r1, r1, 32 34; CHECK-NEXT: ld r0, 16(r1) 35; CHECK-NEXT: mtlr r0 36; CHECK-NEXT: blr 37 %result = call double @exp10(double %a) 38 ret double %result 39} 40 41define ppc_fp128 @call_exp10l(ppc_fp128 %a) { 42; CHECK-LABEL: call_exp10l: 43; CHECK: # %bb.0: 44; CHECK-NEXT: mflr r0 45; CHECK-NEXT: stdu r1, -32(r1) 46; CHECK-NEXT: std r0, 48(r1) 47; CHECK-NEXT: .cfi_def_cfa_offset 32 48; CHECK-NEXT: .cfi_offset lr, 16 49; CHECK-NEXT: bl exp10l 50; CHECK-NEXT: nop 51; CHECK-NEXT: addi r1, r1, 32 52; CHECK-NEXT: ld r0, 16(r1) 53; CHECK-NEXT: mtlr r0 54; CHECK-NEXT: blr 55 %result = call ppc_fp128 @exp10l(ppc_fp128 %a) 56 ret ppc_fp128 %result 57} 58 59declare float @exp10f(float %a) #0 60declare double @exp10(double %a) #0 61declare ppc_fp128 @exp10l(ppc_fp128 %a) #0 62 63attributes #0 = { nounwind readonly } 64