[llvm] r333573 - [X86] Update the fast-isel tests for _mm_rcp_ss, _mm_rsqrt_ss, and _mm_sqrt_ss to match clang codegen after r333572.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed May 30 11:30:44 PDT 2018


Author: ctopper
Date: Wed May 30 11:30:44 2018
New Revision: 333573

URL: http://llvm.org/viewvc/llvm-project?rev=333573&view=rev
Log:
[X86] Update the fast-isel tests for _mm_rcp_ss, _mm_rsqrt_ss, and _mm_sqrt_ss to match clang codegen after r333572.

Modified:
    llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll

Modified: llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll?rev=333573&r1=333572&r2=333573&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse-intrinsics-fast-isel.ll Wed May 30 11:30:44 2018
@@ -1198,15 +1198,7 @@ define <4 x float> @test_mm_rcp_ss(<4 x
 ; X64-NEXT:    rcpss %xmm0, %xmm0
 ; X64-NEXT:    retq
   %rcp = call <4 x float> @llvm.x86.sse.rcp.ss(<4 x float> %a0)
-  %ext0 = extractelement <4 x float> %rcp, i32 0
-  %ins0 = insertelement <4 x float> undef, float %ext0, i32 0
-  %ext1 = extractelement <4 x float> %a0, i32 1
-  %ins1 = insertelement <4 x float> %ins0, float %ext1, i32 1
-  %ext2 = extractelement <4 x float> %a0, i32 2
-  %ins2 = insertelement <4 x float> %ins1, float %ext2, i32 2
-  %ext3 = extractelement <4 x float> %a0, i32 3
-  %ins3 = insertelement <4 x float> %ins2, float %ext3, i32 3
-  ret <4 x float> %ins3
+  ret <4 x float> %rcp
 }
 declare <4 x float> @llvm.x86.sse.rcp.ss(<4 x float>) nounwind readnone
 
@@ -1236,15 +1228,7 @@ define <4 x float> @test_mm_rsqrt_ss(<4
 ; X64-NEXT:    rsqrtss %xmm0, %xmm0
 ; X64-NEXT:    retq
   %rsqrt = call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> %a0)
-  %ext0 = extractelement <4 x float> %rsqrt, i32 0
-  %ins0 = insertelement <4 x float> undef, float %ext0, i32 0
-  %ext1 = extractelement <4 x float> %a0, i32 1
-  %ins1 = insertelement <4 x float> %ins0, float %ext1, i32 1
-  %ext2 = extractelement <4 x float> %a0, i32 2
-  %ins2 = insertelement <4 x float> %ins1, float %ext2, i32 2
-  %ext3 = extractelement <4 x float> %a0, i32 3
-  %ins3 = insertelement <4 x float> %ins2, float %ext3, i32 3
-  ret <4 x float> %ins3
+  ret <4 x float> %rsqrt
 }
 declare <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float>) nounwind readnone
 
@@ -1589,15 +1573,7 @@ define <4 x float> @test_mm_sqrt_ss(<4 x
 ; X64-NEXT:    sqrtss %xmm0, %xmm0
 ; X64-NEXT:    retq
   %sqrt = call <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float> %a0)
-  %ext0 = extractelement <4 x float> %sqrt, i32 0
-  %ins0 = insertelement <4 x float> undef, float %ext0, i32 0
-  %ext1 = extractelement <4 x float> %a0, i32 1
-  %ins1 = insertelement <4 x float> %ins0, float %ext1, i32 1
-  %ext2 = extractelement <4 x float> %a0, i32 2
-  %ins2 = insertelement <4 x float> %ins1, float %ext2, i32 2
-  %ext3 = extractelement <4 x float> %a0, i32 3
-  %ins3 = insertelement <4 x float> %ins2, float %ext3, i32 3
-  ret <4 x float> %ins3
+  ret <4 x float> %sqrt
 }
 declare <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float>) nounwind readnone
 




More information about the llvm-commits mailing list