[llvm] [X86] Improve lowering of i32/i64 minmax reductions (PR #197578)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu May 14 01:46:23 PDT 2026
================
@@ -70,62 +70,37 @@ define i64 @test_v2i64(<2 x i64> %a0) nounwind {
; X86-SSE41-NEXT: pextrd $1, %xmm2, %edx
; X86-SSE41-NEXT: retl
;
-; X64-SSE41-LABEL: test_v2i64:
-; X64-SSE41: # %bb.0:
-; X64-SSE41-NEXT: movdqa %xmm0, %xmm1
-; X64-SSE41-NEXT: movdqa {{.*#+}} xmm0 = [9223372039002259456,9223372039002259456]
-; X64-SSE41-NEXT: movdqa %xmm1, %xmm2
-; X64-SSE41-NEXT: pxor %xmm0, %xmm2
-; X64-SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,2,3]
-; X64-SSE41-NEXT: pxor %xmm3, %xmm0
-; X64-SSE41-NEXT: movdqa %xmm0, %xmm4
-; X64-SSE41-NEXT: pcmpgtd %xmm2, %xmm4
-; X64-SSE41-NEXT: pmovsxdq %xmm4, %xmm5
-; X64-SSE41-NEXT: pcmpeqd %xmm2, %xmm0
-; X64-SSE41-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3]
-; X64-SSE41-NEXT: pand %xmm5, %xmm2
-; X64-SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm4[1,1,3,3]
-; X64-SSE41-NEXT: por %xmm2, %xmm0
-; X64-SSE41-NEXT: blendvpd %xmm0, %xmm1, %xmm3
-; X64-SSE41-NEXT: movq %xmm3, %rax
-; X64-SSE41-NEXT: retq
+; X64-SSE4-LABEL: test_v2i64:
----------------
RKSimon wrote:
@phoebewang Pushed the change now - can you confirm you're still happy with it?
https://github.com/llvm/llvm-project/pull/197578
More information about the llvm-commits
mailing list