1*9880d681SAndroid Build Coastguard Worker; RUN: llc -fp-contract=fast -O2 < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-i64:64-n32:64" 3*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64le-grtev4-linux-gnu" 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f 6*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: xsmaddmsp [[REG:[0-9]+]], [[REG]], {{[0-9]+}} 7*9880d681SAndroid Build Coastguard Workerdefine float @f(float %xf) #0 { 8*9880d681SAndroid Build Coastguard Worker %1 = fmul float %xf, %xf 9*9880d681SAndroid Build Coastguard Worker %2 = fmul float %1, 0x3F43FB0140000000 10*9880d681SAndroid Build Coastguard Worker %3 = fsub float 1.000000e+00, %2 11*9880d681SAndroid Build Coastguard Worker %4 = fmul float %1, %3 12*9880d681SAndroid Build Coastguard Worker %5 = fmul float %4, 0x3F461C5440000000 13*9880d681SAndroid Build Coastguard Worker %6 = fsub float 1.000000e+00, %5 14*9880d681SAndroid Build Coastguard Worker %7 = fmul float %1, %6 15*9880d681SAndroid Build Coastguard Worker %8 = fmul float %7, 0x3F4899C100000000 16*9880d681SAndroid Build Coastguard Worker %9 = fsub float 1.000000e+00, %8 17*9880d681SAndroid Build Coastguard Worker %10 = fmul float %1, %9 18*9880d681SAndroid Build Coastguard Worker %11 = fmul float %10, 0x3F4B894020000000 19*9880d681SAndroid Build Coastguard Worker %12 = fsub float 1.000000e+00, %11 20*9880d681SAndroid Build Coastguard Worker %13 = fmul float %1, %12 21*9880d681SAndroid Build Coastguard Worker %14 = fmul float %13, 0x3F4F07C200000000 22*9880d681SAndroid Build Coastguard Worker %15 = fsub float 1.000000e+00, %14 23*9880d681SAndroid Build Coastguard Worker %16 = fmul float %1, %15 24*9880d681SAndroid Build Coastguard Worker %17 = fmul float %16, 0x3F519E0120000000 25*9880d681SAndroid Build Coastguard Worker %18 = fsub float 1.000000e+00, %17 26*9880d681SAndroid Build Coastguard Worker %19 = fmul float %1, %18 27*9880d681SAndroid Build Coastguard Worker %20 = fmul float %19, 0x3F542D6620000000 28*9880d681SAndroid Build Coastguard Worker %21 = fsub float 1.000000e+00, %20 29*9880d681SAndroid Build Coastguard Worker %22 = fmul float %1, %21 30*9880d681SAndroid Build Coastguard Worker %23 = fmul float %22, 0x3F5756CAC0000000 31*9880d681SAndroid Build Coastguard Worker %24 = fsub float 1.000000e+00, %23 32*9880d681SAndroid Build Coastguard Worker %25 = fmul float %1, %24 33*9880d681SAndroid Build Coastguard Worker ret float %25 34*9880d681SAndroid Build Coastguard Worker} 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerattributes #0 = { norecurse nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pwr8" "target-features"="+altivec,+bpermd,+crypto,+direct-move,+extdiv,+power8-vector,+vsx,-qpx" "unsafe-fp-math"="false" "use-soft-float"="false" } 37