From def1c1f4c532040fa2642a4790ac966ba71a0d37 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Fri, 20 Oct 2017 19:29:01 +0000 Subject: [PATCH] [X86][SSE] Add missing _mm_extract_ps fast-isel test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316226 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/sse41-intrinsics-fast-isel.ll | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll b/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll index f106f7ec5cc..acf91cbeea1 100644 --- a/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll +++ b/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll @@ -468,7 +468,22 @@ define i64 @test_mm_extract_epi64(<2 x i64> %a0) { ret i64 %ext } -; TODO test_mm_extract_ps +define i32 @test_mm_extract_ps(<4 x float> %a0) { +; X32-LABEL: test_mm_extract_ps: +; X32: # BB#0: +; X32-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3] +; X32-NEXT: movd %xmm0, %eax +; X32-NEXT: retl +; +; X64-LABEL: test_mm_extract_ps: +; X64: # BB#0: +; X64-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3] +; X64-NEXT: movd %xmm0, %eax +; X64-NEXT: retq + %ext = extractelement <4 x float> %a0, i32 1 + %bc = bitcast float %ext to i32 + ret i32 %bc +} define <2 x double> @test_mm_floor_pd(<2 x double> %a0) { ; X32-LABEL: test_mm_floor_pd: -- 2.50.1