lxsdx

Load VSX Scalar Doubleword Indexed

lxsdx XT,RA,RB

Loads a doubleword from memory into a VSX scalar register.

Details

Loads a doubleword from memory at the address computed as (RA) + (RB) and places it into the specified VSX scalar register XT. The upper 64 bits of the VSX register remain unchanged. This is a VSX instruction and does not affect condition registers or status fields.

Pseudocode Operation

ea ← (RA) + (RB)
XT.doubleword[1] ← [ea]

Programming Note

The lxsdx instruction is commonly used to load a doubleword from memory into a VSX scalar register. Ensure that the VSX facility is enabled by checking and setting the appropriate bit in the MSR register. Be cautious of alignment requirements; while the instruction can handle unaligned accesses, performance may be improved with aligned data. This instruction operates at user privilege level but will raise an exception if the VSX facility is not available.

Example

lxsdx vs1, r4, r5

Encoding

Binary Layout
0
0
T
6
RA
11
RB
16
 
Format X-form
Opcode 0x7C000498
Extension VSX
Registers Altered MSR

Operands

  • XT
    Target VSX Scalar Register
  • RA
    Source General Purpose Register (Base Address)
  • RB
    Source General Purpose Register (Index)