From c0f2e306f2388a0ad1f10e4e9cc8157121d4f4e5 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Tue, 17 Jul 2018 20:16:15 +0000 Subject: [PATCH] [X86] Add test case for missed opportunity to use MOVLPS on the SSE1 only targets. llvm-svn: 337319 --- llvm/test/CodeGen/X86/vector-shuffle-sse1.ll | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll b/llvm/test/CodeGen/X86/vector-shuffle-sse1.ll index 83ae1e6..5f8c21b 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> 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> + ret <4 x float> %shuffle +} -- 2.7.4