[llvm] [RISCV] Add changes to have better coverage for qc.insb and qc.insbi (PR #154135)
Sam Elliott via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 1 23:22:53 PDT 2025
================
@@ -16112,6 +16112,13 @@ static SDValue combineXorToBitfieldInsert(SDNode *N, SelectionDAG &DAG,
m_Value(Inserted))))))
return SDValue();
+ KnownBits Known = DAG.computeKnownBits(Inserted);
+
+ // Check if all zero bits in CMask are also zero in Inserted
+ APInt CMaskZeroBits = ~CMask;
+ if (!CMaskZeroBits.isSubsetOf(Known.Zero))
+ return SDValue();
----------------
lenary wrote:
Computing known bits is much more difficult than e.g. looking at the value type or checking if something is a shifted mask. Can you re-order this check to after the other two checks for efficiency?
https://github.com/llvm/llvm-project/pull/154135
More information about the llvm-commits
mailing list