lxsspx
Load VSX Scalar Single-Precision Indexed X-form
Loads a single-precision floating-point value from memory and converts it to double-precision format in a VSX register.
Details
Loads a single-precision floating-point value from memory at address (RA) + (RB), converts it to double-precision format, and places the result into the right doubleword of VSX register XT. The left doubleword is cleared. This is a VSX instruction and does not affect condition registers or status fields.
Pseudocode Operation
ea ← (RA) + (RB)
sp_value ← [ea] (single-precision)
dp_value ← convert_sp_to_dp(sp_value)
XT.doubleword[1] ← dp_value
XT.doubleword[0] ← 0
Programming Note
The lxsspx instruction is used to load a single-precision floating-point value from memory into a VSX register, converting it to double-precision format. Ensure that the VSX facility is enabled by checking and setting the MSR.VSX bit. The instruction requires 4-byte alignment for the source data in memory to avoid potential exceptions. This instruction operates at user privilege level.
Example
Encoding
Operands
-
XT
Target Vector-Scalar Register -
RA
Source General Purpose Register (Base Address) -
RB
Source General Purpose Register (Index)