diff options
author | Dan Gohman <djg@cray.com> | 2007-07-18 16:29:46 +0000 |
---|---|---|
committer | Dan Gohman <djg@cray.com> | 2007-07-18 16:29:46 +0000 |
commit | f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc (patch) | |
tree | ebb79ea1ee5e3bc1fdf38541a811a8b804f0679a /test/CodeGen/PowerPC/vec_constants.ll | |
download | external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.zip external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.gz external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.bz2 |
It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/vec_constants.ll')
-rw-r--r-- | test/CodeGen/PowerPC/vec_constants.ll | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/vec_constants.ll b/test/CodeGen/PowerPC/vec_constants.ll new file mode 100644 index 0000000..507d2d9 --- /dev/null +++ b/test/CodeGen/PowerPC/vec_constants.ll @@ -0,0 +1,47 @@ +; RUN: llvm-upgrade < %s | llvm-as | 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 +} + +<4 x int> %test_30() { + ret <4 x int> <int 30, int 30, int 30, int 30> +} + +<4 x int> %test_29() { + ret <4 x int> <int 29, int 29, int 29, int 29> +} + +<8 x short> %test_n30() { + ret <8 x short> <short -30, short -30, short -30, short -30, + short -30, short -30, short -30, short -30> +} + +<16 x sbyte> %test_n104() { + ret <16 x sbyte> <sbyte -104, sbyte -104, sbyte -104, sbyte -104, + sbyte -104, sbyte -104, sbyte -104, sbyte -104, + sbyte -104, sbyte -104, sbyte -104, sbyte -104, + sbyte -104, sbyte -104, sbyte -104, sbyte -104> +} + +<4 x int> %test_vsldoi() { + ret <4 x int> <int 512, int 512, int 512, int 512> +} + +<4 x int> %test_rol() { + ret <4 x int> <int -11534337, int -11534337, int -11534337, int -11534337> +} + |