1//Original:/testcases/core/c_dsp32alu_min/c_dsp32alu_min.dsp
2// Spec Reference: dsp32alu dregs = min ( dregs, dregs)
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9
10
11imm32 r0, 0x35678911;
12imm32 r1, 0x2789ab1d;
13imm32 r2, 0x74445515;
14imm32 r3, 0xf6667717;
15imm32 r4, 0x5567891b;
16imm32 r5, 0x6789ab1d;
17imm32 r6, 0x74445515;
18imm32 r7, 0x86667777;
19R0 = MIN ( R0 , R0 );
20R1 = MIN ( R0 , R1 );
21R2 = MIN ( R0 , R2 );
22R3 = MIN ( R0 , R3 );
23R4 = MIN ( R0 , R4 );
24R5 = MIN ( R0 , R5 );
25R6 = MIN ( R0 , R6 );
26R7 = MIN ( R0 , R7 );
27CHECKREG r0, 0x35678911;
28CHECKREG r1, 0x2789AB1D;
29CHECKREG r2, 0x35678911;
30CHECKREG r3, 0xF6667717;
31CHECKREG r4, 0x35678911;
32CHECKREG r5, 0x35678911;
33CHECKREG r6, 0x35678911;
34CHECKREG r7, 0x86667777;
35
36imm32 r0, 0x9567892b;
37imm32 r1, 0xa789ab2d;
38imm32 r2, 0xb4445525;
39imm32 r3, 0xc6667727;
40imm32 r4, 0xd8889929;
41imm32 r5, 0xeaaabb2b;
42imm32 r6, 0xfcccdd2d;
43imm32 r7, 0x0eeeffff;
44R0 = MIN ( R1 , R0 );
45R1 = MIN ( R1 , R1 );
46R2 = MIN ( R1 , R2 );
47R3 = MIN ( R1 , R3 );
48R4 = MIN ( R1 , R4 );
49R5 = MIN ( R1 , R5 );
50R6 = MIN ( R1 , R6 );
51R7 = MIN ( R1 , R7 );
52CHECKREG r0, 0x9567892B;
53CHECKREG r1, 0xA789AB2D;
54CHECKREG r2, 0xA789AB2D;
55CHECKREG r3, 0xA789AB2D;
56CHECKREG r4, 0xA789AB2D;
57CHECKREG r5, 0xA789AB2D;
58CHECKREG r6, 0xA789AB2D;
59CHECKREG r7, 0xA789AB2D;
60
61imm32 r0, 0x716789ab;
62imm32 r1, 0x8289abcd;
63imm32 r2, 0x93445555;
64imm32 r3, 0xa4667777;
65imm32 r4, 0x456789ab;
66imm32 r5, 0xb689abcd;
67imm32 r6, 0x47445555;
68imm32 r7, 0x68667777;
69R0 = MIN ( R2 , R0 );
70R1 = MIN ( R2 , R1 );
71R2 = MIN ( R2 , R2 );
72R3 = MIN ( R2 , R3 );
73R4 = MIN ( R2 , R4 );
74R5 = MIN ( R2 , R5 );
75R6 = MIN ( R2 , R6 );
76R7 = MIN ( R2 , R7 );
77CHECKREG r0, 0x93445555;
78CHECKREG r1, 0x8289ABCD;
79CHECKREG r2, 0x93445555;
80CHECKREG r3, 0x93445555;
81CHECKREG r4, 0x93445555;
82CHECKREG r5, 0x93445555;
83CHECKREG r6, 0x93445555;
84CHECKREG r7, 0x93445555;
85
86imm32 r0, 0x2567892b;
87imm32 r1, 0x5789ab2d;
88imm32 r2, 0xb4445525;
89imm32 r3, 0xc6667727;
90imm32 r0, 0x9567892b;
91imm32 r1, 0xa789ab2d;
92imm32 r2, 0xb4445525;
93imm32 r3, 0xc6667727;
94R0 = MIN ( R3 , R0 );
95R1 = MIN ( R3 , R1 );
96R2 = MIN ( R3 , R2 );
97R3 = MIN ( R3 , R3 );
98R4 = MIN ( R3 , R4 );
99R5 = MIN ( R3 , R5 );
100R6 = MIN ( R3 , R6 );
101R7 = MIN ( R3 , R7 );
102CHECKREG r0, 0x9567892B;
103CHECKREG r1, 0xA789AB2D;
104CHECKREG r2, 0xB4445525;
105CHECKREG r3, 0xC6667727;
106CHECKREG r4, 0x93445555;
107CHECKREG r5, 0x93445555;
108CHECKREG r6, 0x93445555;
109CHECKREG r7, 0x93445555;
110
111imm32 r0, 0xd537891b;
112imm32 r1, 0x6759ab2d;
113imm32 r2, 0xf455b535;
114imm32 r3, 0x66665747;
115imm32 r4, 0x88789565;
116imm32 r5, 0xaa8abb5b;
117imm32 r6, 0xcc9cdd85;
118imm32 r7, 0xeeaeff9f;
119R0 = MIN ( R4 , R0 );
120R1 = MIN ( R4 , R1 );
121R2 = MIN ( R4 , R2 );
122R3 = MIN ( R4 , R3 );
123R4 = MIN ( R4 , R4 );
124R5 = MIN ( R4 , R5 );
125R6 = MIN ( R4 , R6 );
126R7 = MIN ( R4 , R7 );
127CHECKREG r0, 0x88789565;
128CHECKREG r1, 0x88789565;
129CHECKREG r2, 0x88789565;
130CHECKREG r3, 0x88789565;
131CHECKREG r4, 0x88789565;
132CHECKREG r5, 0x88789565;
133CHECKREG r6, 0x88789565;
134CHECKREG r7, 0x88789565;
135
136imm32 r0, 0xa56b89ab;
137imm32 r1, 0x69764bcd;
138imm32 r2, 0x49736564;
139imm32 r3, 0x61278394;
140imm32 r4, 0x98876439;
141imm32 r5, 0xaaaa0bbb;
142imm32 r6, 0xcccc1ddd;
143imm32 r7, 0x12346fff;
144R0 = MIN ( R5 , R0 );
145R1 = MIN ( R5 , R1 );
146R2 = MIN ( R5 , R2 );
147R3 = MIN ( R5 , R3 );
148R4 = MIN ( R5 , R4 );
149R5 = MIN ( R5 , R5 );
150R6 = MIN ( R5 , R6 );
151R7 = MIN ( R5 , R7 );
152CHECKREG r0, 0xA56B89AB;
153CHECKREG r1, 0xAAAA0BBB;
154CHECKREG r2, 0xAAAA0BBB;
155CHECKREG r3, 0xAAAA0BBB;
156CHECKREG r4, 0x98876439;
157CHECKREG r5, 0xAAAA0BBB;
158CHECKREG r6, 0xAAAA0BBB;
159CHECKREG r7, 0xAAAA0BBB;
160
161imm32 r0, 0xe56739ab;
162imm32 r1, 0x67694bcd;
163imm32 r2, 0x03456755;
164imm32 r3, 0x66666777;
165imm32 r4, 0xd2345699;
166imm32 r5, 0x45678b6b;
167imm32 r6, 0x043290d6;
168imm32 r7, 0x1234567f;
169R0 = MIN ( R6 , R0 );
170R1 = MIN ( R6 , R1 );
171R2 = MIN ( R6 , R2 );
172R3 = MIN ( R6 , R3 );
173R4 = MIN ( R6 , R4 );
174R5 = MIN ( R6 , R5 );
175R6 = MIN ( R6 , R6 );
176R7 = MIN ( R6 , R7 );
177CHECKREG r0, 0xE56739AB;
178CHECKREG r1, 0x043290D6;
179CHECKREG r2, 0x03456755;
180CHECKREG r3, 0x043290D6;
181CHECKREG r4, 0xD2345699;
182CHECKREG r5, 0x043290D6;
183CHECKREG r6, 0x043290D6;
184CHECKREG r7, 0x043290D6;
185
186imm32 r0, 0x476789ab;
187imm32 r1, 0x6779abcd;
188imm32 r2, 0x23456755;
189imm32 r3, 0x56789007;
190imm32 r4, 0x789ab799;
191imm32 r5, 0xaaaa0bbb;
192imm32 r6, 0x89ab1d7d;
193imm32 r7, 0xabcd2ff7;
194R0 = MIN ( R7 , R0 );
195R1 = MIN ( R7 , R1 );
196R2 = MIN ( R7 , R2 );
197R3 = MIN ( R7 , R3 );
198R4 = MIN ( R7 , R4 );
199R5 = MIN ( R7 , R5 );
200R6 = MIN ( R7 , R6 );
201R7 = MIN ( R7 , R7 );
202CHECKREG r0, 0xABCD2FF7;
203CHECKREG r1, 0xABCD2FF7;
204CHECKREG r2, 0xABCD2FF7;
205CHECKREG r3, 0xABCD2FF7;
206CHECKREG r4, 0xABCD2FF7;
207CHECKREG r5, 0xAAAA0BBB;
208CHECKREG r6, 0x89AB1D7D;
209CHECKREG r7, 0xABCD2FF7;
210imm32 r0, 0x456739ab;
211imm32 r1, 0x67694bcd;
212imm32 r2, 0xd3456755;
213imm32 r3, 0x66666777;
214imm32 r4, 0x12345699;
215imm32 r5, 0x45678b6b;
216imm32 r6, 0xb43290d6;
217imm32 r7, 0x1234567f;
218R4 = MIN ( R4 , R7 );
219R5 = MIN ( R5 , R5 );
220R2 = MIN ( R6 , R3 );
221R6 = MIN ( R0 , R4 );
222R0 = MIN ( R1 , R6 );
223R2 = MIN ( R2 , R1 );
224R1 = MIN ( R3 , R0 );
225R7 = MIN ( R7 , R4 );
226CHECKREG r0, 0x1234567F;
227CHECKREG r1, 0x1234567F;
228CHECKREG r2, 0xB43290D6;
229CHECKREG r3, 0x66666777;
230CHECKREG r4, 0x1234567F;
231CHECKREG r5, 0x45678B6B;
232CHECKREG r6, 0x1234567F;
233CHECKREG r7, 0x1234567F;
234
235imm32 r0, 0xa76789ab;
236imm32 r1, 0x6779abcd;
237imm32 r2, 0xf3456755;
238imm32 r3, 0x56789007;
239imm32 r4, 0x789ab799;
240imm32 r5, 0xaaaa0bbb;
241imm32 r6, 0x89ab1d7d;
242imm32 r7, 0xabcd2ff7;
243R3 = MIN ( R4 , R0 );
244R5 = MIN ( R5 , R1 );
245R2 = MIN ( R2 , R2 );
246R7 = MIN ( R7 , R3 );
247R4 = MIN ( R3 , R4 );
248R0 = MIN ( R1 , R5 );
249R1 = MIN ( R0 , R6 );
250R6 = MIN ( R6 , R7 );
251CHECKREG r0, 0xAAAA0BBB;
252CHECKREG r1, 0x89AB1D7D;
253CHECKREG r2, 0xF3456755;
254CHECKREG r3, 0xA76789AB;
255CHECKREG r4, 0xA76789AB;
256CHECKREG r5, 0xAAAA0BBB;
257CHECKREG r6, 0x89AB1D7D;
258CHECKREG r7, 0xA76789AB;
259
260
261pass
262