aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/SwizzleShuff.ll
diff options
context:
space:
mode:
authorNadav Rotem <nadav.rotem@intel.com>2012-04-03 07:39:36 +0000
committerNadav Rotem <nadav.rotem@intel.com>2012-04-03 07:39:36 +0000
commit43b32e0cff08a5bcc20797639acce07dbe2f3dff (patch)
treec857bec01005fcf9569bc65fe01d13d1c5ac510e /test/CodeGen/X86/SwizzleShuff.ll
parent9cd5e7a47836a6be3d2c274a5b6b019aaad106ce (diff)
downloadexternal_llvm-43b32e0cff08a5bcc20797639acce07dbe2f3dff.zip
external_llvm-43b32e0cff08a5bcc20797639acce07dbe2f3dff.tar.gz
external_llvm-43b32e0cff08a5bcc20797639acce07dbe2f3dff.tar.bz2
Add an additional testcase which checks ops with multiple users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153939 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/SwizzleShuff.ll')
-rw-r--r--test/CodeGen/X86/SwizzleShuff.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/X86/SwizzleShuff.ll b/test/CodeGen/X86/SwizzleShuff.ll
index 224556d..c60d9b8 100644
--- a/test/CodeGen/X86/SwizzleShuff.ll
+++ b/test/CodeGen/X86/SwizzleShuff.ll
@@ -29,3 +29,15 @@ define <4 x i32> @multi_use_swizzle (<4 x i32>* %pA, <4 x i32>* %pB) {
%R = xor <4 x i32> %S1, %S2
ret <4 x i32> %R
}
+
+; CHECK: pull_bitcast2
+; CHECK: xorl
+; CHECK: ret
+define <4 x i8> @pull_bitcast2 (<4 x i8>* %pA, <4 x i8>* %pB, <4 x i8>* %pC) {
+ %A = load <4 x i8>* %pA
+ store <4 x i8> %A, <4 x i8>* %pC
+ %B = load <4 x i8>* %pB
+ %C = xor <4 x i8> %A, %B
+ store <4 x i8> %C, <4 x i8>* %pA
+ ret <4 x i8> %C
+}