lxsiwzx
Load VSX Scalar as Integer Word Zero Indexed
Loads a word from memory and places it into the specified VSX register, zero-extending it.
Details
Loads a 32-bit unsigned integer word from memory at address RA+RB into the left-most doubleword element of VSX register XT, with the value zero-extended to 64 bits. The effective address is computed by adding RA (or 0 if RA=0) and RB. The loaded and zero-extended value occupies bits 0-63 of the VSX register. This VSX extension instruction does not affect condition registers.
Pseudocode Operation
EA ← (RA = 0) ? RB : RA + RB
word ← [EA:EA+3]
XT[0:63] ← zero_extend(word, 64)
XT[64:127] ← undefined
Programming Note
The lxsiwzx instruction is commonly used to load a word from memory into a VSX register, ensuring zero-extension. Ensure that the VSX facility is enabled in the MSR register; otherwise, a VSX_Unavailable exception will be raised. The address calculation respects the base and offset registers, with RA being optional (use 0 if not needed). This instruction does not require any specific alignment but must be executed at a privilege level where VSX operations are permitted.
Example
Encoding
Operands
-
XT
Target -
RA
Base -
RB
Index