Index: lib/Target/Mips/Disassembler/MipsDisassembler.cpp =================================================================== --- lib/Target/Mips/Disassembler/MipsDisassembler.cpp +++ lib/Target/Mips/Disassembler/MipsDisassembler.cpp @@ -1291,7 +1291,7 @@ unsigned Offset, uint64_t Address, const void *Decoder) { - int32_t BranchOffset = (SignExtend32<16>(Offset) * 4) + 4; + int32_t BranchOffset = SignExtend32<16>(Offset) * 4; Inst.addOperand(MCOperand::CreateImm(BranchOffset)); return MCDisassembler::Success; } Index: test/MC/Disassembler/Mips/mips32.txt =================================================================== --- test/MC/Disassembler/Mips/mips32.txt +++ test/MC/Disassembler/Mips/mips32.txt @@ -31,37 +31,37 @@ 0x30 0xc9 0x45 0x67 # CHECK: b 1332 -0x10 0x00 0x01 0x4c +0x10 0x00 0x01 0x4d # CHECK: bc1f 1332 -0x45 0x00 0x01 0x4c +0x45 0x00 0x01 0x4d # CHECK: bc1f $fcc7, 1332 -0x45 0x1c 0x01 0x4c +0x45 0x1c 0x01 0x4d # CHECK: bc1t 1332 -0x45 0x01 0x01 0x4c +0x45 0x01 0x01 0x4d # CHECK: bc1t $fcc7, 1332 -0x45 0x1d 0x01 0x4c +0x45 0x1d 0x01 0x4d # CHECK: beq $9, $6, 1332 -0x11 0x26 0x01 0x4c +0x11 0x26 0x01 0x4d # CHECK: bgez $6, 1332 -0x04 0xc1 0x01 0x4c +0x04 0xc1 0x01 0x4d # CHECK: bgezal $6, 1332 -0x04 0xd1 0x01 0x4c +0x04 0xd1 0x01 0x4d # CHECK: bgtz $6, 1332 -0x1c 0xc0 0x01 0x4c +0x1c 0xc0 0x01 0x4d # CHECK: blez $6, 1332 -0x18 0xc0 0x01 0x4c +0x18 0xc0 0x01 0x4d # CHECK: bne $9, $6, 1332 -0x15 0x26 0x01 0x4c +0x15 0x26 0x01 0x4d # CHECK: c.eq.d $f12, $f14 0x46 0x2e 0x60 0x32 Index: test/MC/Disassembler/Mips/mips32_le.txt =================================================================== --- test/MC/Disassembler/Mips/mips32_le.txt +++ test/MC/Disassembler/Mips/mips32_le.txt @@ -30,37 +30,37 @@ 0x67 0x45 0xc9 0x30 # CHECK: b 1332 -0x4c 0x01 0x00 0x10 +0x4d 0x01 0x00 0x10 # CHECK: bc1f 1332 -0x4c 0x01 0x00 0x45 +0x4d 0x01 0x00 0x45 # CHECK: bc1f $fcc7, 1332 -0x4c 0x01 0x1c 0x45 +0x4d 0x01 0x1c 0x45 # CHECK: bc1t 1332 -0x4c 0x01 0x01 0x45 +0x4d 0x01 0x01 0x45 # CHECK: bc1t $fcc7, 1332 -0x4c 0x01 0x1d 0x45 +0x4d 0x01 0x1d 0x45 # CHECK: beq $9, $6, 1332 -0x4c 0x01 0x26 0x11 +0x4d 0x01 0x26 0x11 # CHECK: bgez $6, 1332 -0x4c 0x01 0xc1 0x04 +0x4d 0x01 0xc1 0x04 # CHECK: bgezal $6, 1332 -0x4c 0x01 0xd1 0x04 +0x4d 0x01 0xd1 0x04 # CHECK: bgtz $6, 1332 -0x4c 0x01 0xc0 0x1c +0x4d 0x01 0xc0 0x1c # CHECK: blez $6, 1332 -0x4c 0x01 0xc0 0x18 +0x4d 0x01 0xc0 0x18 # CHECK: bne $9, $6, 1332 -0x4c 0x01 0x26 0x15 +0x4d 0x01 0x26 0x15 # CHECK: c.eq.d $f12, $f14 0x32 0x60 0x2e 0x46 Index: test/MC/Disassembler/Mips/mips32r2.txt =================================================================== --- test/MC/Disassembler/Mips/mips32r2.txt +++ test/MC/Disassembler/Mips/mips32r2.txt @@ -30,37 +30,37 @@ 0x30 0xc9 0x45 0x67 # CHECK: b 1332 -0x10 0x00 0x01 0x4c +0x10 0x00 0x01 0x4d # CHECK: bc1f 1332 -0x45 0x00 0x01 0x4c +0x45 0x00 0x01 0x4d # CHECK: bc1f $fcc7, 1332 -0x45 0x1c 0x01 0x4c +0x45 0x1c 0x01 0x4d # CHECK: bc1t 1332 -0x45 0x01 0x01 0x4c +0x45 0x01 0x01 0x4d # CHECK: bc1t $fcc7, 1332 -0x45 0x1d 0x01 0x4c +0x45 0x1d 0x01 0x4d # CHECK: beq $9, $6, 1332 -0x11 0x26 0x01 0x4c +0x11 0x26 0x01 0x4d # CHECK: bgez $6, 1332 -0x04 0xc1 0x01 0x4c +0x04 0xc1 0x01 0x4d # CHECK: bgezal $6, 1332 -0x04 0xd1 0x01 0x4c +0x04 0xd1 0x01 0x4d # CHECK: bgtz $6, 1332 -0x1c 0xc0 0x01 0x4c +0x1c 0xc0 0x01 0x4d # CHECK: blez $6, 1332 -0x18 0xc0 0x01 0x4c +0x18 0xc0 0x01 0x4d # CHECK: bne $9, $6, 1332 -0x15 0x26 0x01 0x4c +0x15 0x26 0x01 0x4d # CHECK: c.eq.d $f12, $f14 0x46 0x2e 0x60 0x32 Index: test/MC/Disassembler/Mips/mips32r2_le.txt =================================================================== --- test/MC/Disassembler/Mips/mips32r2_le.txt +++ test/MC/Disassembler/Mips/mips32r2_le.txt @@ -30,37 +30,37 @@ 0x67 0x45 0xc9 0x30 # CHECK: b 1332 -0x4c 0x01 0x00 0x10 +0x4d 0x01 0x00 0x10 # CHECK: bc1f 1332 -0x4c 0x01 0x00 0x45 +0x4d 0x01 0x00 0x45 # CHECK: bc1f $fcc7, 1332 -0x4c 0x01 0x1c 0x45 +0x4d 0x01 0x1c 0x45 # CHECK: bc1t 1332 -0x4c 0x01 0x01 0x45 +0x4d 0x01 0x01 0x45 # CHECK: bc1t $fcc7, 1332 -0x4c 0x01 0x1d 0x45 +0x4d 0x01 0x1d 0x45 # CHECK: beq $9, $6, 1332 -0x4c 0x01 0x26 0x11 +0x4d 0x01 0x26 0x11 # CHECK: bgez $6, 1332 -0x4c 0x01 0xc1 0x04 +0x4d 0x01 0xc1 0x04 # CHECK: bgezal $6, 1332 -0x4c 0x01 0xd1 0x04 +0x4d 0x01 0xd1 0x04 # CHECK: bgtz $6, 1332 -0x4c 0x01 0xc0 0x1c +0x4d 0x01 0xc0 0x1c # CHECK: blez $6, 1332 -0x4c 0x01 0xc0 0x18 +0x4d 0x01 0xc0 0x18 # CHECK: bne $9, $6, 1332 -0x4c 0x01 0x26 0x15 +0x4d 0x01 0x26 0x15 # CHECK: c.eq.d $f12, $f14 0x32 0x60 0x2e 0x46