diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-07-17 20:16:15 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-07-17 20:16:15 +0000 |
| commit | c0f2e306f2388a0ad1f10e4e9cc8157121d4f4e5 (patch) | |
| tree | f13434473808a8a414edd04247768a7f0f036e5b /llvm/test | |
| parent | 5391bb62fb51386c5d0749fb87dc3f1011030b94 (diff) | |
| download | bcm5719-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.ll | 12 |
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 +} |

