Make sure that the upper bits of the offset is placed in bits 20-21 of the instruction word.
This fixes the encoding of backwards (negative offset) BPr branches.
(Previously, the upper two bits of the offset would overwrite parts of the rs1 field, causing it to branch on the wrong register, with the wrong offset)
This doesn't make sense to me. Shouldn't it be (Value >> 16) & 0x3? The fixup tables are correctly specifying the 2 bits for BE and LE.