BNE

Branch if Not Equal

BNE rs1, rs2, offset

Take the branch if registers rs1 and rs2 are not equal.

Encoding

Binary Layout
bimm12hi
31:25
rs2
24:20
rs1
19:15
001
14:12
bimm12lo
11:7
1100011
6:0
 
Format B-Type
Opcode 0x00001063
Extension RV32I

Operands

  • rs1
    Source register 1 (integer)
  • rs2
    Source register 2 (integer)
  • offset
    PC-relative offset

Example

BNE x5, x6, loop

// Jump to 'loop' if x5 != x6.

Related

Across architectures

Compare and Branch : how x86, ARM, RISC-V, and PowerISA each do this.

More in RV32I

Description

BNE takes the branch if rs1 is not equal to rs2. The branch target is the PC of the branch plus the sign-extended B-immediate within a ±4 KiB range.

Operation

if (R[rs1] != R[rs2]) PC += sext(offset);