[llvm] [AArch64] Predicate should be NE for CBNZW (PR #150287)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 23 11:37:46 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-aarch64
Author: AZero13 (AZero13)
<details>
<summary>Changes</summary>
Unable to reproduce yet, but this definitely seems wrong. Better safe than sorry.
No effect on codegen as far as I know (because I have not been able to repro).
---
Full diff: https://github.com/llvm/llvm-project/pull/150287.diff
1 Files Affected:
- (modified) llvm/lib/Target/AArch64/AArch64InstrInfo.cpp (+3-2)
``````````diff
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
index 996b0edd24200..8685d7a04ac9c 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
@@ -531,8 +531,9 @@ bool AArch64InstrInfo::analyzeBranchPredicate(MachineBasicBlock &MBB,
MBP.LHS = LastInst->getOperand(0);
MBP.RHS = MachineOperand::CreateImm(0);
- MBP.Predicate = LastOpc == AArch64::CBNZX ? MachineBranchPredicate::PRED_NE
- : MachineBranchPredicate::PRED_EQ;
+ MBP.Predicate = (LastOpc == AArch64::CBNZX || LastOpc == AArch64::CBNZW)
+ ? MachineBranchPredicate::PRED_NE
+ : MachineBranchPredicate::PRED_EQ;
return false;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/150287
More information about the llvm-commits
mailing list