s8.s revision 1.1 1 // Test rl4 = VMAX r5 A0<<1;
2 // Test rl4 = VMAX r5 A0>>1;
3 # mach: bfin
4
5 .include "testutils.inc"
6 start
7
8
9 // max value in high half, hence bit into A0 is one
10 A0 = 0;
11 R1.L = 0x2; // max in r1 is 3
12 R1.H = 0x3;
13
14 R6.L = VIT_MAX( R1 ) (ASL);
15
16 DBGA ( R6.L , 0x0003 );
17 R7 = A0.w;
18 DBGA ( R7.L , 0x0001 );
19 DBGA ( R7.H , 0x0000 );
20 R7.L = A0.x;
21 DBGA ( R7.L , 0x0000 );
22
23 // max value in low half, hence bit into A0 is zero
24 R0.L = 0x8000;
25 R0.H = 0x8000;
26 A0.w = R0;
27 R1.L = 0x8001; // max in r1 is 8001
28 R1.H = 0x7f00;
29
30 R6.L = VIT_MAX( R1 ) (ASL);
31
32 DBGA ( R6.L , 0x8001 );
33 R7 = A0.w;
34 DBGA ( R7.L , 0x0000 );
35 DBGA ( R7.H , 0x0001 );
36 R7.L = A0.x;
37 DBGA ( R7.L , 0x0001 );
38
39 // max value in high half, hence bit into A0 is one
40 R0.L = 0x8000;
41 R0.H = 0x0000;
42 A0.w = R0;
43 R1.L = 0x7fff; // max in r1 is 8001
44 R1.H = 0x8001;
45
46 R6.L = VIT_MAX( R1 ) (ASR);
47
48 DBGA ( R6.L , 0x8001 );
49 R7 = A0.w;
50 DBGA ( R7.L , 0x4000 );
51 DBGA ( R7.H , 0x8000 );
52 R7.L = A0.x;
53 DBGA ( R7.L , 0x0000 );
54
55 pass
56