[PATCH] D136447: [ARM] Fix vector ule zero lowering

Aaron Puchert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 2 08:57:25 PDT 2022


aaronpuchert added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:15209-15218
   // vcmp X, 0, cc -> vcmpz X, cc
   if (isZeroVector(Op1))
     return DAG.getNode(ARMISD::VCMPZ, dl, VT, Op0, N->getOperand(2));
 
   unsigned SwappedCond = getSwappedCondition(Cond);
   if (isValidMVECond(SwappedCond, VT.isFloatingPoint())) {
     // vcmp 0, X, cc -> vcmpz X, reversed(cc)
----------------
dmgreen wrote:
> aaronpuchert wrote:
> > Does something need to be done here?
> Hmm. Don't think so. What kind of thing do you mean?
It seems to me that we're also creating `ARMISD::VCMPZ` nodes here, and it doesn't seem obvious to me that we're excluding the problematic `ARMCC::CondCodes`. But I'm probably missing something, just wanted to make sure you're aware of this function.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136447/new/

https://reviews.llvm.org/D136447



More information about the llvm-commits mailing list