diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-09-08 12:36:39 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-09-08 12:36:39 +0000 |
commit | a01ee07a19fd92c33ae8af36c24938c3aedc20eb (patch) | |
tree | d6f20cca01036847fa194e9eba32c567f694b391 /llvm/test | |
parent | 16853bb00f37f1093049be7d2996f3f0f077e64f (diff) | |
download | bcm5719-llvm-a01ee07a19fd92c33ae8af36c24938c3aedc20eb.tar.gz bcm5719-llvm-a01ee07a19fd92c33ae8af36c24938c3aedc20eb.zip |
[DAGCombiner] Enable AND combines of splatted constant vectors
Allow AND combines to use a vector splatted constant as well as a constant scalar.
Preliminary part of D24253.
llvm-svn: 280926
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/combine-and.ll | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/combine-and.ll b/llvm/test/CodeGen/X86/combine-and.ll index acc79fb06b4..42f12fd6594 100644 --- a/llvm/test/CodeGen/X86/combine-and.ll +++ b/llvm/test/CodeGen/X86/combine-and.ll @@ -186,8 +186,7 @@ define <4 x i32> @test17(<4 x i32> %A, <4 x i32> %B) { define <2 x i64> @and_or_v2i64(<2 x i64> %a0) { ; CHECK-LABEL: and_or_v2i64: ; CHECK: # BB#0: -; CHECK-NEXT: orps {{.*}}(%rip), %xmm0 -; CHECK-NEXT: andps {{.*}}(%rip), %xmm0 +; CHECK-NEXT: movaps {{.*#+}} xmm0 = [8,8] ; CHECK-NEXT: retq %1 = or <2 x i64> %a0, <i64 255, i64 255> %2 = and <2 x i64> %1, <i64 8, i64 8> @@ -197,8 +196,7 @@ define <2 x i64> @and_or_v2i64(<2 x i64> %a0) { define <4 x i32> @and_or_v4i32(<4 x i32> %a0) { ; CHECK-LABEL: and_or_v4i32: ; CHECK: # BB#0: -; CHECK-NEXT: orps {{.*}}(%rip), %xmm0 -; CHECK-NEXT: andps {{.*}}(%rip), %xmm0 +; CHECK-NEXT: movaps {{.*#+}} xmm0 = [3,3,3,3] ; CHECK-NEXT: retq %1 = or <4 x i32> %a0, <i32 15, i32 15, i32 15, i32 15> %2 = and <4 x i32> %1, <i32 3, i32 3, i32 3, i32 3> |