7-4
MPC7400 RISC Microprocessor Users Manual
AltiVec Technology and the Programming Model
7.1.1.5 Vector Save/Restore Register (VRSAVE)
The vector save/restore register (VRSAVE) is a new user-mode register used to assist in
application and operating system software in saving and restoring the architectural state
across process context-switched events. VRSAVE is a 32-bit special-purpose register
(SPR 256) that helps software provide efTcient save and restore operations. VRSAVE is
entirely maintained and managed by software.
Figure 7-3. Vector Save/Restore Register (VRSAVE)
VRSAVE bit settings are shown in Table 7-2.
7.1.2 AltiVec Instruction Set
The MPC7400 implements all of the deTned AltiVec instructions. The AltiVec instruction
set has no optional instructions; however, a few instructions associated with the load/store
model are deTned to allow signiTcant differences between implementations. The following
sections describe the MPC7400s implementation of these options.
AltiVec instructions are primarily user-level and are divided into the following categories:
¥
Vector integer arithmetic instructionsThese include arithmetic, logical, compare,
rotate, and shift instructions.
¥
Vector oating-point arithmetic instructions.
¥
Vector load and store instructions.
¥
Vector permutation and formatting instructionsThese include pack, unpack,
merge, splat, permute, select, and shift instructions.
¥
Processor control instructionsThese instructions are used to read and write from
the VSCR.
¥
Memory control instructionsThese instructions are used for managing caches
(user- and supervisor-level).
Table 7-2. VRSAVE Bit Settings
Bits
Name
Description
0D31
VR
n
These bits determine which VRs are used in the current process.
1 VR
n
is uses VR0 for the current process
0 VR
n
is not being used for the current process
VR31
VR2
VR1
VR0
27
5
31
30
29
28
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
4
3
2
1
0
VR3VR4VR5VR6 VR7 VR8 VR9VR10
VR12
VR11
VR13 VR14 VR15
VR18 VR19 VR20
VR16 VR17
VR22
VR21
VR23VR24VR25
VR28VR29VR30
VR26VR27