diff options
Diffstat (limited to 'llvm/test/CodeGen/SystemZ/vec-const-19.ll')
-rw-r--r-- | llvm/test/CodeGen/SystemZ/vec-const-19.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/SystemZ/vec-const-19.ll b/llvm/test/CodeGen/SystemZ/vec-const-19.ll new file mode 100644 index 00000000000..e48bfe9250d --- /dev/null +++ b/llvm/test/CodeGen/SystemZ/vec-const-19.ll @@ -0,0 +1,18 @@ +; 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, <2 x double>* undef + %tmp2 = load double, double* undef + %tmp3 = fmul double %tmp2, 5.000000e-01 + store double %tmp3, double* undef + ret void +} |