[llvm] [AArch64] Adjust comparison constant if adjusting it means less instructions (PR #151024)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 11 02:05:52 PDT 2025
================
@@ -656,14 +656,13 @@ tryAdjustICmpImmAndPred(Register RHS, CmpInst::Predicate P,
if (isLegalArithImmed(C))
return {{C, P}};
- auto IsMaterializableInSingleInstruction = [=](uint64_t Imm) {
+ auto NumberOfInstrToLoadImm = [=](uint64_t Imm) {
SmallVector<AArch64_IMM::ImmInsnModel> Insn;
AArch64_IMM::expandMOVImm(Imm, 32, Insn);
- return Insn.size() == 1;
+ return Insn.size();
};
- if (!IsMaterializableInSingleInstruction(OriginalC) &&
- IsMaterializableInSingleInstruction(C))
+ if (NumberOfInstrToLoadImm(OriginalC) > NumberOfInstrToLoadImm(C))
----------------
davemgreen wrote:
Do you have any tests where gisel changes? The difference between 2 and 3?
https://github.com/llvm/llvm-project/pull/151024
More information about the llvm-commits
mailing list