Zero and sign extension
By default, when a sub-register-sized quantity of data is loaded, the rest of the register is zeroed, as shown in this figure:
Note: Remember that whenever a
W register is written, the top half of the
X register is zeroed.
Adding an S to the operation causes the value to be sign extended instead. How far the size extension goes depends on whether the target is a
X register, as shown in this figure: