Does anyone know what limitations there are on the BRX SASS instruction and how is it encoded?
BRX R0 -0x3c38; BRX R0 -0x5b60; BRX R0 -0x6120;
A BRX instruction is always prefixed by an load from constant space.
The single 16-bit argument seems rather dense. What is it encoding? Are jumps relative? Are there a max number of jumps? Is there a max distance?
I ask because a switch statement with a dozen cases is broken down into a combination of initial case range splitting comparisons followed by a BRX dispatch on a smaller range of elements. I would’ve expected just one BRX.