add another testcase, explicitly check stuff works with G5 and G3 codegen on
authorChris Lattner <sabre@nondot.org>
Sun, 19 Mar 2006 04:45:11 +0000 (04:45 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 19 Mar 2006 04:45:11 +0000 (04:45 +0000)
PPC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26854 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Generic/vector.ll

index 92ded5f35b9c9ed9a89bd822211f6a070ae7f3c2..a015e6fd1c303143d88a783144a779cdff8d20db 100644 (file)
@@ -1,5 +1,7 @@
-; RUN: llvm-as < %s | llc
 ; Test that vectors are scalarized/lowered correctly.
+; RUN: llvm-as < %s | llc && 
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g3
 
 %f1 = type <1 x float>
 %f2 = type <2 x float>
@@ -76,3 +78,17 @@ void %test_variable_buildvector(float %F, %f4 *%S) {
   store %f4 %R, %f4 *%S
   ret void
 }
+
+;;; TEST IMPORTANT IDIOMS
+
+void %splat(%f4* %P, %f4* %Q, float %X) {
+        %tmp = insertelement %f4 undef, float %X, uint 0
+        %tmp2 = insertelement %f4 %tmp, float %X, uint 1
+        %tmp4 = insertelement %f4 %tmp2, float %X, uint 2
+        %tmp6 = insertelement %f4 %tmp4, float %X, uint 3
+       %q = load %f4* %Q
+       %R = add %f4 %q, %tmp6
+        store %f4 %R, %f4* %P
+        ret void
+}
+