xxmfacc
VSX Move from Accumulator
Copies data from an Accumulator back to 4 adjacent VSRs.
Details
For xxmfacc, the contents of row i of ACC[AS] are placed into VSR[4×AS+i]. The contents of ACC[0] will be undefined after the first execution, which can degrade performance on subsequent executions.
Pseudocode Operation
Programming Note
During extended periods of execution when there isn't any active use of the accumulators and VSX Vector GER instructions, hardware may deactivate these facilities for power savings. Once deactivated, while any attempted execution of any xxmfacc, xxmtacc, xxsetaccz, or VSX Vector GER instruction will cause these facilities to become reactivated, this reactivation causes significant delay beyond the normal execution of these instructions. This delay can be avoided by periodically issuing an xxmfacc with AS=0 instruction during extended times that the facilities are not being used to keep the facilities activated. Since the contents of ACC[0] will be undefined after the first execution, performance on subsequent executions of xxmfacc 0 can be expected to be degraded compared to performance when the contents of ACC[0] are defined. As such, to keep the facilities activated, xxmfacc 0 should be used with attention to performance implications.
Example
Encoding
Operands
-
AT
Source ACC -
AS
Accumulator Select