[llvm] [AArch64][SVE2p1] Remove redundant PTESTs when predicate is a WHILEcc_x2 (PR #156478)

Kerry McLaughlin via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 5 02:01:31 PDT 2025


================
@@ -20001,13 +20001,21 @@ static bool isPredicateCCSettingOp(SDValue N) {
       (N.getOpcode() == ISD::GET_ACTIVE_LANE_MASK) ||
       (N.getOpcode() == ISD::INTRINSIC_WO_CHAIN &&
        (N.getConstantOperandVal(0) == Intrinsic::aarch64_sve_whilege ||
+        N.getConstantOperandVal(0) == Intrinsic::aarch64_sve_whilege_x2 ||
----------------
kmclaughlin-arm wrote:

I've changed `performFirstTrueTestVectorCombine` as suggested and added some tests where the ptest shouldn't be removed as it's using the second result.

https://github.com/llvm/llvm-project/pull/156478


More information about the llvm-commits mailing list