[llvm] [X86] SimplifyDemandedBitsForTargetNode - add X86ISD::BLENDI handling (PR #133102)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 26 09:08:46 PDT 2025
================
@@ -75,39 +75,15 @@ define i1 @movmskps_allof_bitcast_v4f64(<4 x double> %a0) {
}
;
-; TODO - Avoid sign extension ops when just extracting the sign bits.
+; Avoid sign extension ops when just extracting the sign bits.
;
define i32 @movmskpd_cmpgt_v4i64(<4 x i64> %a0) {
-; VTEST-AVX1-LABEL: movmskpd_cmpgt_v4i64:
-; VTEST-AVX1: # %bb.0:
-; VTEST-AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; VTEST-AVX1-NEXT: vpcmpgtq %xmm0, %xmm1, %xmm1
-; VTEST-AVX1-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]
-; VTEST-AVX1-NEXT: vmovmskpd %ymm0, %eax
-; VTEST-AVX1-NEXT: vzeroupper
-; VTEST-AVX1-NEXT: retq
-;
-; VTEST-AVX2-LABEL: movmskpd_cmpgt_v4i64:
-; VTEST-AVX2: # %bb.0:
-; VTEST-AVX2-NEXT: vmovmskpd %ymm0, %eax
-; VTEST-AVX2-NEXT: vzeroupper
-; VTEST-AVX2-NEXT: retq
-;
-; MOVMSK-AVX1-LABEL: movmskpd_cmpgt_v4i64:
-; MOVMSK-AVX1: # %bb.0:
-; MOVMSK-AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; MOVMSK-AVX1-NEXT: vpcmpgtq %xmm0, %xmm1, %xmm1
-; MOVMSK-AVX1-NEXT: vblendpd {{.*#+}} ymm0 = ymm1[0,1],ymm0[2,3]
-; MOVMSK-AVX1-NEXT: vmovmskpd %ymm0, %eax
-; MOVMSK-AVX1-NEXT: vzeroupper
-; MOVMSK-AVX1-NEXT: retq
-;
-; MOVMSK-AVX2-LABEL: movmskpd_cmpgt_v4i64:
-; MOVMSK-AVX2: # %bb.0:
-; MOVMSK-AVX2-NEXT: vmovmskpd %ymm0, %eax
-; MOVMSK-AVX2-NEXT: vzeroupper
-; MOVMSK-AVX2-NEXT: retq
+; CHECK-LABEL: movmskpd_cmpgt_v4i64:
+; CHECK: # %bb.0:
+; CHECK-NEXT: vmovmskpd %ymm0, %eax
+; CHECK-NEXT: vzeroupper
+; CHECK-NEXT: retq
%1 = icmp sgt <4 x i64> zeroinitializer, %a0
----------------
RKSimon wrote:
sgt - we're trying to splat the sign mask
https://github.com/llvm/llvm-project/pull/133102
More information about the llvm-commits
mailing list