As the MIPSR6 specification says, a 18/23-bit signed offset (the 16/21-bit
offset field shifted left 2 bits) is added to the address of the instruction
following the (compact) branch (not the branch itself), to form a PC-relative
effective target address.
Similarly for branches which take a 26bit offset
The immediate for those branches is only shifted when it should be shifted
and added.