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.