1 // Immediate dual 16b SHIFT test program.
2 // Test r4 = ASHIFT/ASHIFT (r2 by 10);
3 // Test r4 = ASHIFT/ASHIFT (r2 by 10) S;
4 // Test r4 = LSHIFT/LSHIFT (r2 by 10);
7 .include "testutils.inc"
12 // left by largest positive magnitude of 15 (0xf)
19 DBGA ( R6.L , 0x8000 );
20 DBGA ( R6.H , 0x0000 );
21 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
22 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
23 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
24 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
25 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
28 // left by largest positive magnitude of 15 (0xf) with saturation
33 R6 = R0 << 15 (V , S);
34 DBGA ( R6.L , 0x8000 );
35 DBGA ( R6.H , 0x7fff );
36 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
37 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
38 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
39 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
40 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
49 DBGA ( R6.L , 0x0002 );
50 DBGA ( R6.H , 0x0200 );
51 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
52 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
53 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
54 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
55 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
58 // left by 1 saturating
64 DBGA ( R6.L , 0x8000 );
65 DBGA ( R6.H , 0x0200 );
66 CC = AZ; R7 = CC; DBGA ( R7.L , 0x0 );
67 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
68 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
69 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
70 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
73 // left by 15 saturating
78 R6 = R0 << 15 (V , S);
79 DBGA ( R6.L , 0x8000 );
80 DBGA ( R6.H , 0x0000 );
81 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
82 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
83 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
84 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
85 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
94 DBGA ( R6.L , 0xffff );
95 DBGA ( R6.H , 0x0000 );
96 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
97 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
98 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
99 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
100 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
103 // right by 15 (sat has no effect)
109 DBGA ( R6.L , 0xffff );
110 DBGA ( R6.H , 0x0000 );
111 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
112 CC = AN; R7 = CC; DBGA ( R7.L , 0x1 );
113 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
114 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
115 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );
124 DBGA ( R6.L , 0x0001 );
125 DBGA ( R6.H , 0x0000 );
126 CC = AZ; R7 = CC; DBGA ( R7.L , 0x1 );
127 CC = AN; R7 = CC; DBGA ( R7.L , 0x0 );
128 CC = AC0; R7 = CC; DBGA ( R7.L , 0x0 );
129 CC = AV0; R7 = CC; DBGA ( R7.L , 0x0 );
130 CC = AV1; R7 = CC; DBGA ( R7.L , 0x0 );