1//Original:/testcases/core/c_alu2op_conv_mix/c_alu2op_conv_mix.dsp
2// Spec Reference: alu2op convert mix
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9
10imm32 r0, 0x00789abc;
11imm32 r1, 0x12345678;
12imm32 r2, 0x23456789;
13imm32 r3, 0x3456789a;
14imm32 r4, 0x856789ab;
15imm32 r5, 0x96789abc;
16imm32 r6, 0xa789abcd;
17imm32 r7, 0xb89abcde;
18R0 = R0.B (X);
19R1 = R1.L (X);
20R2 = R2.L (Z);
21R3 = R3.B (X);
22R4 = R4.B (Z);
23R5 = - R5;
24R6 = ~ R6;
25R7 = R7.L (X);
26CHECKREG r0, 0xFFFFFFBC;
27CHECKREG r1, 0x00005678;
28CHECKREG r2, 0x00006789;
29CHECKREG r3, 0xFFFFFF9A;
30CHECKREG r4, 0x000000AB;
31CHECKREG r5, 0x69876544;
32CHECKREG r6, 0x58765432;
33CHECKREG r7, 0xFFFFBCDE;
34
35imm32 r0, 0x01230002;
36imm32 r1, 0x00374659;
37imm32 r2, 0x93456789;
38imm32 r3, 0xa456789a;
39imm32 r4, 0xb56789ab;
40imm32 r5, 0xc6789abc;
41imm32 r6, 0xd789abcd;
42imm32 r7, 0xe89abcde;
43R6 = R0.B (X);
44R7 = R1.L (X);
45R0 = R2.L (Z);
46R1 = R3.B (X);
47R2 = R4.B (Z);
48R3 = - R5;
49R4 = ~ R6;
50R5 = R7.L (X);
51CHECKREG r0, 0x00006789;
52CHECKREG r1, 0xFFFFFF9A;
53CHECKREG r2, 0x000000AB;
54CHECKREG r3, 0x39876544;
55CHECKREG r4, 0xFFFFFFFD;
56CHECKREG r5, 0x00004659;
57CHECKREG r6, 0x00000002;
58CHECKREG r7, 0x00004659;
59
60imm32 r0, 0x51230002;
61imm32 r1, 0x12345678;
62imm32 r2, 0x91203450;
63imm32 r3, 0x3456789a;
64imm32 r4, 0x956789ab;
65imm32 r5, 0x86789abc;
66imm32 r6, 0xa789abcd;
67imm32 r7, 0x789abcde;
68R5 = R0.B (X);
69R6 = R1.L (X);
70R7 = R2.L (Z);
71R0 = R3.B (X);
72R1 = R4.B (Z);
73R2 = - R5;
74R3 = ~ R6;
75R4 = R7.L (X);
76CHECKREG r0, 0xFFFFFF9A;
77CHECKREG r1, 0x000000AB;
78CHECKREG r2, 0xFFFFFFFE;
79CHECKREG r3, 0xFFFFA987;
80CHECKREG r4, 0x00003450;
81CHECKREG r5, 0x00000002;
82CHECKREG r6, 0x00005678;
83CHECKREG r7, 0x00003450;
84
85imm32 r0, 0x01230002;
86imm32 r1, 0x82345678;
87imm32 r2, 0x93456789;
88imm32 r3, 0x00000000;
89imm32 r4, 0xb56789ab;
90imm32 r5, 0xc6789abc;
91imm32 r6, 0xd789abcd;
92imm32 r7, 0xe89abcde;
93R4 = R0.B (X);
94R5 = R1.L (X);
95R6 = R2.L (Z);
96R7 = R3.B (X);
97R0 = R4.B (Z);
98R1 = - R5;
99R2 = ~ R6;
100R3 = R7.L (X);
101CHECKREG r0, 0x00000002;
102CHECKREG r1, 0xFFFFA988;
103CHECKREG r2, 0xFFFF9876;
104CHECKREG r3, 0x00000000;
105CHECKREG r4, 0x00000002;
106CHECKREG r5, 0x00005678;
107CHECKREG r6, 0x00006789;
108CHECKREG r7, 0x00000000;
109
110imm32 r0, 0xadf00001;
111imm32 r1, 0x12345678;
112imm32 r2, 0x23456789;
113imm32 r3, 0x3456789a;
114imm32 r4, 0x00000000;
115imm32 r5, 0x96789abc;
116imm32 r6, 0xa789abcd;
117imm32 r7, 0xb89abcde;
118R3 = R0.B (X);
119R4 = R1.L (X);
120R5 = R2.L (Z);
121R6 = R3.B (X);
122R7 = R4.B (Z);
123R0 = - R5;
124R1 = ~ R6;
125R2 = R7.L (X);
126CHECKREG r0, 0xFFFF9877;
127CHECKREG r1, 0xFFFFFFFE;
128CHECKREG r2, 0x00000078;
129CHECKREG r3, 0x00000001;
130CHECKREG r4, 0x00005678;
131CHECKREG r5, 0x00006789;
132CHECKREG r6, 0x00000001;
133CHECKREG r7, 0x00000078;
134
135imm32 r0, 0x01230002;
136imm32 r1, 0x00000000;
137imm32 r2, 0x93456789;
138imm32 r3, 0xa456789a;
139imm32 r4, 0xb56789ab;
140imm32 r5, 0x54238900;
141imm32 r6, 0xd789abcd;
142imm32 r7, 0xe89abcde;
143R2 = R0.B (X);
144R3 = R1.L (X);
145R4 = R2.L (Z);
146R5 = R3.B (X);
147R6 = R4.B (Z);
148R7 = - R5;
149R0 = ~ R6;
150R1 = R7.L (X);
151CHECKREG r0, 0xFFFFFFFD;
152CHECKREG r1, 0x00000000;
153CHECKREG r2, 0x00000002;
154CHECKREG r3, 0x00000000;
155CHECKREG r4, 0x00000002;
156CHECKREG r5, 0x00000000;
157CHECKREG r6, 0x00000002;
158CHECKREG r7, 0x00000000;
159
160imm32 r0, 0x51230002;
161imm32 r1, 0x12345678;
162imm32 r2, 0x00000000;
163imm32 r3, 0x3456789a;
164imm32 r4, 0x956789ab;
165imm32 r5, 0x86789abc;
166imm32 r6, 0x00000000;
167imm32 r7, 0x789abcde;
168R1 = R0.B (X);
169R2 = R1.L (X);
170R3 = R2.L (Z);
171R4 = R3.B (X);
172R5 = R4.B (Z);
173R6 = - R5;
174R0 = ~ R6;
175R7 = R7.L (X);
176CHECKREG r0, 0x00000001;
177CHECKREG r1, 0x00000002;
178CHECKREG r2, 0x00000002;
179CHECKREG r3, 0x00000002;
180CHECKREG r4, 0x00000002;
181CHECKREG r5, 0x00000002;
182CHECKREG r6, 0xFFFFFFFE;
183CHECKREG r7, 0xFFFFBCDE;
184
185
186pass
187