[PATCH] D141607: [RISCV] Optimize (brcond (seteq (and X, (1 << C)-1), 0))

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 12 11:02:42 PST 2023


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:1547
+    if ((isPowerOf2_64(Mask) ||
+         (isShiftedMask_64(Mask) && TrailingZeros == 0)) &&
+        !isInt<12>(Mask)) {
----------------
is `isShiftedMask_64(Mask) && TrailingZeros == 0` the same as `isMask_64(Mask)`


================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:1554
+      } else
+        ShAmt = Subtarget.getXLen() - (64 - countLeadingZeros(Mask));
+
----------------
I think you can use LHS.getValueSizeInBits() instead of Subtarget.getXLen().


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D141607



More information about the llvm-commits mailing list