B is a direct branch that never changes mode. BX is an indirect branch that
mode switches based on the low address bit.
BL and BLX(register) are exactly the same as B/BX except they also set LR.
BLX(immediate) is a direct mode switching call.
loads into the PC either ignore(v4t) or mode switch (v5) on the low address
bit.
ALU writes to the PC always ignore the low bit in Thumb mode. In ARM mode the
low bit is either ignored(v6) or used to mode switch (v7).
BX was introduced in v4t, BLX was introduced in v5.