[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / fma-mutate-duplicate-vreg.ll
bloba336fc796ca525eebab8d353bc1bd31576c39981
1 ; RUN: llc -verify-machineinstrs -fp-contract=fast -O2 < %s | FileCheck %s
2 target datalayout = "e-m:e-i64:64-n32:64"
3 target triple = "powerpc64le-grtev4-linux-gnu"
5 ; CHECK-LABEL: f
6 ; CHECK-NOT: xsmaddmsp [[REG:[0-9]+]], [[REG]], {{[0-9]+}}
7 define float @f(float %xf) #0 {
8   %1 = fmul float %xf, %xf
9   %2 = fmul float %1, 0x3F43FB0140000000
10   %3 = fsub float 1.000000e+00, %2
11   %4 = fmul float %1, %3
12   %5 = fmul float %4, 0x3F461C5440000000
13   %6 = fsub float 1.000000e+00, %5
14   %7 = fmul float %1, %6
15   %8 = fmul float %7, 0x3F4899C100000000
16   %9 = fsub float 1.000000e+00, %8
17   %10 = fmul float %1, %9
18   %11 = fmul float %10, 0x3F4B894020000000
19   %12 = fsub float 1.000000e+00, %11
20   %13 = fmul float %1, %12
21   %14 = fmul float %13, 0x3F4F07C200000000
22   %15 = fsub float 1.000000e+00, %14
23   %16 = fmul float %1, %15
24   %17 = fmul float %16, 0x3F519E0120000000
25   %18 = fsub float 1.000000e+00, %17
26   %19 = fmul float %1, %18
27   %20 = fmul float %19, 0x3F542D6620000000
28   %21 = fsub float 1.000000e+00, %20
29   %22 = fmul float %1, %21
30   %23 = fmul float %22, 0x3F5756CAC0000000
31   %24 = fsub float 1.000000e+00, %23
32   %25 = fmul float %1, %24
33   ret float %25
36 attributes #0 = { norecurse nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "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" "unsafe-fp-math"="false" "use-soft-float"="false" }