summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-07-17 20:16:15 +0000
committerCraig Topper <craig.topper@intel.com>2018-07-17 20:16:15 +0000
commitc0f2e306f2388a0ad1f10e4e9cc8157121d4f4e5 (patch)
treef13434473808a8a414edd04247768a7f0f036e5b /llvm/test
parent5391bb62fb51386c5d0749fb87dc3f1011030b94 (diff)
downloadbcm5719-llvm-c0f2e306f2388a0ad1f10e4e9cc8157121d4f4e5.tar.gz
bcm5719-llvm-c0f2e306f2388a0ad1f10e4e9cc8157121d4f4e5.zip
[X86] Add test case for missed opportunity to use MOVLPS on the SSE1 only targets.
llvm-svn: 337319
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/vector-shuffle-sse1.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll b/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll
index 83ae1e62747..5f8c21bd852 100644
--- a/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll
+++ b/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll
@@ -294,3 +294,15 @@ define <4 x float> @shuffle_mem_v4f32_6723(<4 x float> %a, <4 x float>* %pb) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 6, i32 7, i32 2, i32 3>
ret <4 x float> %shuffle
}
+
+define <4 x float> @shuffle_mem_v4f32_4523(<4 x float> %a, <4 x float>* %pb) {
+; SSE1-LABEL: shuffle_mem_v4f32_4523:
+; SSE1: # %bb.0:
+; SSE1-NEXT: movaps (%rdi), %xmm1
+; SSE1-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]
+; SSE1-NEXT: movaps %xmm1, %xmm0
+; SSE1-NEXT: retq
+ %b = load <4 x float>, <4 x float>* %pb, align 16
+ %shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 4, i32 5, i32 2, i32 3>
+ ret <4 x float> %shuffle
+}
OpenPOWER on IntegriCloud