aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-12 19:04:27 +0000
committerChris Lattner <sabre@nondot.org>2006-04-12 19:04:27 +0000
commit324047847e2aaf0e6e58bdbc383689a0cc985a45 (patch)
tree4a97c419dcc57ed275484a15a7a8eecc1aa4a995
parentbbd5e430f1cbf6346307b093d9c77f3b664595d5 (diff)
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27622 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/PowerPC/vec_constants.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/vec_constants.ll b/test/CodeGen/PowerPC/vec_constants.ll
new file mode 100644
index 0000000000..1ec5fde3a4
--- /dev/null
+++ b/test/CodeGen/PowerPC/vec_constants.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | not grep CPI
+
+
+; Tests spltw(0x80000000) and spltw(0x7FFFFFFF).
+void %test1(<4 x int>* %P1, <4 x int>* %P2, <4 x float>* %P3) {
+ %tmp = load <4 x int>* %P1
+ %tmp4 = and <4 x int> %tmp, < int -2147483648, int -2147483648, int -2147483648, int -2147483648 >
+ store <4 x int> %tmp4, <4 x int>* %P1
+ %tmp7 = load <4 x int>* %P2
+ %tmp9 = and <4 x int> %tmp7, < int 2147483647, int 2147483647, int 2147483647, int 2147483647 >
+ store <4 x int> %tmp9, <4 x int>* %P2
+ %tmp = load <4 x float>* %P3
+ %tmp11 = cast <4 x float> %tmp to <4 x int>
+ %tmp12 = and <4 x int> %tmp11, < int 2147483647, int 2147483647, int 2147483647, int 2147483647 >
+ %tmp13 = cast <4 x int> %tmp12 to <4 x float>
+ store <4 x float> %tmp13, <4 x float>* %P3
+ ret void
+}
+