xxmtacc

VSX Move to Accumulator

xxmtacc AT

Copies data from 4 adjacent VSRs into an Accumulator.

Details

The xxmtacc instruction moves the contents of four consecutive vector scalar registers (VSR[4×AT] to VSR[4×AT+3]) into the corresponding rows of the accumulator ACC[AT].

Pseudocode Operation

if MSR.VSX=0 then
    VSX_Unavailable()
ACC[AT][0] ← VSR[4×AT]
ACC[AT][1] ← VSR[4×AT+1]
ACC[AT][2] ← VSR[4×AT+2]
ACC[AT][3] ← VSR[4×AT+3]

Programming Note

Ensure VSX is enabled in the MSR before using xxmtacc; otherwise, a VSX_Unavailable exception will occur. This instruction moves data from four consecutive vector scalar registers into the accumulator, so verify register allocation to avoid unintended data movement.

Example

xxmtacc acc0

Encoding

Binary Layout
31
0
/
6
/
9
AT
11
153
/
 
Format X-form
Opcode 0x7C000131
Extension MMA
Registers Altered MSR

Operands

  • AT
    Target ACC