Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / spc / tcc.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tcc.s
5* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
6* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
7*
8* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9*
10* This program is free software; you can redistribute it and/or modify
11* it under the terms of the GNU General Public License as published by
12* the Free Software Foundation; version 2 of the License.
13*
14* This program is distributed in the hope that it will be useful,
15* but WITHOUT ANY WARRANTY; without even the implied warranty of
16* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17* GNU General Public License for more details.
18*
19* You should have received a copy of the GNU General Public License
20* along with this program; if not, write to the Free Software
21* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22*
23* For the avoidance of doubt, and except that if any non-GPL license
24* choice is available it will apply instead, Sun elects to use only
25* the General Public License version 2 (GPLv2) at this time for any
26* software where a choice of GPL license versions is made
27* available with the language indicating that GPLv2 or any later version
28* may be used, or where a choice of which version of the GPL is applied is
29* otherwise unspecified.
30*
31* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
32* CA 95054 USA or visit www.sun.com if you need additional information or
33* have any questions.
34*
35*
36* ========== Copyright Header End ============================================
37*/
38.ident "FOCUSCASE: focus.pm,v 1.1 2003/04/23 17:53:39 somePerson Exp somePerson $ spc_basic_isa2.pl FOCUS_SEED=804309008"
39.ident "BY rg131678 ON Thu Jun 26 17:23:08 CDT 2003"
40.ident "Using Instruction Hash for Focus :$Id: tcc.s,v 1.3 2007/07/05 22:02:08 drp Exp $"
41#include "defines.h"
42#include "old_boot.s"
43
44/************************************************************************
45 Test case code start
46 ************************************************************************/
47
48.text
49.global main
50
51main: /* test begin */
52
53 ta T_RD_THID
54 mov %o1, %l6
55 umul %l6, 256, %l7
56 setx DIAG_DATA_AREA, %g1, %g3
57 add %l7, %g3, %l7
58
59 !# Initialize registers ..
60
61 !# Global registers
62 set 0x3, %g1
63 set 0x1, %g2
64 set 0xF, %g3
65 set 0x3, %g4
66 set 0xE, %g5
67 set 0xF, %g6
68 set 0x1, %g7
69 !# Input registers
70 set -0xF, %i0
71 set -0x7, %i1
72 set -0xC, %i2
73 set -0xD, %i3
74 set -0x6, %i4
75 set -0xA, %i5
76 set -0xE, %i6
77 set -0xB, %i7
78 !# Local registers
79 set 0x3DE7A298, %l0
80 set 0x562541BA, %l1
81 set 0x2A7D95DB, %l2
82 set 0x32AF16C7, %l3
83 set 0x27C91381, %l4
84 set 0x504B3E5E, %l5
85 set 0x79445C00, %l6
86 !# Output registers
87 set -0x06EB, %o0
88 set -0x03D1, %o1
89 set 0x07D0, %o2
90 set 0x083D, %o3
91 set -0x07CD, %o4
92 set -0x1706, %o5
93 set 0x03B0, %o6
94 set 0x025A, %o7
95
96 !# Execute some ALU ops ..
97
98 tn %xcc, 0x2
99 smulcc %l2, 0x1817, %i1
100 tcs %icc, 0x1
101 edge16 %o0, %l5, %g3
102 tle %xcc, 0x1
103 edge32 %i5, %o5, %i4
104 popc %l4, %l6
105 orn %i3, 0x0739, %g2
106 edge8 %o7, %o4, %l1
107 edge8l %i6, %g4, %g7
108 tg %xcc, 0x7
109 movvc %xcc, %i2, %g6
110 movrgez %o1, %o6, %i0
111 movrgez %l3, 0x269, %g1
112 addccc %g5, %i7, %o2
113 andn %l0, %l2, %i1
114 mova %xcc, %o3, %l5
115 tg %xcc, 0x4
116 movl %icc, %g3, %o0
117 taddcctv %o5, 0x0ED1, %i4
118 tsubcc %l4, %i5, %l6
119 tl %xcc, 0x6
120 edge32ln %i3, %g2, %o7
121 umul %o4, 0x0A2F, %l1
122 edge16n %g4, %g7, %i6
123 xnorcc %g6, 0x1EF8, %o1
124 brnz,a %o6, loop_1
125 lduh [%l7 + 0x70], %i2
126 andn %l3, 0x10EE, %g1
127 movneg %xcc, %i0, %g5
128loop_1:
129 andn %i7, 0x19FC, %l0
130 sra %l2, %o2, %i1
131 movl %xcc, %l5, %o3
132 edge8 %o0, %o5, %g3
133 xnor %i4, %l4, %l6
134 movgu %xcc, %i3, %i5
135 movre %o7, %o4, %g2
136 movrgez %g4, 0x19B, %g7
137 fabss %f0, %f8
138 andcc %i6, 0x0CF8, %g6
139 subc %o1, 0x0D82, %l1
140 tleu %icc, 0x5
141 edge16ln %i2, %l3, %g1
142 subc %o6, %i0, %g5
143 orncc %i7, %l0, %l2
144 edge32l %o2, %i1, %o3
145 movrne %o0, 0x356, %o5
146 andcc %g3, 0x04C9, %l5
147 edge8l %l4, %l6, %i4
148 sdiv %i5, 0x1F99, %o7
149 mulx %i3, %o4, %g4
150 tne %xcc, 0x1
151 udiv %g7, 0x1274, %i6
152 subc %g6, %g2, %l1
153 udivcc %i2, 0x0CAA, %l3
154 edge8n %o1, %g1, %o6
155 tvs %xcc, 0x4
156 edge16n %i0, %g5, %l0
157 edge8ln %l2, %o2, %i7
158 popc %o3, %o0
159 edge8ln %o5, %i1, %g3
160 ld [%l7 + 0x3C], %f5
161 sdiv %l5, 0x0875, %l4
162 xorcc %l6, 0x1143, %i4
163 addcc %i5, %o7, %o4
164 movle %xcc, %g4, %g7
165 and %i6, %g6, %i3
166 movle %xcc, %l1, %g2
167 smulcc %l3, 0x0D13, %o1
168 edge32ln %i2, %o6, %g1
169 tn %icc, 0x0
170 mulx %i0, 0x1B69, %g5
171 edge32n %l2, %o2, %i7
172 movre %l0, %o0, %o5
173 movne %icc, %o3, %i1
174 or %l5, %l4, %g3
175 edge32n %l6, %i5, %i4
176 subc %o4, 0x10A5, %o7
177 tneg %icc, 0x7
178 tpos %icc, 0x4
179 movneg %icc, %g4, %g7
180 sll %i6, %i3, %g6
181 tneg %xcc, 0x1
182 xorcc %l1, %l3, %g2
183 smul %o1, 0x0194, %i2
184 sdivcc %g1, 0x14C6, %i0
185 te %xcc, 0x0
186 sllx %o6, 0x12, %l2
187 sra %g5, 0x1B, %o2
188 sdivcc %i7, 0x13E0, %l0
189 tcs %icc, 0x0
190 sth %o5, [%l7 + 0x64]
191 movrne %o0, %i1, %o3
192 sethi 0x0E79, %l4
193 tleu %icc, 0x2
194 movl %icc, %l5, %l6
195 popc 0x1CE1, %i5
196 umulcc %g3, %o4, %o7
197 edge32l %i4, %g7, %i6
198 movneg %xcc, %g4, %i3
199 sdivx %l1, 0x120A, %g6
200 popc 0x008C, %l3
201 tcc %icc, 0x5
202 move %icc, %o1, %i2
203 tg %xcc, 0x6
204 subccc %g2, 0x10DB, %g1
205 movneg %icc, %o6, %l2
206 fmovrslz %i0, %f5, %f9
207 srax %o2, 0x05, %g5
208 movrgz %l0, %i7, %o0
209 movvs %icc, %i1, %o5
210 edge8l %l4, %l5, %o3
211 tge %icc, 0x6
212 edge16l %l6, %i5, %g3
213 movre %o4, 0x0DD, %i4
214 movrgz %o7, %g7, %g4
215 movrgez %i6, 0x383, %l1
216 udiv %i3, 0x0B8F, %g6
217 tgu %xcc, 0x4
218 orcc %o1, 0x1F1A, %l3
219 edge32ln %i2, %g2, %g1
220 smul %o6, 0x0542, %l2
221 fmovsleu %xcc, %f7, %f6
222 movrgz %i0, 0x119, %g5
223 taddcc %l0, %o2, %o0
224 xorcc %i7, 0x1153, %o5
225 tcc %xcc, 0x4
226 tl %icc, 0x2
227 edge32l %i1, %l4, %o3
228 fpadd16s %f8, %f3, %f2
229 udiv %l6, 0x19DE, %i5
230 movgu %xcc, %g3, %o4
231 stw %l5, [%l7 + 0x48]
232 subc %i4, 0x1432, %o7
233 movrne %g7, %g4, %l1
234 tge %icc, 0x5
235 ldx [%l7 + 0x38], %i3
236 edge16n %g6, %o1, %l3
237 stb %i6, [%l7 + 0x14]
238 edge32l %i2, %g1, %g2
239 orcc %l2, 0x17A5, %i0
240 xnorcc %o6, %l0, %o2
241 and %g5, %i7, %o0
242 udivx %i1, 0x1BD4, %o5
243 fbne,a %fcc3, loop_2
244 addc %o3, 0x1D1D, %l6
245 sdivcc %l4, 0x000B, %i5
246 ldub [%l7 + 0x74], %g3
247loop_2:
248 ldx [%l7 + 0x08], %o4
249 movle %icc, %i4, %l5
250 edge8l %g7, %o7, %g4
251 addccc %i3, %l1, %o1
252 edge32 %l3, %i6, %i2
253 fabss %f15, %f9
254 tl %icc, 0x4
255 udiv %g1, 0x125A, %g2
256 ta %xcc, 0x3
257 tleu %xcc, 0x6
258 alignaddr %l2, %i0, %g6
259 srlx %l0, 0x17, %o6
260 smulcc %o2, 0x1CEF, %g5
261 sll %i7, 0x1A, %i1
262 add %o0, 0x15DF, %o5
263 ldx [%l7 + 0x18], %o3
264 edge8l %l4, %l6, %g3
265 movvc %xcc, %i5, %o4
266 tvc %xcc, 0x7
267 tpos %icc, 0x7
268 edge16n %i4, %l5, %o7
269 movcs %icc, %g7, %i3
270 edge16ln %l1, %g4, %l3
271 orcc %i6, %o1, %g1
272 movn %icc, %i2, %l2
273 tgu %icc, 0x3
274 or %i0, %g2, %l0
275 sethi 0x15E1, %g6
276 edge16n %o2, %g5, %i7
277 edge16n %i1, %o6, %o5
278 edge32ln %o3, %o0, %l6
279 tle %icc, 0x2
280 move %xcc, %g3, %i5
281 sdivcc %o4, 0x067B, %i4
282 fmovdle %icc, %f6, %f15
283 te %icc, 0x2
284 movrlz %l5, 0x1BF, %o7
285 alignaddr %g7, %i3, %l4
286 edge16n %l1, %g4, %i6
287 sdivcc %l3, 0x0FA5, %o1
288 orncc %i2, 0x02F0, %g1
289 edge32n %i0, %g2, %l2
290 tle %xcc, 0x7
291 movrlez %l0, 0x1B6, %o2
292 movl %xcc, %g5, %i7
293 edge8n %i1, %g6, %o5
294 movrlez %o6, 0x2D8, %o3
295 tge %icc, 0x6
296 movrne %l6, 0x0F0, %g3
297 movleu %xcc, %i5, %o4
298 subcc %o0, 0x0C73, %l5
299 taddcctv %i4, 0x02A3, %o7
300 sub %g7, %i3, %l4
301 mulx %g4, 0x0B91, %l1
302 xnor %i6, %o1, %i2
303 andcc %g1, %i0, %g2
304 umulcc %l3, 0x1C6D, %l2
305 xor %l0, 0x0D0B, %g5
306 xorcc %o2, 0x104D, %i1
307 edge16ln %g6, %o5, %o6
308 subcc %o3, %l6, %i7
309 srlx %i5, 0x06, %o4
310 or %o0, 0x1619, %g3
311 tpos %xcc, 0x7
312 tpos %icc, 0x7
313 movre %l5, 0x072, %i4
314 alignaddr %g7, %o7, %l4
315 edge32n %i3, %g4, %l1
316 orncc %i6, %o1, %i2
317 edge32l %g1, %i0, %l3
318 movl %xcc, %l2, %l0
319 tle %xcc, 0x6
320 mulx %g5, 0x140B, %g2
321 movleu %icc, %o2, %g6
322 tle %xcc, 0x0
323 edge16ln %o5, %o6, %o3
324 movneg %icc, %i1, %l6
325 movne %xcc, %i5, %o4
326 edge32l %i7, %o0, %l5
327 udivcc %g3, 0x1849, %g7
328 movcc %xcc, %o7, %l4
329 sllx %i3, 0x04, %i4
330 sll %l1, %g4, %o1
331 addcc %i6, %g1, %i2
332 edge16ln %i0, %l3, %l2
333 movne %icc, %g5, %l0
334 movrne %g2, 0x1B1, %g6
335 te %xcc, 0x1
336 movleu %icc, %o2, %o5
337 xnorcc %o6, 0x0F84, %i1
338 te %xcc, 0x4
339 xnorcc %l6, %i5, %o4
340 smulcc %o3, %i7, %o0
341 tleu %xcc, 0x2
342 subc %l5, %g3, %g7
343 addccc %l4, 0x1C19, %i3
344 tn %icc, 0x1
345 alignaddrl %o7, %i4, %g4
346 tsubcc %l1, 0x1DC7, %i6
347 mulx %g1, %o1, %i0
348 edge32 %l3, %i2, %l2
349 andn %l0, 0x144E, %g5
350 tg %icc, 0x3
351 tpos %icc, 0x1
352 andn %g6, %o2, %o5
353 andn %g2, %i1, %l6
354 sra %i5, 0x04, %o6
355 or %o3, %i7, %o4
356 tcs %icc, 0x1
357 orcc %o0, 0x0BC4, %g3
358 edge16ln %l5, %l4, %i3
359 orcc %g7, 0x0A41, %i4
360 sll %o7, 0x00, %g4
361 taddcc %l1, %g1, %o1
362 sra %i0, 0x0D, %i6
363 taddcc %l3, 0x09F6, %i2
364 tvs %icc, 0x0
365 edge32n %l0, %g5, %g6
366 movre %l2, %o5, %o2
367 sllx %i1, 0x0F, %g2
368 movcs %icc, %i5, %l6
369 brlez,a %o6, loop_3
370 movcs %xcc, %i7, %o4
371 sdivx %o3, 0x1D70, %g3
372 movleu %icc, %o0, %l5
373loop_3:
374 movgu %xcc, %i3, %g7
375 addcc %i4, 0x1C8B, %o7
376 edge16 %g4, %l1, %l4
377 tge %xcc, 0x1
378 tleu %xcc, 0x4
379 sethi 0x07B8, %g1
380 alignaddrl %o1, %i6, %l3
381 te %xcc, 0x0
382 tsubcctv %i0, %l0, %g5
383 addcc %i2, 0x11E3, %l2
384 movvs %xcc, %o5, %o2
385 tgu %xcc, 0x1
386 movn %icc, %g6, %i1
387 alignaddr %g2, %l6, %i5
388 sdivx %i7, 0x1FDE, %o4
389 alignaddrl %o3, %o6, %o0
390 mulscc %g3, %i3, %l5
391 smul %i4, 0x1619, %g7
392 umulcc %o7, 0x1A2B, %g4
393 fxor %f2, %f14, %f2
394 tcc %xcc, 0x7
395 xnor %l1, 0x0C5F, %g1
396 sllx %l4, %i6, %o1
397 umul %l3, %i0, %l0
398 fmovscc %icc, %f10, %f2
399 xnorcc %i2, %l2, %g5
400 subcc %o5, %g6, %i1
401 umulcc %g2, %l6, %o2
402 taddcc %i7, 0x103D, %o4
403 movleu %xcc, %i5, %o6
404 addcc %o0, 0x1982, %g3
405 tcc %icc, 0x5
406 fmovdne %icc, %f3, %f0
407 or %o3, %i3, %i4
408 andcc %g7, %o7, %g4
409 movpos %icc, %l5, %g1
410 movleu %icc, %l1, %i6
411 add %o1, 0x0745, %l4
412 movge %icc, %i0, %l3
413 movgu %icc, %l0, %l2
414 movvc %xcc, %g5, %i2
415 popc 0x17F7, %g6
416 sra %o5, 0x01, %i1
417 sub %l6, %g2, %i7
418 movvs %xcc, %o4, %o2
419 sra %i5, 0x0E, %o0
420 alignaddr %o6, %o3, %g3
421 fmovdpos %icc, %f3, %f0
422 ldd [%l7 + 0x40], %f8
423 fandnot1s %f2, %f3, %f4
424 addc %i3, %i4, %g7
425 ta %xcc, 0x7
426 tvs %icc, 0x4
427 sdivx %g4, 0x040E, %l5
428 umul %g1, 0x08CC, %l1
429 tg %icc, 0x1
430 sdivcc %i6, 0x1AAB, %o7
431 edge16l %o1, %l4, %i0
432 edge8ln %l3, %l2, %g5
433 ldx [%l7 + 0x50], %i2
434 tn %xcc, 0x6
435 sdiv %l0, 0x08A6, %g6
436 movvs %xcc, %i1, %o5
437 srax %g2, %l6, %o4
438 edge16n %i7, %i5, %o0
439 fbn,a %fcc2, loop_4
440 movgu %xcc, %o6, %o3
441 or %g3, 0x1B4E, %o2
442 movne %xcc, %i4, %g7
443loop_4:
444 udivx %g4, 0x17BE, %l5
445 xnorcc %g1, %i3, %i6
446 tleu %icc, 0x1
447 tsubcctv %l1, 0x1767, %o1
448 udivcc %l4, 0x0E7E, %o7
449 srl %l3, %i0, %g5
450 edge32l %i2, %l0, %g6
451 movpos %icc, %l2, %i1
452 movne %icc, %g2, %o5
453 movrgz %l6, 0x104, %i7
454 edge8n %i5, %o0, %o4
455 movge %icc, %o6, %o3
456 popc %o2, %i4
457 movn %xcc, %g3, %g7
458 andncc %g4, %l5, %i3
459 siam 0x7
460 xor %g1, 0x1BF7, %l1
461 or %i6, %o1, %l4
462 movge %xcc, %l3, %o7
463 smulcc %i0, %i2, %l0
464 tneg %icc, 0x3
465 edge32 %g5, %g6, %l2
466 edge32ln %g2, %o5, %l6
467 fblg,a %fcc1, loop_5
468 tsubcc %i1, %i5, %o0
469 tcc %icc, 0x0
470 sdivcc %o4, 0x1D64, %o6
471loop_5:
472 edge8n %o3, %o2, %i7
473 movcc %icc, %i4, %g3
474 taddcc %g7, %l5, %g4
475 movvs %xcc, %g1, %l1
476 movn %xcc, %i3, %i6
477 edge8l %l4, %o1, %o7
478 umulcc %l3, %i2, %l0
479 movrgz %g5, 0x1CE, %g6
480 orn %i0, %g2, %o5
481 sub %l2, %l6, %i5
482 ldsh [%l7 + 0x3C], %o0
483 tleu %xcc, 0x4
484 st %f9, [%l7 + 0x4C]
485 movneg %icc, %o4, %i1
486 subccc %o3, 0x02A6, %o2
487 edge8ln %o6, %i4, %i7
488 edge32 %g7, %l5, %g4
489 move %xcc, %g3, %l1
490 edge32 %g1, %i6, %l4
491 sra %o1, 0x1E, %i3
492 udiv %o7, 0x0359, %l3
493 xnorcc %i2, 0x0B9E, %l0
494 movpos %icc, %g5, %g6
495 movcc %icc, %i0, %o5
496 andncc %g2, %l6, %l2
497 tsubcc %i5, %o0, %o4
498 fnot2 %f6, %f2
499 sllx %i1, %o2, %o6
500 mulx %i4, 0x1B1A, %i7
501 alignaddr %o3, %g7, %l5
502 tneg %xcc, 0x1
503 sdivcc %g4, 0x1059, %g3
504 mulscc %g1, 0x0C16, %i6
505 or %l4, %l1, %i3
506 sethi 0x07F1, %o7
507 fnegd %f12, %f6
508 move %icc, %o1, %i2
509 mulscc %l0, 0x1B29, %g5
510 tsubcctv %l3, 0x1AB4, %i0
511 alignaddrl %o5, %g6, %g2
512 tgu %xcc, 0x5
513 tcs %icc, 0x5
514 movcc %xcc, %l6, %l2
515 movrlez %i5, 0x215, %o4
516 edge32l %i1, %o2, %o6
517 popc %o0, %i4
518 mulscc %o3, %g7, %i7
519 sdivx %l5, 0x0A2C, %g4
520 srax %g3, %g1, %l4
521 stb %i6, [%l7 + 0x58]
522 movrlz %l1, 0x3B6, %o7
523 tl %xcc, 0x2
524 edge8ln %o1, %i2, %l0
525 movpos %icc, %i3, %l3
526 tge %icc, 0x5
527 movleu %xcc, %g5, %o5
528 movle %xcc, %i0, %g6
529 srlx %l6, 0x1E, %l2
530 move %xcc, %i5, %g2
531 andcc %i1, %o4, %o6
532 movpos %xcc, %o0, %i4
533 movcc %xcc, %o3, %g7
534 mova %icc, %i7, %o2
535 mulx %g4, %g3, %g1
536 tleu %xcc, 0x6
537 srl %l4, %l5, %l1
538 sdivcc %o7, 0x0F85, %i6
539 te %xcc, 0x3
540 edge16ln %i2, %l0, %o1
541 movrne %i3, 0x025, %l3
542 edge32ln %g5, %o5, %g6
543 movge %icc, %l6, %l2
544 sdiv %i0, 0x033A, %i5
545 sdiv %i1, 0x17D5, %o4
546 movre %o6, %o0, %g2
547 mova %xcc, %o3, %i4
548 popc %g7, %o2
549 add %g4, 0x13F1, %g3
550 te %icc, 0x7
551 movl %icc, %g1, %i7
552 movle %icc, %l4, %l1
553 alignaddr %l5, %o7, %i6
554 umul %l0, %o1, %i3
555 xnor %l3, %g5, %o5
556 lduw [%l7 + 0x78], %i2
557 sdivcc %g6, 0x0068, %l2
558 tle %icc, 0x0
559 taddcc %i0, 0x1866, %i5
560 tcs %xcc, 0x0
561 movne %xcc, %l6, %o4
562 movcs %icc, %i1, %o6
563 tvs %icc, 0x0
564 subcc %o0, 0x05B1, %g2
565 tne %xcc, 0x4
566 add %o3, 0x1901, %i4
567 tvc %icc, 0x6
568 alignaddr %g7, %o2, %g3
569 andncc %g1, %i7, %l4
570 udivx %l1, 0x0CD5, %g4
571 te %icc, 0x3
572 tleu %xcc, 0x4
573 add %o7, %i6, %l0
574 movrgez %l5, %o1, %i3
575 tneg %icc, 0x0
576 addc %l3, 0x0A24, %o5
577 tg %icc, 0x6
578 sdivx %i2, 0x079C, %g6
579 tle %xcc, 0x2
580 sllx %g5, %i0, %l2
581 addc %i5, %o4, %i1
582 mulscc %o6, %o0, %g2
583 ta %icc, 0x4
584 tgu %xcc, 0x0
585 fmovsneg %xcc, %f10, %f9
586 edge32ln %l6, %i4, %o3
587 ta %icc, 0x1
588 movleu %xcc, %g7, %o2
589 tl %icc, 0x7
590 orncc %g3, 0x14EB, %g1
591 or %l4, 0x0E41, %l1
592 movrgz %g4, 0x19D, %o7
593 xnor %i7, 0x058A, %i6
594 tvc %xcc, 0x4
595 addccc %l0, %o1, %l5
596 xor %l3, %o5, %i2
597 edge16n %i3, %g6, %i0
598 ta %icc, 0x7
599 sdiv %g5, 0x0023, %l2
600 edge32l %i5, %o4, %i1
601 edge32n %o6, %g2, %o0
602 ldx [%l7 + 0x10], %l6
603 fands %f12, %f2, %f13
604 edge8 %o3, %i4, %g7
605 ld [%l7 + 0x58], %f6
606 edge8n %o2, %g1, %g3
607 or %l1, %l4, %g4
608 movne %xcc, %o7, %i7
609 movge %icc, %l0, %o1
610 movge %icc, %l5, %l3
611 movne %icc, %o5, %i2
612 mulscc %i6, %g6, %i3
613 ldsh [%l7 + 0x5E], %g5
614 fmovdcs %xcc, %f0, %f10
615 edge8 %i0, %l2, %o4
616 orn %i5, 0x0DD2, %i1
617 xor %o6, %g2, %o0
618 edge16ln %l6, %i4, %g7
619 tsubcctv %o2, 0x0AF9, %g1
620 edge8ln %o3, %l1, %l4
621 ldsb [%l7 + 0x36], %g3
622 movrne %o7, %i7, %l0
623 sra %g4, 0x0D, %o1
624 te %xcc, 0x7
625 orncc %l3, 0x1146, %l5
626 tg %xcc, 0x5
627 edge32n %i2, %i6, %g6
628 addc %i3, 0x0DE2, %g5
629 xnor %o5, %l2, %o4
630 udivx %i0, 0x1081, %i1
631 movrne %i5, %o6, %g2
632 umul %o0, 0x1B82, %i4
633 tg %xcc, 0x5
634 movre %l6, %g7, %g1
635 movcc %icc, %o2, %l1
636 sdivcc %l4, 0x1951, %o3
637 alignaddrl %g3, %i7, %o7
638 movge %icc, %l0, %g4
639 movrlez %o1, 0x15C, %l3
640 move %xcc, %i2, %l5
641 addccc %g6, 0x0181, %i6
642 movpos %xcc, %i3, %g5
643 sll %o5, %o4, %i0
644 brlez,a %l2, loop_6
645 tle %xcc, 0x0
646 orncc %i5, %o6, %g2
647 ldsb [%l7 + 0x31], %o0
648loop_6:
649 andn %i1, %l6, %g7
650 movrgez %g1, %o2, %i4
651 tge %xcc, 0x7
652 fmovsne %icc, %f10, %f10
653 edge8n %l1, %o3, %l4
654 and %g3, 0x122D, %o7
655 tpos %icc, 0x2
656 tgu %xcc, 0x6
657 sth %i7, [%l7 + 0x38]
658 xnor %l0, %g4, %o1
659 andn %i2, %l3, %l5
660 edge8 %g6, %i6, %g5
661 movrlez %i3, %o4, %i0
662 movne %icc, %l2, %o5
663 sll %i5, 0x1E, %g2
664 smulcc %o0, %o6, %i1
665 sllx %g7, 0x0A, %g1
666 mulscc %o2, 0x0B35, %l6
667 tleu %icc, 0x6
668 edge32 %i4, %o3, %l1
669 movne %icc, %g3, %o7
670 mova %icc, %i7, %l0
671 tvc %icc, 0x4
672 add %g4, %o1, %i2
673 srl %l3, 0x0D, %l4
674 tl %icc, 0x2
675 sub %l5, %g6, %i6
676 mulx %g5, 0x069C, %o4
677 edge32 %i0, %i3, %o5
678 edge16l %l2, %g2, %i5
679 umulcc %o6, %o0, %i1
680 addccc %g7, 0x1D7D, %o2
681 movg %xcc, %g1, %i4
682 alignaddr %o3, %l1, %l6
683 tvc %icc, 0x4
684 orcc %o7, 0x1951, %i7
685 edge32l %g3, %l0, %o1
686 addc %g4, %i2, %l3
687 sra %l4, 0x1D, %l5
688 brgz %g6, loop_7
689 movrgez %g5, 0x195, %o4
690 sdivx %i6, 0x0282, %i3
691 movcc %xcc, %i0, %o5
692loop_7:
693 movg %icc, %g2, %l2
694 mulscc %i5, %o0, %i1
695 movvs %icc, %o6, %g7
696 sra %g1, 0x10, %o2
697 udiv %o3, 0x1D71, %l1
698 te %xcc, 0x2
699 smul %i4, %o7, %l6
700 alignaddrl %g3, %i7, %l0
701 movgu %xcc, %o1, %i2
702 move %xcc, %g4, %l4
703 movl %icc, %l5, %g6
704 edge8l %g5, %o4, %i6
705 edge8 %i3, %i0, %o5
706 fbg %fcc0, loop_8
707 tleu %icc, 0x6
708 mulscc %l3, %g2, %i5
709 addc %o0, %l2, %i1
710loop_8:
711 subccc %g7, 0x07AE, %o6
712 mulscc %g1, 0x08B4, %o3
713 andcc %o2, 0x0C1B, %l1
714 xnor %o7, 0x09AF, %i4
715 tleu %xcc, 0x2
716 tneg %icc, 0x4
717 xorcc %l6, %g3, %i7
718 umul %o1, %l0, %i2
719 edge8 %g4, %l4, %l5
720 andcc %g5, %o4, %g6
721 movrlez %i3, %i0, %i6
722 sdivcc %l3, 0x0BA8, %g2
723 andcc %i5, 0x1061, %o5
724 tg %icc, 0x2
725 movrlz %l2, 0x38E, %o0
726 ta %icc, 0x7
727 edge8ln %i1, %o6, %g7
728 movne %xcc, %o3, %o2
729 movn %icc, %l1, %g1
730 tsubcctv %i4, %l6, %o7
731 movgu %xcc, %g3, %i7
732 tcs %icc, 0x7
733 add %o1, 0x1CF3, %i2
734 movrlez %l0, 0x0FE, %l4
735 sub %g4, 0x0351, %l5
736 and %g5, %o4, %i3
737 move %icc, %i0, %g6
738 tcc %xcc, 0x2
739 fmovdcc %xcc, %f12, %f4
740 subc %l3, 0x0441, %i6
741 tvc %icc, 0x5
742 brnz,a %i5, loop_9
743 sll %o5, %l2, %o0
744 sll %g2, %i1, %g7
745 stb %o3, [%l7 + 0x3B]
746loop_9:
747 srl %o6, %l1, %o2
748 tpos %icc, 0x3
749 subcc %g1, %l6, %o7
750 tleu %icc, 0x1
751 sdivx %i4, 0x15DD, %i7
752 fandnot1s %f12, %f3, %f5
753 sdivcc %o1, 0x17D0, %i2
754 taddcc %g3, 0x0A36, %l0
755 movcc %xcc, %l4, %l5
756 sllx %g4, 0x0B, %o4
757 andn %i3, %i0, %g5
758 edge32ln %l3, %i6, %i5
759 xorcc %o5, %l2, %o0
760 movcc %icc, %g6, %g2
761 tgu %icc, 0x5
762 edge32ln %i1, %o3, %o6
763 sllx %g7, 0x1F, %l1
764 tn %icc, 0x2
765 movvs %icc, %g1, %l6
766 tvs %icc, 0x6
767 mulscc %o7, %o2, %i4
768 alignaddr %i7, %i2, %o1
769 movcc %icc, %g3, %l4
770 edge8ln %l0, %l5, %g4
771 xor %o4, 0x151E, %i3
772 ta %xcc, 0x2
773 tgu %icc, 0x5
774 xorcc %g5, 0x14B9, %i0
775 movre %i6, 0x242, %l3
776 xorcc %i5, %o5, %l2
777 udiv %g6, 0x0553, %g2
778 andncc %i1, %o0, %o6
779 or %g7, 0x0415, %l1
780 addccc %o3, %l6, %o7
781 udivx %o2, 0x0D71, %i4
782 movgu %xcc, %i7, %g1
783 fpadd16s %f11, %f13, %f1
784 movleu %icc, %i2, %g3
785 ld [%l7 + 0x60], %f14
786 orncc %o1, 0x10D4, %l0
787 srl %l5, 0x0B, %g4
788 taddcctv %o4, %i3, %l4
789 tvc %xcc, 0x5
790 movre %i0, %g5, %l3
791 movrgez %i5, 0x07E, %i6
792 fmovspos %icc, %f13, %f6
793 move %xcc, %l2, %o5
794 udiv %g2, 0x0445, %g6
795 fbge,a %fcc1, loop_10
796 edge16l %i1, %o6, %o0
797 tgu %icc, 0x5
798 fandnot1s %f12, %f2, %f6
799loop_10:
800 tgu %icc, 0x4
801 movrlez %g7, 0x0F1, %o3
802 movvc %xcc, %l6, %o7
803 movvs %xcc, %o2, %l1
804 movrlez %i4, 0x0A2, %g1
805 edge16n %i7, %g3, %i2
806 lduh [%l7 + 0x5E], %l0
807 add %l5, 0x1983, %g4
808 edge16 %o1, %o4, %l4
809 smul %i0, 0x01F6, %i3
810 orcc %g5, %l3, %i6
811 xnorcc %l2, 0x01CB, %i5
812 xnor %o5, 0x1444, %g6
813 srl %g2, %o6, %o0
814 sdivx %g7, 0x1768, %i1
815 ldsb [%l7 + 0x22], %o3
816 tge %xcc, 0x2
817 ta %icc, 0x6
818 tcc %xcc, 0x4
819 fcmpgt32 %f6, %f6, %o7
820 andn %o2, 0x06AE, %l6
821 tn %xcc, 0x2
822 andcc %i4, 0x0EC5, %l1
823 subccc %i7, 0x0CD1, %g3
824 tleu %xcc, 0x4
825 sllx %g1, 0x1A, %l0
826 sethi 0x0F8C, %l5
827 movrne %i2, %o1, %g4
828 srax %o4, %l4, %i0
829 or %i3, %l3, %i6
830 sdiv %g5, 0x0F34, %l2
831 te %xcc, 0x3
832 tn %xcc, 0x7
833 add %o5, %i5, %g6
834 st %f11, [%l7 + 0x60]
835 sdiv %g2, 0x168A, %o0
836 srax %o6, %i1, %g7
837 movneg %icc, %o3, %o2
838 sdivx %l6, 0x1D1B, %i4
839 smul %l1, 0x17C4, %o7
840 andncc %i7, %g1, %l0
841 sll %l5, %i2, %g3
842 edge32n %o1, %g4, %o4
843 srlx %i0, 0x06, %i3
844 add %l3, 0x0BEA, %i6
845 fnegd %f4, %f2
846 xnorcc %g5, %l4, %o5
847 srl %i5, %g6, %l2
848 xorcc %o0, %o6, %i1
849 tneg %icc, 0x4
850 edge16l %g7, %o3, %o2
851 orncc %g2, %l6, %i4
852 edge32l %l1, %o7, %i7
853 udiv %g1, 0x060C, %l0
854 movrgz %i2, %g3, %l5
855 orcc %g4, 0x1C88, %o1
856 popc 0x10DA, %i0
857 ta %xcc, 0x1
858 sdivcc %i3, 0x0942, %o4
859 udivcc %l3, 0x1D40, %i6
860 tge %icc, 0x7
861 addccc %l4, %o5, %g5
862 edge32n %i5, %l2, %g6
863 tsubcc %o0, 0x103C, %i1
864 tvs %icc, 0x2
865 sllx %g7, 0x1D, %o6
866 movrlz %o2, %o3, %g2
867 tne %xcc, 0x7
868 movgu %icc, %i4, %l1
869 sdivcc %l6, 0x0CB6, %i7
870 tgu %icc, 0x0
871 srl %g1, %l0, %o7
872 xor %i2, 0x0B36, %l5
873 addccc %g4, %g3, %o1
874 edge16 %i3, %o4, %l3
875 fmovsge %xcc, %f11, %f10
876 movneg %icc, %i6, %l4
877 tsubcc %i0, 0x1DC9, %g5
878 movneg %xcc, %o5, %l2
879 andcc %i5, %o0, %g6
880 xnorcc %g7, %o6, %o2
881 movleu %xcc, %i1, %o3
882 edge16ln %i4, %l1, %l6
883 andcc %g2, 0x17FA, %g1
884 mulx %l0, %o7, %i7
885 udiv %i2, 0x00F7, %l5
886 udiv %g4, 0x1C6C, %o1
887 edge32ln %i3, %g3, %l3
888 tcs %icc, 0x1
889 alignaddr %i6, %l4, %i0
890 umul %o4, %g5, %l2
891 edge32n %o5, %i5, %o0
892 popc %g6, %o6
893 sethi 0x1068, %g7
894 fmovrde %o2, %f12, %f0
895 movcc %xcc, %i1, %i4
896 sub %o3, 0x0436, %l6
897 edge32 %g2, %l1, %g1
898 subcc %l0, 0x092A, %o7
899 tn %icc, 0x5
900 sethi 0x05AA, %i2
901 fcmped %fcc2, %f2, %f6
902 edge8n %l5, %g4, %i7
903 movg %icc, %o1, %g3
904 andn %i3, %i6, %l3
905 fmovsneg %xcc, %f14, %f4
906 movre %l4, 0x29A, %i0
907 movpos %icc, %o4, %g5
908 movre %o5, 0x161, %i5
909 orncc %o0, %g6, %o6
910 udiv %g7, 0x129C, %l2
911 st %f4, [%l7 + 0x5C]
912 mulscc %i1, %o2, %i4
913 xnorcc %l6, %g2, %o3
914 umul %l1, %l0, %o7
915 movne %icc, %g1, %l5
916 udivcc %i2, 0x05D2, %g4
917 andcc %i7, 0x1465, %o1
918 edge32 %g3, %i3, %i6
919 edge8ln %l3, %l4, %i0
920 movgu %xcc, %g5, %o4
921 alignaddr %o5, %o0, %g6
922 sra %o6, 0x14, %i5
923 xor %g7, %l2, %i1
924 movrgz %i4, 0x263, %l6
925 tl %xcc, 0x0
926 movgu %xcc, %g2, %o3
927 and %l1, 0x005F, %o2
928 movrgez %l0, 0x055, %g1
929 ldub [%l7 + 0x6C], %l5
930 be %xcc, loop_11
931 movle %icc, %o7, %i2
932 xnorcc %g4, %o1, %g3
933 tne %icc, 0x2
934loop_11:
935 movne %xcc, %i7, %i3
936 movle %icc, %l3, %l4
937 tle %xcc, 0x1
938 subccc %i6, 0x0D04, %g5
939 tl %xcc, 0x2
940 movle %icc, %i0, %o5
941 srax %o0, 0x1F, %g6
942 sdivcc %o6, 0x197B, %i5
943 tl %icc, 0x1
944 fnor %f12, %f4, %f12
945 movle %icc, %o4, %g7
946 addcc %i1, %l2, %i4
947 addccc %g2, %o3, %l6
948 movg %icc, %l1, %l0
949 andncc %g1, %o2, %l5
950 addccc %i2, %o7, %o1
951 xor %g3, %g4, %i3
952 umul %l3, %l4, %i7
953 tcs %icc, 0x3
954 sethi 0x0A96, %g5
955 mova %icc, %i6, %o5
956 tsubcctv %i0, %g6, %o0
957 tcc %xcc, 0x0
958 sethi 0x0460, %i5
959 tsubcctv %o4, 0x19B3, %g7
960 movrgz %o6, %l2, %i4
961 and %i1, %o3, %g2
962 movcs %icc, %l1, %l6
963 ldub [%l7 + 0x70], %l0
964 mova %xcc, %g1, %o2
965 sra %i2, %o7, %o1
966 edge8n %g3, %g4, %l5
967 fmovdg %xcc, %f12, %f1
968 xorcc %l3, 0x02AF, %i3
969 tle %icc, 0x0
970 tle %icc, 0x7
971 tvs %xcc, 0x7
972 sethi 0x02FE, %l4
973 popc %i7, %i6
974 brlz,a %o5, loop_12
975 sll %i0, %g6, %g5
976 movneg %icc, %i5, %o4
977 movleu %icc, %g7, %o0
978loop_12:
979 fors %f10, %f1, %f4
980 move %xcc, %l2, %o6
981 popc %i1, %o3
982 movneg %icc, %g2, %i4
983 srlx %l6, %l1, %l0
984 edge32n %g1, %o2, %i2
985 subcc %o1, 0x0EEE, %g3
986 fnegd %f10, %f12
987 ldub [%l7 + 0x0A], %g4
988 te %icc, 0x1
989 edge16l %l5, %l3, %o7
990 mova %icc, %i3, %l4
991 mulx %i7, 0x05C9, %o5
992 sdivcc %i0, 0x060E, %i6
993 subccc %g5, %g6, %o4
994 alignaddrl %g7, %i5, %l2
995 movrgz %o0, 0x17F, %i1
996 edge32n %o6, %g2, %i4
997 edge16n %l6, %l1, %l0
998 or %g1, %o3, %o2
999 udivx %i2, 0x15E7, %o1
1000 orncc %g3, 0x19F2, %l5
1001 mulscc %g4, 0x0377, %o7
1002 tcs %xcc, 0x5
1003 srl %i3, 0x12, %l3
1004 xnor %l4, %i7, %o5
1005 movleu %xcc, %i0, %i6
1006 sth %g6, [%l7 + 0x48]
1007 edge32ln %o4, %g5, %i5
1008 tsubcc %l2, 0x0602, %o0
1009 andn %i1, %o6, %g7
1010 movgu %xcc, %g2, %l6
1011 tge %icc, 0x6
1012 edge8ln %i4, %l1, %l0
1013 andn %o3, 0x047E, %o2
1014 movrne %i2, 0x237, %o1
1015 tsubcc %g1, 0x1EF2, %g3
1016 andn %g4, %l5, %o7
1017 xnor %l3, 0x0263, %i3
1018 and %i7, 0x1F30, %l4
1019 sdiv %o5, 0x15AB, %i6
1020 movleu %icc, %g6, %i0
1021 tpos %xcc, 0x5
1022 and %o4, 0x0A88, %g5
1023 sdivcc %i5, 0x06D3, %o0
1024 umulcc %i1, 0x165E, %o6
1025 edge16l %l2, %g2, %g7
1026 ta %icc, 0x0
1027 taddcc %l6, 0x098E, %l1
1028 or %i4, %o3, %o2
1029 orn %i2, 0x06FF, %l0
1030 tcc %icc, 0x0
1031 edge32 %g1, %o1, %g4
1032 xnor %l5, 0x13DA, %g3
1033 edge16ln %l3, %i3, %i7
1034 movvc %icc, %l4, %o5
1035 srlx %i6, 0x19, %o7
1036 smulcc %g6, 0x02C1, %i0
1037 edge16ln %o4, %g5, %i5
1038 movcs %icc, %i1, %o6
1039 smulcc %o0, 0x155F, %g2
1040 tvs %icc, 0x1
1041 taddcctv %l2, %g7, %l6
1042 mova %xcc, %l1, %o3
1043 edge8l %i4, %i2, %l0
1044 sethi 0x05A8, %o2
1045 edge8 %o1, %g4, %l5
1046 movrgez %g3, %g1, %i3
1047 popc 0x0C30, %l3
1048 edge32 %l4, %i7, %i6
1049 smulcc %o7, 0x1548, %g6
1050 mulx %o5, %o4, %g5
1051 movrgez %i0, 0x05B, %i5
1052 movrne %i1, 0x208, %o6
1053 edge16ln %g2, %o0, %g7
1054 add %l6, 0x1058, %l2
1055 xnor %l1, %o3, %i2
1056 taddcc %l0, %o2, %i4
1057 ldsb [%l7 + 0x1D], %o1
1058 xnorcc %g4, %g3, %l5
1059 udiv %i3, 0x18C2, %l3
1060 fmovsvs %icc, %f13, %f11
1061 tsubcc %l4, %i7, %g1
1062 sllx %o7, %g6, %o5
1063 edge32l %i6, %g5, %o4
1064 te %xcc, 0x7
1065 sethi 0x06AB, %i0
1066 subcc %i1, 0x0537, %o6
1067 tgu %icc, 0x2
1068 ldsw [%l7 + 0x48], %i5
1069 tpos %xcc, 0x1
1070 movneg %icc, %g2, %g7
1071 sub %l6, %o0, %l1
1072 tpos %xcc, 0x7
1073 addcc %l2, 0x0EE7, %i2
1074 edge8 %o3, %o2, %l0
1075 tle %xcc, 0x2
1076 tg %icc, 0x5
1077 movcc %xcc, %i4, %g4
1078 sra %o1, %g3, %l5
1079 edge32l %i3, %l4, %i7
1080 tle %xcc, 0x3
1081 st %f0, [%l7 + 0x24]
1082 taddcctv %l3, 0x1961, %g1
1083 subcc %o7, 0x123E, %g6
1084 andcc %o5, 0x18EC, %g5
1085 movgu %icc, %o4, %i6
1086 mulscc %i1, %i0, %o6
1087 edge32ln %g2, %g7, %l6
1088 movrlz %o0, 0x14B, %l1
1089 xnorcc %i5, 0x1A91, %i2
1090 edge16n %o3, %o2, %l0
1091 movrlz %i4, %l2, %o1
1092 edge16ln %g3, %g4, %l5
1093 tn %xcc, 0x5
1094 te %xcc, 0x7
1095 fmovdpos %xcc, %f13, %f0
1096 andcc %i3, 0x010D, %l4
1097 orcc %i7, 0x01D9, %g1
1098 tcs %icc, 0x6
1099 orn %o7, %l3, %o5
1100 edge8n %g5, %g6, %o4
1101 tvc %icc, 0x2
1102 umulcc %i1, 0x0C2D, %i0
1103 tsubcc %i6, 0x1EC2, %o6
1104 mulx %g2, %l6, %o0
1105 tpos %xcc, 0x0
1106 sdivcc %l1, 0x1820, %i5
1107 movgu %icc, %i2, %o3
1108 tgu %icc, 0x6
1109 movpos %icc, %g7, %l0
1110
1111!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1112!
1113! Stats for Diag:
1114!
1115! Type f : 35
1116! Type cti : 12
1117! Type i : 919
1118! Type l : 34
1119!
1120!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1121
1122
1123 EXIT_GOOD /* test finish */
1124
1125/************************************************************************
1126 Test case data start
1127 ************************************************************************/
1128.data
1129user_data_start:
1130.word 0x80E9ED37
1131.word 0x13FB3DF8
1132.word 0xCE820BE6
1133.word 0x7894F110
1134.word 0x35AE1F94
1135.word 0xA4393524
1136.word 0xEC1D5725
1137.word 0xB15234AB
1138.word 0x224F5C38
1139.word 0x56225637
1140.word 0x54617DC4
1141.word 0xB29067CD
1142.word 0xAEFB4412
1143.word 0xAD58DF84
1144.word 0x364B6AB9
1145.word 0xD2920B96
1146.word 0x1B01D3FF
1147.word 0x877581CC
1148.word 0xE27A459F
1149.word 0xF3F62BB8
1150.word 0xD4E4B745
1151.word 0xAEF78184
1152.word 0xC426E786
1153.word 0xE611D297
1154.word 0x6EC89F27
1155.word 0xF362BD9D
1156.word 0x53740C01
1157.word 0x43C73F58
1158.word 0xD52A7B4B
1159.word 0xE2B7C826
1160.word 0xFC104E1A
1161.word 0xDAA6A056
1162.word 0x45C09A9E
1163.word 0x460F0229
1164.word 0x0F918520
1165.word 0xE208EF9B
1166.word 0xAF1833CB
1167.word 0xEA1DCD07
1168.word 0x0FAD4294
1169.word 0xC83BB49C
1170.word 0x0160691F
1171.word 0xC462C717
1172.word 0x418D5679
1173.word 0xC938F0CD
1174.word 0x2A237579
1175.word 0x5F681668
1176.word 0x4268FD57
1177.word 0x9CAEAE3F
1178.word 0x1173D019
1179.word 0x7BF1D107
1180.word 0x90323107
1181.word 0x57838C20
1182.word 0xCBDA529D
1183.word 0xCA6A7491
1184.word 0xCFD855E1
1185.word 0xB3CE7C7C
1186.word 0x22F6FA55
1187.word 0x77E15F6A
1188.word 0x5723D775
1189.word 0xB2E8A65B
1190.word 0xA4220178
1191.word 0x63A49F3D
1192.word 0xC3FF3D69
1193.word 0x61903825
1194.end