lxsibzx

Load VSX Scalar as Integer Byte & Zero Indexed X-form

lxsibzx XT,RA,RB

Loads a byte from memory and places it into the specified VSX register, zeroing the upper half.

Details

The lxsibzx instruction loads an unsigned integer from a byte in storage addressed by the effective address (EA) formed by adding GPR[RA] and GPR[RB]. The result is placed in doubleword element 0 of VSR[XT], with doubleword element 1 set to zero.

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]
VSR[32×TX+T].dword[0] ←EXTZ64(MEM(EA,1))
VSR[32×TX+T].dword[1] ←0x0000_0000_0000_0000

Programming Note

The lxsibzx instruction is commonly used to load an unsigned byte from memory into a VSX register, with the upper 64 bits set to zero. Ensure that the effective address (EA) is properly aligned and within bounds to avoid exceptions. This instruction requires VSX or Vector facility enabled in the MSR register, depending on the transactional execution context.

Example

lxsibzx vs1, r4, r5

Encoding

Binary Layout
31
0
XT
6
RA
11
RB
16
781
21
TX
31
 
Format X-form
Opcode 0x7C00061A
Extension VSX

Operands

  • XT
    Target VSX Register
  • RA
    Source General Purpose Register
  • RB
    Source General Purpose Register
  • VRT
    Target VSX Register