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
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
Reference
View in RISC-V Unprivileged ISA Specification ↗
RISC-V ISA Manual
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);