1*6ca2c52aSchristos//Original:/testcases/core/c_dsp32alu_maxmax/c_dsp32alu_maxmax.dsp
2*6ca2c52aSchristos// Spec Reference: dsp32alu dregs = max / max ( dregs, dregs)
3*6ca2c52aSchristos# mach: bfin
4*6ca2c52aSchristos
5*6ca2c52aSchristos.include "testutils.inc"
6*6ca2c52aSchristos	start
7*6ca2c52aSchristos
8*6ca2c52aSchristos
9*6ca2c52aSchristos
10*6ca2c52aSchristos
11*6ca2c52aSchristosimm32 r0, 0x25678911;
12*6ca2c52aSchristosimm32 r1, 0x2389ab1d;
13*6ca2c52aSchristosimm32 r2, 0x34445515;
14*6ca2c52aSchristosimm32 r3, 0xe6657717;
15*6ca2c52aSchristosimm32 r4, 0x5a67891b;
16*6ca2c52aSchristosimm32 r5, 0x67b9ab1d;
17*6ca2c52aSchristosimm32 r6, 0x744d5515;
18*6ca2c52aSchristosimm32 r7, 0x8666c777;
19*6ca2c52aSchristosR0 = MAX ( R0 , R0 ) (V);
20*6ca2c52aSchristosR1 = MAX ( R0 , R1 ) (V);
21*6ca2c52aSchristosR2 = MAX ( R0 , R2 ) (V);
22*6ca2c52aSchristosR3 = MAX ( R0 , R3 ) (V);
23*6ca2c52aSchristosR4 = MAX ( R0 , R4 ) (V);
24*6ca2c52aSchristosR5 = MAX ( R0 , R5 ) (V);
25*6ca2c52aSchristosR6 = MAX ( R0 , R6 ) (V);
26*6ca2c52aSchristosR7 = MAX ( R0 , R7 ) (V);
27*6ca2c52aSchristosCHECKREG r0, 0x25678911;
28*6ca2c52aSchristosCHECKREG r1, 0x2567AB1D;
29*6ca2c52aSchristosCHECKREG r2, 0x34445515;
30*6ca2c52aSchristosCHECKREG r3, 0x25677717;
31*6ca2c52aSchristosCHECKREG r4, 0x5A67891B;
32*6ca2c52aSchristosCHECKREG r5, 0x67B9AB1D;
33*6ca2c52aSchristosCHECKREG r6, 0x744D5515;
34*6ca2c52aSchristosCHECKREG r7, 0x2567C777;
35*6ca2c52aSchristos
36*6ca2c52aSchristosimm32 r0, 0x9567892b;
37*6ca2c52aSchristosimm32 r1, 0xa789ab2d;
38*6ca2c52aSchristosimm32 r2, 0xb4445525;
39*6ca2c52aSchristosimm32 r3, 0xc6667727;
40*6ca2c52aSchristosimm32 r4, 0xd8889929;
41*6ca2c52aSchristosimm32 r5, 0xeaaabb2b;
42*6ca2c52aSchristosimm32 r6, 0xfcccdd2d;
43*6ca2c52aSchristosimm32 r7, 0x0eeeffff;
44*6ca2c52aSchristosR0 = MAX ( R1 , R0 ) (V);
45*6ca2c52aSchristosR1 = MAX ( R1 , R1 ) (V);
46*6ca2c52aSchristosR2 = MAX ( R1 , R2 ) (V);
47*6ca2c52aSchristosR3 = MAX ( R1 , R3 ) (V);
48*6ca2c52aSchristosR4 = MAX ( R1 , R4 ) (V);
49*6ca2c52aSchristosR5 = MAX ( R1 , R5 ) (V);
50*6ca2c52aSchristosR6 = MAX ( R1 , R6 ) (V);
51*6ca2c52aSchristosR7 = MAX ( R1 , R7 ) (V);
52*6ca2c52aSchristosCHECKREG r0, 0xA789AB2D;
53*6ca2c52aSchristosCHECKREG r1, 0xA789AB2D;
54*6ca2c52aSchristosCHECKREG r2, 0xB4445525;
55*6ca2c52aSchristosCHECKREG r3, 0xC6667727;
56*6ca2c52aSchristosCHECKREG r4, 0xD888AB2D;
57*6ca2c52aSchristosCHECKREG r5, 0xEAAABB2B;
58*6ca2c52aSchristosCHECKREG r6, 0xFCCCDD2D;
59*6ca2c52aSchristosCHECKREG r7, 0x0EEEFFFF;
60*6ca2c52aSchristos
61*6ca2c52aSchristosimm32 r0, 0x416789ab;
62*6ca2c52aSchristosimm32 r1, 0x5289abcd;
63*6ca2c52aSchristosimm32 r2, 0x63445555;
64*6ca2c52aSchristosimm32 r3, 0xa7669777;
65*6ca2c52aSchristosimm32 r4, 0x456789ab;
66*6ca2c52aSchristosimm32 r5, 0xb689abcd;
67*6ca2c52aSchristosimm32 r6, 0xd7445555;
68*6ca2c52aSchristosimm32 r7, 0x68667777;
69*6ca2c52aSchristosR0 = MAX ( R2 , R0 ) (V);
70*6ca2c52aSchristosR1 = MAX ( R2 , R1 ) (V);
71*6ca2c52aSchristosR2 = MAX ( R2 , R2 ) (V);
72*6ca2c52aSchristosR3 = MAX ( R2 , R3 ) (V);
73*6ca2c52aSchristosR4 = MAX ( R2 , R4 ) (V);
74*6ca2c52aSchristosR5 = MAX ( R2 , R5 ) (V);
75*6ca2c52aSchristosR6 = MAX ( R2 , R6 ) (V);
76*6ca2c52aSchristosR7 = MAX ( R2 , R7 ) (V);
77*6ca2c52aSchristosCHECKREG r0, 0x63445555;
78*6ca2c52aSchristosCHECKREG r1, 0x63445555;
79*6ca2c52aSchristosCHECKREG r2, 0x63445555;
80*6ca2c52aSchristosCHECKREG r3, 0x63445555;
81*6ca2c52aSchristosCHECKREG r4, 0x63445555;
82*6ca2c52aSchristosCHECKREG r5, 0x63445555;
83*6ca2c52aSchristosCHECKREG r6, 0x63445555;
84*6ca2c52aSchristosCHECKREG r7, 0x68667777;
85*6ca2c52aSchristos
86*6ca2c52aSchristosimm32 r0, 0x9567892b;
87*6ca2c52aSchristosimm32 r1, 0xa789ab2d;
88*6ca2c52aSchristosimm32 r2, 0xb4445525;
89*6ca2c52aSchristosimm32 r3, 0xc6667727;
90*6ca2c52aSchristosimm32 r0, 0x9567892b;
91*6ca2c52aSchristosimm32 r1, 0xa789ab2d;
92*6ca2c52aSchristosimm32 r2, 0xb4445525;
93*6ca2c52aSchristosimm32 r3, 0xc6667727;
94*6ca2c52aSchristosR0 = MAX ( R3 , R0 ) (V);
95*6ca2c52aSchristosR1 = MAX ( R3 , R1 ) (V);
96*6ca2c52aSchristosR2 = MAX ( R3 , R2 ) (V);
97*6ca2c52aSchristosR3 = MAX ( R3 , R3 ) (V);
98*6ca2c52aSchristosR4 = MAX ( R3 , R4 ) (V);
99*6ca2c52aSchristosR5 = MAX ( R3 , R5 ) (V);
100*6ca2c52aSchristosR6 = MAX ( R3 , R6 ) (V);
101*6ca2c52aSchristosR7 = MAX ( R3 , R7 ) (V);
102*6ca2c52aSchristosCHECKREG r0, 0xC6667727;
103*6ca2c52aSchristosCHECKREG r1, 0xC6667727;
104*6ca2c52aSchristosCHECKREG r2, 0xC6667727;
105*6ca2c52aSchristosCHECKREG r3, 0xC6667727;
106*6ca2c52aSchristosCHECKREG r4, 0x63447727;
107*6ca2c52aSchristosCHECKREG r5, 0x63447727;
108*6ca2c52aSchristosCHECKREG r6, 0x63447727;
109*6ca2c52aSchristosCHECKREG r7, 0x68667777;
110*6ca2c52aSchristos
111*6ca2c52aSchristosimm32 r0, 0x4537891b;
112*6ca2c52aSchristosimm32 r1, 0x6759ab2d;
113*6ca2c52aSchristosimm32 r2, 0x44555535;
114*6ca2c52aSchristosimm32 r3, 0x66665747;
115*6ca2c52aSchristosimm32 r4, 0x88789565;
116*6ca2c52aSchristosimm32 r5, 0xaa8abb5b;
117*6ca2c52aSchristosimm32 r6, 0xcc9cdd85;
118*6ca2c52aSchristosimm32 r7, 0xeeaeff9f;
119*6ca2c52aSchristosR0 = MAX ( R4 , R0 ) (V);
120*6ca2c52aSchristosR1 = MAX ( R4 , R1 ) (V);
121*6ca2c52aSchristosR2 = MAX ( R4 , R2 ) (V);
122*6ca2c52aSchristosR3 = MAX ( R4 , R3 ) (V);
123*6ca2c52aSchristosR4 = MAX ( R4 , R4 ) (V);
124*6ca2c52aSchristosR5 = MAX ( R4 , R5 ) (V);
125*6ca2c52aSchristosR6 = MAX ( R4 , R6 ) (V);
126*6ca2c52aSchristosR7 = MAX ( R4 , R7 ) (V);
127*6ca2c52aSchristosCHECKREG r0, 0x45379565;
128*6ca2c52aSchristosCHECKREG r1, 0x6759AB2D;
129*6ca2c52aSchristosCHECKREG r2, 0x44555535;
130*6ca2c52aSchristosCHECKREG r3, 0x66665747;
131*6ca2c52aSchristosCHECKREG r4, 0x88789565;
132*6ca2c52aSchristosCHECKREG r5, 0xAA8ABB5B;
133*6ca2c52aSchristosCHECKREG r6, 0xCC9CDD85;
134*6ca2c52aSchristosCHECKREG r7, 0xEEAEFF9F;
135*6ca2c52aSchristos
136*6ca2c52aSchristosimm32 r0, 0xa56b89ab;
137*6ca2c52aSchristosimm32 r1, 0x659b4bcd;
138*6ca2c52aSchristosimm32 r2, 0xd9736564;
139*6ca2c52aSchristosimm32 r3, 0x61278394;
140*6ca2c52aSchristosimm32 r4, 0xb8876439;
141*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb;
142*6ca2c52aSchristosimm32 r6, 0xcccc1ddd;
143*6ca2c52aSchristosimm32 r7, 0x12346fff;
144*6ca2c52aSchristosR0 = MAX ( R5 , R0 ) (V);
145*6ca2c52aSchristosR1 = MAX ( R5 , R1 ) (V);
146*6ca2c52aSchristosR2 = MAX ( R5 , R2 ) (V);
147*6ca2c52aSchristosR3 = MAX ( R5 , R3 ) (V);
148*6ca2c52aSchristosR4 = MAX ( R5 , R4 ) (V);
149*6ca2c52aSchristosR5 = MAX ( R5 , R5 ) (V);
150*6ca2c52aSchristosR6 = MAX ( R5 , R6 ) (V);
151*6ca2c52aSchristosR7 = MAX ( R5 , R7 ) (V);
152*6ca2c52aSchristosCHECKREG r0, 0xAAAA0BBB;
153*6ca2c52aSchristosCHECKREG r1, 0x659B4BCD;
154*6ca2c52aSchristosCHECKREG r2, 0xD9736564;
155*6ca2c52aSchristosCHECKREG r3, 0x61270BBB;
156*6ca2c52aSchristosCHECKREG r4, 0xB8876439;
157*6ca2c52aSchristosCHECKREG r5, 0xAAAA0BBB;
158*6ca2c52aSchristosCHECKREG r6, 0xCCCC1DDD;
159*6ca2c52aSchristosCHECKREG r7, 0x12346FFF;
160*6ca2c52aSchristos
161*6ca2c52aSchristosimm32 r0, 0x956739ab;
162*6ca2c52aSchristosimm32 r1, 0x67694bcd;
163*6ca2c52aSchristosimm32 r2, 0xd3456755;
164*6ca2c52aSchristosimm32 r3, 0x66666777;
165*6ca2c52aSchristosimm32 r4, 0x12345699;
166*6ca2c52aSchristosimm32 r5, 0x45678b6b;
167*6ca2c52aSchristosimm32 r6, 0x043290d6;
168*6ca2c52aSchristosimm32 r7, 0x1234567f;
169*6ca2c52aSchristosR0 = MAX ( R6 , R0 ) (V);
170*6ca2c52aSchristosR1 = MAX ( R6 , R1 ) (V);
171*6ca2c52aSchristosR2 = MAX ( R6 , R2 ) (V);
172*6ca2c52aSchristosR3 = MAX ( R6 , R3 ) (V);
173*6ca2c52aSchristosR4 = MAX ( R6 , R4 ) (V);
174*6ca2c52aSchristosR5 = MAX ( R6 , R5 ) (V);
175*6ca2c52aSchristosR6 = MAX ( R6 , R6 ) (V);
176*6ca2c52aSchristosR7 = MAX ( R6 , R7 ) (V);
177*6ca2c52aSchristosCHECKREG r0, 0x043239AB;
178*6ca2c52aSchristosCHECKREG r1, 0x67694BCD;
179*6ca2c52aSchristosCHECKREG r2, 0x04326755;
180*6ca2c52aSchristosCHECKREG r3, 0x66666777;
181*6ca2c52aSchristosCHECKREG r4, 0x12345699;
182*6ca2c52aSchristosCHECKREG r5, 0x456790D6;
183*6ca2c52aSchristosCHECKREG r6, 0x043290D6;
184*6ca2c52aSchristosCHECKREG r7, 0x1234567F;
185*6ca2c52aSchristos
186*6ca2c52aSchristosimm32 r0, 0x876789ab;
187*6ca2c52aSchristosimm32 r1, 0x6779abcd;
188*6ca2c52aSchristosimm32 r2, 0xd3456755;
189*6ca2c52aSchristosimm32 r3, 0x56789007;
190*6ca2c52aSchristosimm32 r4, 0x789ab799;
191*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb;
192*6ca2c52aSchristosimm32 r6, 0x89ab1d7d;
193*6ca2c52aSchristosimm32 r7, 0xabcd2ff7;
194*6ca2c52aSchristosR0 = MAX ( R7 , R0 ) (V);
195*6ca2c52aSchristosR1 = MAX ( R7 , R1 ) (V);
196*6ca2c52aSchristosR2 = MAX ( R7 , R2 ) (V);
197*6ca2c52aSchristosR3 = MAX ( R7 , R3 ) (V);
198*6ca2c52aSchristosR4 = MAX ( R7 , R4 ) (V);
199*6ca2c52aSchristosR5 = MAX ( R7 , R5 ) (V);
200*6ca2c52aSchristosR6 = MAX ( R7 , R6 ) (V);
201*6ca2c52aSchristosR7 = MAX ( R7 , R7 ) (V);
202*6ca2c52aSchristosCHECKREG r0, 0xABCD2FF7;
203*6ca2c52aSchristosCHECKREG r1, 0x67792FF7;
204*6ca2c52aSchristosCHECKREG r2, 0xD3456755;
205*6ca2c52aSchristosCHECKREG r3, 0x56782FF7;
206*6ca2c52aSchristosCHECKREG r4, 0x789A2FF7;
207*6ca2c52aSchristosCHECKREG r5, 0xABCD2FF7;
208*6ca2c52aSchristosCHECKREG r6, 0xABCD2FF7;
209*6ca2c52aSchristosCHECKREG r7, 0xABCD2FF7;
210*6ca2c52aSchristosimm32 r0, 0x456739ab;
211*6ca2c52aSchristosimm32 r1, 0x67694bcd;
212*6ca2c52aSchristosimm32 r2, 0x03456755;
213*6ca2c52aSchristosimm32 r3, 0x66666777;
214*6ca2c52aSchristosimm32 r4, 0x12345699;
215*6ca2c52aSchristosimm32 r5, 0x45678b6b;
216*6ca2c52aSchristosimm32 r6, 0x043290d6;
217*6ca2c52aSchristosimm32 r7, 0x1234567f;
218*6ca2c52aSchristosR4 = MAX ( R4 , R7 ) (V);
219*6ca2c52aSchristosR5 = MAX ( R5 , R5 ) (V);
220*6ca2c52aSchristosR2 = MAX ( R6 , R3 ) (V);
221*6ca2c52aSchristosR6 = MAX ( R0 , R4 ) (V);
222*6ca2c52aSchristosR0 = MAX ( R1 , R6 ) (V);
223*6ca2c52aSchristosR2 = MAX ( R2 , R1 ) (V);
224*6ca2c52aSchristosR1 = MAX ( R3 , R0 ) (V);
225*6ca2c52aSchristosR7 = MAX ( R7 , R4 ) (V);
226*6ca2c52aSchristosCHECKREG r0, 0x67695699;
227*6ca2c52aSchristosCHECKREG r1, 0x67696777;
228*6ca2c52aSchristosCHECKREG r2, 0x67696777;
229*6ca2c52aSchristosCHECKREG r3, 0x66666777;
230*6ca2c52aSchristosCHECKREG r4, 0x12345699;
231*6ca2c52aSchristosCHECKREG r5, 0x45678B6B;
232*6ca2c52aSchristosCHECKREG r6, 0x45675699;
233*6ca2c52aSchristosCHECKREG r7, 0x12345699;
234*6ca2c52aSchristos
235*6ca2c52aSchristosimm32 r0, 0x876789ab;
236*6ca2c52aSchristosimm32 r1, 0x6779abcd;
237*6ca2c52aSchristosimm32 r2, 0x2345d755;
238*6ca2c52aSchristosimm32 r3, 0x5678b007;
239*6ca2c52aSchristosimm32 r4, 0x789ab799;
240*6ca2c52aSchristosimm32 r5, 0xaaaa0bbb;
241*6ca2c52aSchristosimm32 r6, 0x89ab1d7d;
242*6ca2c52aSchristosimm32 r7, 0xabcd2ff7;
243*6ca2c52aSchristosR3 = MAX ( R4 , R0 ) (V);
244*6ca2c52aSchristosR5 = MAX ( R5 , R1 ) (V);
245*6ca2c52aSchristosR2 = MAX ( R2 , R2 ) (V);
246*6ca2c52aSchristosR7 = MAX ( R7 , R3 ) (V);
247*6ca2c52aSchristosR4 = MAX ( R3 , R4 ) (V);
248*6ca2c52aSchristosR0 = MAX ( R1 , R5 ) (V);
249*6ca2c52aSchristosR1 = MAX ( R0 , R6 ) (V);
250*6ca2c52aSchristosR6 = MAX ( R6 , R7 ) (V);
251*6ca2c52aSchristosCHECKREG r0, 0x67790BBB;
252*6ca2c52aSchristosCHECKREG r1, 0x67791D7D;
253*6ca2c52aSchristosCHECKREG r2, 0x2345D755;
254*6ca2c52aSchristosCHECKREG r3, 0x789AB799;
255*6ca2c52aSchristosCHECKREG r4, 0x789AB799;
256*6ca2c52aSchristosCHECKREG r5, 0x67790BBB;
257*6ca2c52aSchristosCHECKREG r6, 0x789A2FF7;
258*6ca2c52aSchristosCHECKREG r7, 0x789A2FF7;
259*6ca2c52aSchristos
260*6ca2c52aSchristos
261*6ca2c52aSchristospass
262