diff --git a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp index eb2e4172e0235..b8af6a2be4683 100644 --- a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp @@ -1785,7 +1785,7 @@ bool AArch64InstructionSelector::selectCompareBranch( MIB.buildInstr(AArch64::ANDSWri, {LLT::scalar(32)}, {CondReg}).addImm(1); constrainSelectedInstRegOperands(*TstMI, TII, TRI, RBI); auto Bcc = MIB.buildInstr(AArch64::Bcc) - .addImm(AArch64CC::EQ) + .addImm(AArch64CC::NE) .addMBB(I.getOperand(1).getMBB()); I.eraseFromParent(); return constrainSelectedInstRegOperands(*Bcc, TII, TRI, RBI); diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir b/llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir index 3f5045f3cb899..a158f2466dce7 100644 --- a/llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir +++ b/llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir @@ -21,7 +21,7 @@ body: | ; CHECK: successors: %bb.0(0x40000000), %bb.1(0x40000000) ; CHECK: %reg:gpr32 = COPY $w0 ; CHECK: [[ANDSWri:%[0-9]+]]:gpr32 = ANDSWri %reg, 1, implicit-def $nzcv - ; CHECK: Bcc 0, %bb.1, implicit $nzcv + ; CHECK: Bcc 1, %bb.1, implicit $nzcv ; CHECK: B %bb.0 ; CHECK: bb.1: ; CHECK: RET_ReallyLR