| ; Test that a scalar FP constant can be reused from a vector splat constant |
| ; of the same value. |
| ; |
| ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s |
| |
| define void @fun() { |
| ; CHECK-LABEL: fun: |
| ; CHECK: vgmg %v0, 2, 10 |
| ; CHECK-NOT: vgmg %v0, 2, 10 |
| |
| %tmp = fadd <2 x double> zeroinitializer, <double 1.000000e+00, double 1.000000e+00> |
| %tmp1 = fmul <2 x double> %tmp, <double 5.000000e-01, double 5.000000e-01> |
| store <2 x double> %tmp1, ptr undef |
| %tmp2 = load double, ptr undef |
| %tmp3 = fmul double %tmp2, 5.000000e-01 |
| store double %tmp3, ptr undef |
| ret void |
| } |