lxvb16x

Load VSX Vector Byte*16 Indexed

lxvb16x XT,RA,RB

Loads a vector of 16 byte elements from memory into a VSX register.

Details

The lxvb16x instruction loads a vector of 16 byte elements from memory into the VSR[XT] register. The effective address (EA) is calculated as the sum of GPR[RA] and GPR[RB]. Each byte element from the memory at EA+i is placed into byte element i of VSR[XT], for i ranging from 0 to 15.

Pseudocode Operation

if TX=0 & MSR.VSX=0 then
    VSX_Unavailable()
if TX=1 & MSR.VEC=0 then
    Vector_Unavailable()
EA ←((RA=0) ? 0 : GPR[RA]) + GPR[RB]
do i = 0 to 15
    VSR[32×TX+T].byte[i] ←MEM(EA+i, 1)
end

Programming Note

Exhibits identical behavior in Big-Endian mode.

Example

lxvb16x vs1, r4, r5

Encoding

Binary Layout
1000
0
0111
6
0110
11
TX
16
T
21
RA
26
RB
31
 
Format X-form
Opcode 0x7C0006D8
Extension VSX
Registers Altered MSR

Operands

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