stxvx

Store VSX Vector Indexed X-form

stxvx xW,r0,rPW
stxvx xX,r0,rPX
stxvx xY,r0,rPY
stxvx xZ,r0,rPZ

Stores a vector element from the VSX register file to memory.

Details

The stxvx instruction stores a vector element from the VSX register file to memory. The effective address (EA) is calculated by adding the contents of GPR[RA] and GPR[RB]. If RA is zero, EA is set to zero. The data is stored in big-endian byte order.

Pseudocode Operation

if SX=0 & MSR.VSX=0 then VSX_Unavailable()
if SX=1 & MSR.VEC=0 then Vector_Unavailable()
EA ←((RA=0) ? 0 : GPR[RA]) + GPR[RB]
MEM(EA,16) ←VSR[32×SX+S]

Programming Note

The stxvx instruction is used for storing VSX vectors to memory. The index value in XS is multiplied by 16 bytes.

Example

stxvx xw, r0, rpw

Encoding

Binary Layout
101100
0
XS
1
00000
6
rA
11
rB
16
00000
00000
00000
 
Format X-form
Opcode 0x7C000318
Extension VSX
Registers Altered MSR

Operands

  • XS
    VSX Register Index
  • RA
    Source General Purpose Register for Base Address
  • RB
    Source General Purpose Register for Offset
  • xW
    VSX Register containing the vector to store
  • r0
    General Purpose Register (typically used as zero register)
  • rPW
    Base address General Purpose Register for W
  • rPX
    Base address General Purpose Register for X
  • rPY
    Base address General Purpose Register for Y
  • rPZ
    Base address General Purpose Register for Z