1//Original:/testcases/core/c_logi2op_bittgl/c_logi2op_bittgl.dsp
2// Spec Reference: Logi2op functions: bittgl
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9
10imm32 r0, 0x00000000;
11imm32 r1, 0x00000000;
12imm32 r2, 0x00000000;
13imm32 r3, 0x00000000;
14imm32 r4, 0x00000000;
15imm32 r5, 0x00000000;
16imm32 r6, 0x00000000;
17imm32 r7, 0x00000000;
18
19// bit 0-7
20BITTGL( R0 , 0 ); /* r0 = 0x00000001 */
21BITTGL( R1 , 1 ); /* r1 = 0x00000002 */
22BITTGL( R2 , 2 ); /* r2 = 0x00000004 */
23BITTGL( R3 , 3 ); /* r3 = 0x00000008 */
24BITTGL( R4 , 4 ); /* r4 = 0x00000010 */
25BITTGL( R5 , 5 ); /* r5 = 0x00000020 */
26BITTGL( R6 , 6 ); /* r6 = 0x00000040 */
27BITTGL( R7 , 7 ); /* r7 = 0x00000080 */
28CHECKREG r0, 0x00000001;
29CHECKREG r1, 0x00000002;
30CHECKREG r2, 0x00000004;
31CHECKREG r3, 0x00000008;
32CHECKREG r4, 0x00000010;
33CHECKREG r5, 0x00000020;
34CHECKREG r6, 0x00000040;
35CHECKREG r7, 0x00000080;
36
37// bit 8-15
38BITTGL( R0 , 8 ); /* r0 = 0x00000100 */
39BITTGL( R1 , 9 ); /* r1 = 0x00000200 */
40BITTGL( R2 , 10 ); /* r2 = 0x00000400 */
41BITTGL( R3 , 11 ); /* r3 = 0x00000800 */
42BITTGL( R4 , 12 ); /* r4 = 0x00001000 */
43BITTGL( R5 , 13 ); /* r5 = 0x00002000 */
44BITTGL( R6 , 14 ); /* r6 = 0x00004000 */
45BITTGL( R7 , 15 ); /* r7 = 0x00008000 */
46CHECKREG r0, 0x00000101;
47CHECKREG r1, 0x00000202;
48CHECKREG r2, 0x00000404;
49CHECKREG r3, 0x00000808;
50CHECKREG r4, 0x00001010;
51CHECKREG r5, 0x00002020;
52CHECKREG r6, 0x00004040;
53CHECKREG r7, 0x00008080;
54
55// bit 16-23
56BITTGL( R0 , 16 ); /* r0 = 0x00000100 */
57BITTGL( R1 , 17 ); /* r1 = 0x00000200 */
58BITTGL( R2 , 18 ); /* r2 = 0x00000400 */
59BITTGL( R3 , 19 ); /* r3 = 0x00000800 */
60BITTGL( R4 , 20 ); /* r4 = 0x00001000 */
61BITTGL( R5 , 21 ); /* r5 = 0x00002000 */
62BITTGL( R6 , 22 ); /* r6 = 0x00004000 */
63BITTGL( R7 , 23 ); /* r7 = 0x00008000 */
64CHECKREG r0, 0x00010101;
65CHECKREG r1, 0x00020202;
66CHECKREG r2, 0x00040404;
67CHECKREG r3, 0x00080808;
68CHECKREG r4, 0x00101010;
69CHECKREG r5, 0x00202020;
70CHECKREG r6, 0x00404040;
71CHECKREG r7, 0x00808080;
72
73// bit 24-31
74BITTGL( R0 , 24 ); /* r0 = 0x00000100 */
75BITTGL( R1 , 25 ); /* r1 = 0x00000200 */
76BITTGL( R2 , 26 ); /* r2 = 0x00000400 */
77BITTGL( R3 , 27 ); /* r3 = 0x00000800 */
78BITTGL( R4 , 28 ); /* r4 = 0x00001000 */
79BITTGL( R5 , 29 ); /* r5 = 0x00002000 */
80BITTGL( R6 , 30 ); /* r6 = 0x00004000 */
81BITTGL( R7 , 31 ); /* r7 = 0x00008000 */
82CHECKREG r0, 0x01010101;
83CHECKREG r1, 0x02020202;
84CHECKREG r2, 0x04040404;
85CHECKREG r3, 0x08080808;
86CHECKREG r4, 0x10101010;
87CHECKREG r5, 0x20202020;
88CHECKREG r6, 0x40404040;
89CHECKREG r7, 0x80808080;
90
91// bit 0-7
92BITTGL( R0 , 0 ); /* r0 = 0x00000001 */
93BITTGL( R1 , 1 ); /* r1 = 0x00000002 */
94BITTGL( R2 , 2 ); /* r2 = 0x00000004 */
95BITTGL( R3 , 3 ); /* r3 = 0x00000008 */
96BITTGL( R4 , 4 ); /* r4 = 0x00000010 */
97BITTGL( R5 , 5 ); /* r5 = 0x00000020 */
98BITTGL( R6 , 6 ); /* r6 = 0x00000040 */
99BITTGL( R7 , 7 ); /* r7 = 0x00000080 */
100CHECKREG r0, 0x01010100;
101CHECKREG r1, 0x02020200;
102CHECKREG r2, 0x04040400;
103CHECKREG r3, 0x08080800;
104CHECKREG r4, 0x10101000;
105CHECKREG r5, 0x20202000;
106CHECKREG r6, 0x40404000;
107CHECKREG r7, 0x80808000;
108
109// bit 8-15
110BITTGL( R0 , 8 ); /* r0 = 0x00000100 */
111BITTGL( R1 , 9 ); /* r1 = 0x00000200 */
112BITTGL( R2 , 10 ); /* r2 = 0x00000400 */
113BITTGL( R3 , 11 ); /* r3 = 0x00000800 */
114BITTGL( R4 , 12 ); /* r4 = 0x00001000 */
115BITTGL( R5 , 13 ); /* r5 = 0x00002000 */
116BITTGL( R6 , 14 ); /* r6 = 0x00004000 */
117BITTGL( R7 , 15 ); /* r7 = 0x00008000 */
118CHECKREG r0, 0x01010000;
119CHECKREG r1, 0x02020000;
120CHECKREG r2, 0x04040000;
121CHECKREG r3, 0x08080000;
122CHECKREG r4, 0x10100000;
123CHECKREG r5, 0x20200000;
124CHECKREG r6, 0x40400000;
125CHECKREG r7, 0x80800000;
126
127// bit 16-23
128BITTGL( R0 , 16 ); /* r0 = 0x00000100 */
129BITTGL( R1 , 17 ); /* r1 = 0x00000200 */
130BITTGL( R2 , 18 ); /* r2 = 0x00000400 */
131BITTGL( R3 , 19 ); /* r3 = 0x00000800 */
132BITTGL( R4 , 20 ); /* r4 = 0x00001000 */
133BITTGL( R5 , 21 ); /* r5 = 0x00002000 */
134BITTGL( R6 , 22 ); /* r6 = 0x00004000 */
135BITTGL( R7 , 23 ); /* r7 = 0x00008000 */
136CHECKREG r0, 0x01000000;
137CHECKREG r1, 0x02000000;
138CHECKREG r2, 0x04000000;
139CHECKREG r3, 0x08000000;
140CHECKREG r4, 0x10000000;
141CHECKREG r5, 0x20000000;
142CHECKREG r6, 0x40000000;
143CHECKREG r7, 0x80000000;
144
145// bit 24-31
146BITTGL( R0 , 24 ); /* r0 = 0x00000100 */
147BITTGL( R1 , 25 ); /* r1 = 0x00000200 */
148BITTGL( R2 , 26 ); /* r2 = 0x00000400 */
149BITTGL( R3 , 27 ); /* r3 = 0x00000800 */
150BITTGL( R4 , 28 ); /* r4 = 0x00001000 */
151BITTGL( R5 , 29 ); /* r5 = 0x00002000 */
152BITTGL( R6 , 30 ); /* r6 = 0x00004000 */
153BITTGL( R7 , 31 ); /* r7 = 0x00008000 */
154CHECKREG r0, 0x00000000;
155CHECKREG r1, 0x00000000;
156CHECKREG r2, 0x00000000;
157CHECKREG r3, 0x00000000;
158CHECKREG r4, 0x00000000;
159CHECKREG r5, 0x00000000;
160CHECKREG r6, 0x00000000;
161CHECKREG r7, 0x00000000;
162
163
164
165pass
166