stxvd2x

Store VSX Vector Doubleword*2 Indexed

stxvd2x XS, RA, RB

Stores a 128-bit VSX register to memory. Does NOT require alignment.

Details

The stxvd2x instruction stores two doublewords from the VSX vector register VSR[XS] into memory at an address calculated by adding the contents of GPR[RA] and GPR[RB]. If RA is zero, the base address is considered to be zero.

Pseudocode Operation

if MSR.VSX=0 then
    VSX_Unavailable()
EA ←((RA=0) ? 0 : GPR[RA]) + GPR[RB]
for i from 0 to 1 do
    store_data ← VSR[32×XS+S].dword[i]
    if Big-Endian then
        MEM(EA+8×i,8) ← store_data
    else if Little-Endian then
        MEM(EA+8×i+7,8) ← store_data

Programming Note

stxvd2x, stxvw4x, stxvh8x, stxvb16x, and stxvx exhibit identical behavior in Big-Endian mode.

Example

stxvd2x 32, r3, r4

Encoding

Binary Layout
31
0
XS
6
RA
11
RB
16
972
1
 
Format XX1-form
Opcode 0x7C0003CD
Extension VSX
Registers Altered MSR

Operands

  • XS
    Source VSR
  • RA
    Base Register
  • RB
    Index Register