[llvm] [RISCV] Teach getIntImmCostInst about (X & -(1 << C1) & 0xffffffff) == C2 << C1 (PR #160163)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 23 22:40:07 PDT 2025


================
@@ -223,6 +259,9 @@ InstructionCost RISCVTTIImpl::getIntImmCostInst(unsigned Opcode, unsigned Idx,
     if (Inst && Idx == 1 && Imm.getBitWidth() <= ST->getXLen() &&
         canUseShiftPair(Inst, Imm))
       return TTI::TCC_Free;
+    if (Inst && Idx == 1 && Imm.getBitWidth() == 64 &&
+        canUseSRAIWCmp(Inst, Imm))
----------------
topperc wrote:

```suggestion
        canUseShiftCmp(Inst, Imm))
```

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


More information about the llvm-commits mailing list