Skip to content

Commit 3498600

Browse files
authored
[AArch64] Predicate should be NE for CBNZW (#150287)
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).
1 parent 628cfe0 commit 3498600

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,8 +533,9 @@ bool AArch64InstrInfo::analyzeBranchPredicate(MachineBasicBlock &MBB,
533533

534534
MBP.LHS = LastInst->getOperand(0);
535535
MBP.RHS = MachineOperand::CreateImm(0);
536-
MBP.Predicate = LastOpc == AArch64::CBNZX ? MachineBranchPredicate::PRED_NE
537-
: MachineBranchPredicate::PRED_EQ;
536+
MBP.Predicate = (LastOpc == AArch64::CBNZX || LastOpc == AArch64::CBNZW)
537+
? MachineBranchPredicate::PRED_NE
538+
: MachineBranchPredicate::PRED_EQ;
538539
return false;
539540
}
540541

0 commit comments

Comments
 (0)