[llvm] [ARM] hasAndNot in ARM supports vectors (PR #156488)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 09:13:55 PDT 2025
================
@@ -17733,6 +17733,18 @@ SDValue ARMTargetLowering::PerformIntrinsicCombine(SDNode *N,
return SDValue();
}
+bool ARMTargetLowering::hasAndNot(SDValue Y) const {
+ EVT VT = Y.getValueType();
+
+ if (!VT.isVector())
+ return hasAndNotCompare(Y);
+
+ if (Subtarget->hasNEON() || Subtarget->hasMVEIntegerOps())
+ return VT.getFixedSizeInBits() >= 64; // vector 'bic'
----------------
davemgreen wrote:
MVE only has 128bit vectors, although other types will be legalized to them.
Can you add some tests where this is useful for Neon too, if we are to enable it?
https://github.com/llvm/llvm-project/pull/156488
More information about the llvm-commits
mailing list