1 /* register definitions used in tests for isa_3_1. */
4 An ACC is associated with a set of four VSR registers.
5 Each ACC contains four 128-bit rows.
6 Each row of each ACC is aliased to a specific VSR in the following manner.
7 ACC[0][0] == VSR[0]; ACC[0][1] == VSR[1]; ACC[0][2] == VSR[2]; ACC[0][3] == VSR[3]
9 ACC[7][0] == VSR[28]; ACC[7][0] == VSR[28]; ACC[7][0] == VSR[28]; ACC[7][0] == VSR[28]
12 register vector
long long TEST_ACC0
__asm__ ("vs16");
13 register vector
long long TEST_ACC1
__asm__ ("vs17");
14 register vector
long long TEST_ACC2
__asm__ ("vs18");
15 register vector
long long TEST_ACC3
__asm__ ("vs19");
17 /* XSp and XTp use the same register pair, defined here as 20 and 21.
18 This includes the XT and XS values too. */
19 register vector
long long XTp0
__asm__ ("vs20"); // XTp[0];XSp[0];
20 register vector
long long XTp1
__asm__ ("vs21"); // XTp[1];XSp[1];
22 // xa,xb,xc references are mapped to a specific vector register.
23 // out of order to allow xap mapped over vec_xa and vec_xc.
24 register vector
long long vec_xa
__asm__ ("vs22"); // also xap.
25 register vector
long long vec_xc
__asm__ ("vs23"); // also 2nd half of xap.
26 register vector
long long vec_xb
__asm__ ("vs24");
28 /* frs,frb (variable named frsb) both use the same register pair.
29 (top half of vs26,vs27) */
30 register double frsb
__asm__ ("fr26");
31 register double frsbp
__asm__ ("fr27");
32 /* frt,frtp register pair. (top half of vs28,vs29) */
33 register double frt
__asm__ ("vs28");
34 register double frtp
__asm__ ("vs29");
36 register uint64_t ra
__asm__ ("r20");
37 register uint64_t rb
__asm__ ("r21");
38 register uint64_t rc
__asm__ ("r22");
39 register uint64_t rs
__asm__ ("r24"); /* rsp part 1 */
40 register uint64_t rsp
__asm__ ("r25"); /* rsp part 2 */
41 register uint64_t rt
__asm__ ("r26"); /* rtp part 1 */
42 register uint64_t rtp
__asm__ ("r27"); /* rtp part 2 */
44 extern unsigned long long vsrd
;
45 extern unsigned long get_vsrhd_vs26();
46 extern unsigned long get_vsrhd_vs27();
47 extern unsigned long get_vsrhd_vs28();
48 extern unsigned long get_vsrhd_vs29();