Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / fgu / fgu_ieee_traps_01.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: fgu_ieee_traps_01.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_isa3.pl FOCUS_SEED=1234"
39.ident "Fri Nov 21 16:06:03 CST 2003"
40.ident "Using Instruction Hash for Focus :$Id: fgu_ieee_traps_01.s,v 1.3 2007/07/27 21:45:31 drp Exp $"
41#include "defines.h"
42#include "nmacros.h"
43#include "old_boot.s"
44
45/************************************************************************
46 Test case code start
47 ************************************************************************/
48
49.text
50.global main
51
52main: /* test begin */
53
54 ! Get TID/DIAG DATA AREA. Separate memory for each thread.
55 ta T_RD_THID
56 mov %o1, %l6
57 umul %l6, 256, %l7
58 setx DIAG_DATA_AREA, %g1, %g3
59 add %l7, %g3, %l7
60
61 cmp %l6, 0x0
62 be main_t0
63 nop
64 cmp %l6, 0x1
65 be main_t1
66 nop
67 cmp %l6, 0x2
68 be main_t2
69 nop
70 cmp %l6, 0x3
71 be main_t3
72 nop
73 cmp %l6, 0x4
74 be main_t4
75 nop
76 cmp %l6, 0x5
77 be main_t5
78 nop
79 cmp %l6, 0x6
80 be main_t6
81 nop
82 cmp %l6, 0x7
83 be main_t7
84 nop
85 EXIT_GOOD
86!
87! Thread 0 Start
88!
89main_t0:
90 mov %l7, %g1
91 !# Set %cwp for 8 windows
92 !# This threads memory space into each %l7
93 wrpr %g0, 0x7, %cwp
94 mov %g1, %l7
95 wrpr %g0, 0x6, %cwp
96 mov %g1, %l7
97 wrpr %g0, 0x5, %cwp
98 mov %g1, %l7
99 wrpr %g0, 0x4, %cwp
100 mov %g1, %l7
101 wrpr %g0, 0x3, %cwp
102 mov %g1, %l7
103 wrpr %g0, 0x2, %cwp
104 mov %g1, %l7
105 wrpr %g0, 0x1, %cwp
106 mov %g1, %l7
107 wrpr %g0, 0x0, %cwp
108 mov %g1, %l7
109
110 !# Set %fsr
111 setx 0x0000000000000000, %l0, %l6 !# no post process
112 stx %l6, [%l7 + 0x0] !# no post process
113 ldx [%l7 + 0x0], %fsr !# no post process
114
115 !# Initialize registers ..
116
117 !# Global registers
118 set 0x9, %g1
119 set 0x8, %g2
120 set 0x3, %g3
121 set 0x0, %g4
122 set 0xD, %g5
123 set 0xF, %g6
124 set 0xF, %g7
125 !# Input registers
126 set -0xB, %i0
127 set -0xA, %i1
128 set -0x1, %i2
129 set -0x3, %i3
130 set -0x0, %i4
131 set -0x3, %i5
132 set -0x8, %i6
133 set -0xA, %i7
134 !# Local registers
135 set 0x741FD612, %l0
136 set 0x150D1EE3, %l1
137 set 0x33C5F95B, %l2
138 set 0x0824F6B4, %l3
139 set 0x071A2858, %l4
140 set 0x450B8AFB, %l5
141 set 0x72C81A65, %l6
142 !# Output registers
143 set -0x102A, %o0
144 set -0x1EEA, %o1
145 set -0x0D07, %o2
146 set -0x000E, %o3
147 set 0x0E15, %o4
148 set 0x10D0, %o5
149 set 0x1D7F, %o6
150 set 0x1FFE, %o7
151 !# Float registers
152 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
153 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
154 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
155 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
156 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
157 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
158 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
159 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
160 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
161 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
162 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
163 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
164 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
165 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
166 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
167 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
168
169 !# Execute Main Diag ..
170
171 tvc %xcc, 0x4
172 call loop_1
173 edge32l %l5, %o3, %l0
174 fmovduge %fcc0, %f22, %f8
175 fmovsle %fcc3, %f3, %f29
176loop_1:
177 xnorcc %i7, 0x0960, %o4
178 call loop_2
179 orncc %g2, 0x0E85, %g5
180 smulcc %g1, 0x0D7A, %g6
181 fmovdule %fcc3, %f16, %f6
182loop_2:
183 fnot2 %f30, %f26
184 call loop_3
185 call loop_4
186 call loop_5
187 fmovdpos %icc, %f2, %f6
188loop_3:
189 fbg %fcc1, loop_6
190loop_4:
191 call loop_7
192loop_5:
193 tvs %xcc, 0x5
194 fmovdneg %xcc, %f24, %f4
195loop_6:
196 nop
197 fitod %f10, %f6
198 fdtos %f6, %f30
199loop_7:
200 ldsw [%l7 + 0x10], %g7
201 nop
202 setx loop_8, %l0, %l1
203 jmpl %l1, %i3
204 call loop_9
205 call loop_10
206 movrgz %l1, %i4, %o7
207loop_8:
208 fandnot2 %f30, %f0, %f20
209loop_9:
210 call loop_11
211loop_10:
212 fmovrdne %o0, %f8, %f14
213 rd %asi, %o1
214 tsubcctv %l2, 0x0F3E, %o2
215loop_11:
216 movre %l4, 0x178, %i5
217 movneg %xcc, 0x112, %l3
218 fpsub32 %f20, %f16, %f0
219 fmovrde %g3, %f4, %f28
220 call loop_12
221 fmul8x16 %f26, %f12, %f2
222 sll %i6, %i0, %i1
223 lduw [%l7 + 0x68], %l6
224loop_12:
225 for %f16, %f26, %f8
226 fmul8x16al %f26, %f27, %f26
227 call loop_13
228 movrne %o6, 0x142, %i2
229 call loop_14
230 call loop_15
231loop_13:
232 call loop_16
233 fnegs %f24, %f7
234loop_14:
235 fmovdcs %icc, %f4, %f26
236loop_15:
237 fsrc2 %f16, %f0
238loop_16:
239 fmovrde %o5, %f0, %f14
240 fandnot1s %f27, %f30, %f31
241 membar 0x1D
242 call loop_17
243 nop
244 setx 0xAE2C13008415BFFE, %l0, %l6
245 stx %l6, [%l7 + 0x28]
246 ldd [%l7 + 0x28], %f4
247 fsqrtd %f4, %f26
248 fors %f18, %f10, %f8
249 fmovdn %xcc, %f22, %f30
250loop_17:
251 fmovdle %fcc3, %f20, %f22
252 movrgez %l5, %o3, %l0
253 call loop_18
254 pdist %f28, %f16, %f28
255 orncc %g4, 0x0977, %i7
256 nop
257 fitos %f29, %f5
258loop_18:
259 movgu %xcc, %g2, %g5
260 fbu %fcc3, loop_19
261 fmovsue %fcc1, %f24, %f1
262 array8 %o4, %g1, %g7
263 fmovdpos %xcc, %f24, %f24
264loop_19:
265 call loop_20
266 call loop_21
267 brnz,a,pn %g6, loop_22
268 call loop_23
269loop_20:
270 te %xcc, 0x1
271loop_21:
272 fmovsvs %icc, %f20, %f6
273loop_22:
274 movvs %icc, 0x003, %l1
275loop_23:
276 fmovda %fcc3, %f0, %f20
277 call loop_24
278 call loop_25
279 edge8ln %i4, %o7, %o0
280 and %i3, %l2, %o2
281loop_24:
282 call loop_26
283loop_25:
284 call loop_27
285 edge32n %l4, %i5, %o1
286 subcc %l3, %i6, %i0
287loop_26:
288 ldx [%l7 + 0x10], %g3
289loop_27:
290 ldd [%l7 + 0x78], %i0
291 fmovsul %fcc3, %f29, %f27
292 call loop_28
293 fmovrdgez %o6, %f20, %f2
294 fmovrsgez %i2, %f10, %f24
295 movvc %xcc, %l6, %l5
296loop_28:
297 nop
298 setx loop_29, %l0, %l1
299 wrpr 0x1, %tl
300 wrpr %l1, %tpc
301 add %l1, 0x4, %l1
302 wrpr %l1, %tnpc
303 setx 0x034400001400, %l0, %l1
304 wrpr %l1, %tstate
305 wrhpr 0x4, %htstate
306 retry
307 fnor %f8, %f26, %f24
308 fnegd %f2, %f22
309 call loop_30
310loop_29:
311 fmovspos %xcc, %f1, %f24
312 fcmps %fcc1, %f9, %f24
313 bcs %xcc, loop_31
314loop_30:
315 rdpr %wstate, %o3
316 call loop_32
317 andn %o5, %g4, %i7
318loop_31:
319 wr %l0, 0x1C3D, %y
320 bmask %g2, %o4, %g5
321loop_32:
322 fmovdne %fcc2, %f30, %f6
323 fmuld8ulx16 %f26, %f19, %f0
324 std %f22, [%l7 + 0x70]
325 brz,a %g7, loop_33
326 fpsub16 %f26, %f24, %f30
327 call loop_34
328 nop
329 setx 0x12D6D997, %l0, %l6
330 st %l6, [%l7 + 0x28]
331 ld [%l7 + 0x28], %f6
332 setx 0x599E50F9, %l1, %l5
333 st %l5, [%l7 + 0x10]
334 ld [%l7 + 0x10], %f10
335 fdivs %f10, %f6, %f31
336loop_33:
337 fcmpeq32 %f16, %f18, %g6
338 fbn,a %fcc2, loop_35
339loop_34:
340 fmovrde %l1, %f2, %f10
341 movl %fcc2, %g1, %i4
342 fpsub16s %f15, %f11, %f1
343loop_35:
344 nop
345 setx 0xBFAD5A87, %l0, %l6
346 st %l6, [%l7 + 0x28]
347 ld [%l7 + 0x28], %f8
348 setx 0xAC1549B0, %l1, %l5
349 st %l5, [%l7 + 0x10]
350 ld [%l7 + 0x10], %f5
351 fsubs %f5, %f8, %f13
352 fmovsle %fcc3, %f27, %f9
353 nop
354 set 0x44, %o3
355 ldub [%l7 + %o3], %o0
356 siam 0x4
357 fands %f5, %f14, %f5
358 fpack32 %f26, %f22, %f18
359 movpos %xcc, %o7, %i3
360 call loop_36
361 call loop_37
362 fones %f22
363 membar 0x01
364loop_36:
365 array8 %o2, %l2, %l4
366loop_37:
367 rdhpr %htba, %o1
368 movvs %icc, 0x400, %i5
369 call loop_38
370 mulscc %l3, 0x14B6, %i0
371 call loop_39
372 tneg %xcc, 0x2
373loop_38:
374 bmask %g3, %i6, %o6
375 fcmped %fcc0, %f6, %f24
376loop_39:
377 fba %fcc1, loop_40
378 fone %f4
379 fmovdule %fcc0, %f16, %f10
380 taddcctv %i2, 0x1FD0, %l6
381loop_40:
382 fmovsvc %icc, %f26, %f4
383 call loop_41
384 call loop_42
385 wrpr %g0, 0x0, %gl
386 call loop_43
387loop_41:
388 call loop_44
389loop_42:
390 fmovdpos %icc, %f8, %f30
391 popc %o5, %l5
392loop_43:
393 fcmped %fcc0, %f10, %f8
394loop_44:
395 te %icc, 0x5
396 fsrc1 %f22, %f2
397 nop
398 setx 0xE235DA1EB135DE2B, %l0, %l6
399 stx %l6, [%l7 + 0x28]
400 ldd [%l7 + 0x28], %f14
401 fsqrtd %f14, %f2
402 call loop_45
403 bshuffle %f6, %f20, %f18
404 xorcc %g4, 0x17C4, %i7
405 fcmpeq32 %f4, %f16, %g2
406loop_45:
407 fcmpgt32 %f28, %f2, %o4
408 brgz,pt %g5, loop_46
409 tle %xcc, 0x6
410 call loop_47
411 movre %l0, 0x08B, %g6
412loop_46:
413 call loop_48
414 call loop_49
415loop_47:
416 umul %g7, 0x0B94, %l1
417 call loop_50
418loop_48:
419 edge8n %i4, %o0, %o7
420loop_49:
421 brlz,a %g1, loop_51
422 fba,a,pt %fcc1, loop_52
423loop_50:
424 add %i3, 0x06E9, %o2
425 fmovrslz %l2, %f0, %f17
426loop_51:
427 fmovduge %fcc3, %f14, %f30
428loop_52:
429 tcs %xcc, 0x0
430 fmovslg %fcc2, %f13, %f17
431 brgz,pn %l4, loop_53
432 alignaddrl %i5, %o1, %l3
433 fmul8x16au %f31, %f29, %f2
434 tpos %xcc, 0x4
435loop_53:
436 ldub [%l7 + 0x7A], %i0
437 smulcc %i6, %g3, %o6
438 fcmpgt16 %f10, %f26, %i2
439 membar 0x5C
440 fmovdcc %xcc, %f4, %f16
441 fbne,a,pn %fcc1, loop_54
442 nop
443 fitos %f19, %f15
444 edge32n %l6, %i1, %o5
445 faligndata %f16, %f0, %f22
446loop_54:
447 fpackfix %f2, %f23
448 call loop_55
449 tcc %icc, 0x1
450 fbn,a,pt %fcc2, loop_56
451 fcmple32 %f26, %f26, %l5
452loop_55:
453 fpack16 %f26, %f28
454 fxnors %f20, %f30, %f20
455loop_56:
456 rd %tick_cmpr, %g4
457 fble,pn %fcc2, loop_57
458 movleu %xcc, %i7, %o3
459 fcmple32 %f28, %f2, %g2
460 nop
461 setx 0x303A8473, %l0, %l6
462 st %l6, [%l7 + 0x28]
463 ld [%l7 + 0x28], %f2
464 setx 0x0CF00ECA, %l1, %l5
465 st %l5, [%l7 + 0x10]
466 ld [%l7 + 0x10], %f18
467 fmuls %f18, %f2, %f24
468loop_57:
469 sllx %o4, 0x11, %g5
470 fnot1s %f24, %f6
471 fmovrdlz %g6, %f26, %f18
472 movne %xcc, %l0, %g7
473 for %f10, %f2, %f12
474 EXIT_GOOD
475
476
477
478!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
479!
480! Stats for Thread 0:
481!
482! Type l : 7
483! Type a : 6
484! Type cti : 57
485! Type f : 77
486! Type i : 53
487!
488!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
489
490!
491! Thread 1 Start
492!
493main_t1:
494 mov %l7, %g1
495 !# Set %cwp for 8 windows
496 !# This threads memory space into each %l7
497 wrpr %g0, 0x7, %cwp
498 mov %g1, %l7
499 wrpr %g0, 0x6, %cwp
500 mov %g1, %l7
501 wrpr %g0, 0x5, %cwp
502 mov %g1, %l7
503 wrpr %g0, 0x4, %cwp
504 mov %g1, %l7
505 wrpr %g0, 0x3, %cwp
506 mov %g1, %l7
507 wrpr %g0, 0x2, %cwp
508 mov %g1, %l7
509 wrpr %g0, 0x1, %cwp
510 mov %g1, %l7
511 wrpr %g0, 0x0, %cwp
512 mov %g1, %l7
513
514 !# Set %fsr
515 setx 0x0000000000000000, %l0, %l6 !# no post process
516 stx %l6, [%l7 + 0x0] !# no post process
517 ldx [%l7 + 0x0], %fsr !# no post process
518
519 !# Initialize registers ..
520
521 !# Global registers
522 set 0x1, %g1
523 set 0xB, %g2
524 set 0xB, %g3
525 set 0x9, %g4
526 set 0x3, %g5
527 set 0x8, %g6
528 set 0x7, %g7
529 !# Input registers
530 set -0xC, %i0
531 set -0x8, %i1
532 set -0xC, %i2
533 set -0x3, %i3
534 set -0x6, %i4
535 set -0x6, %i5
536 set -0x1, %i6
537 set -0xD, %i7
538 !# Local registers
539 set 0x2369D27E, %l0
540 set 0x34EF8C7F, %l1
541 set 0x6C5FB213, %l2
542 set 0x6A354D6B, %l3
543 set 0x29BF34DE, %l4
544 set 0x05D9A193, %l5
545 set 0x222724CF, %l6
546 !# Output registers
547 set 0x17C1, %o0
548 set -0x00EC, %o1
549 set 0x0D8F, %o2
550 set -0x181A, %o3
551 set 0x1C18, %o4
552 set 0x1E75, %o5
553 set -0x1E7F, %o6
554 set 0x16DD, %o7
555 !# Float registers
556 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
557 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
558 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
559 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
560 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
561 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
562 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
563 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
564 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
565 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
566 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
567 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
568 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
569 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
570 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
571 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
572
573 !# Execute Main Diag ..
574
575 nop
576 setx 0x1FD2, %l0, %i4
577 sdivcc %l1, %i4, %o7
578 call loop_58
579 call loop_59
580 call loop_60
581 fmovsn %fcc2, %f19, %f7
582loop_58:
583 call loop_61
584loop_59:
585 rd %ccr, %o0
586loop_60:
587 movlg %fcc3, 0x0EE, %g1
588 call loop_62
589loop_61:
590 movvc %xcc, 0x292, %o2
591 fcmpd %fcc2, %f0, %f6
592 set 0x58, %i1
593 sta %f18, [%l7 + %i1] 0x10
594loop_62:
595 movle %icc, %i3, %l4
596 be %xcc, loop_63
597 call loop_64
598 or %i5, 0x1910, %o1
599 fmovsn %xcc, %f2, %f3
600loop_63:
601 fmovdvs %xcc, %f6, %f8
602loop_64:
603 tl %xcc, 0x7
604 fcmpeq32 %f30, %f20, %l3
605 srlx %i0, %i6, %g3
606 tvs %xcc, 0x3
607 call loop_65
608 call loop_66
609 call loop_67
610 call loop_68
611loop_65:
612 movrne %l2, %i2, %l6
613loop_66:
614 fand %f0, %f0, %f0
615loop_67:
616 call loop_69
617loop_68:
618 fmovrdne %i1, %f10, %f8
619 call loop_70
620 nop
621 fitod %f12, %f24
622 fdtox %f24, %f12
623loop_69:
624 fmovsule %fcc0, %f19, %f14
625 wr %g0, 0x80, %asi
626 ldswa [%l7 + 0x08] %asi, %o5
627loop_70:
628 movgu %xcc, 0x6AF, %o6
629 fornot2 %f20, %f12, %f6
630 sir 0x1507
631 fnand %f18, %f28, %f24
632 edge8n %g4, %i7, %l5
633 fmovsue %fcc1, %f11, %f20
634 call loop_71
635 stx %o3, [%l7 + 0x30]
636 sir 0x0AA2
637 taddcc %g2, %o4, %g6
638loop_71:
639 alignaddr %l0, %g7, %g5
640 set 0x20, %o5
641 ldswa [%l7 + %o5] 0x88, %i4
642 fmovrdgez %o7, %f28, %f2
643 fmovso %fcc0, %f14, %f27
644 movl %fcc3, %o0, %l1
645 call loop_72
646 fpmerge %f23, %f10, %f22
647 call loop_73
648 nop
649 set 0x10, %o7
650 stx %o2, [%l7 + %o7]
651loop_72:
652 call loop_74
653 call loop_75
654loop_73:
655 ldd [%l7 + 0x08], %i2
656 call loop_76
657loop_74:
658 fornot1 %f8, %f4, %f6
659loop_75:
660 fcmpgt32 %f30, %f26, %g1
661 movvc %icc, %i5, %o1
662loop_76:
663 call loop_77
664 tn %icc, 0x6
665 call loop_78
666 fnor %f10, %f0, %f2
667loop_77:
668 sdivx %l4, 0x1C38, %l3
669 call loop_79
670loop_78:
671 sll %i0, 0x14, %g3
672 call loop_80
673 edge16n %l2, %i2, %i6
674loop_79:
675 fcmpes %fcc3, %f21, %f16
676 xorcc %l6, %i1, %o5
677loop_80:
678 and %g4, 0x162C, %i7
679 and %o6, 0x0967, %l5
680 fandnot2s %f6, %f26, %f10
681 call loop_81
682 array8 %o3, %g2, %o4
683 udivcc %l0, 0x16EE, %g7
684 tn %xcc, 0x6
685loop_81:
686 fbg,pt %fcc2, loop_82
687 orcc %g6, %i4, %o7
688 fbn %fcc2, loop_83
689 fnot2 %f8, %f30
690loop_82:
691 movgu %icc, %g5, %o0
692 fmovrse %o2, %f23, %f16
693loop_83:
694 call loop_84
695 xorcc %l1, %i3, %g1
696 fmovduge %fcc1, %f26, %f20
697 fmul8sux16 %f20, %f0, %f4
698loop_84:
699 call loop_85
700 fone %f16
701 xorcc %o1, %l4, %i5
702 call loop_86
703loop_85:
704 fsrc1s %f31, %f15
705 edge32 %i0, %g3, %l3
706 te %icc, 0x1
707loop_86:
708 fmovs %f12, %f9
709 alignaddr %l2, %i2, %l6
710 array8 %i6, %i1, %g4
711 set 0x08, %g5
712 stxa %i7, [%l7 + %g5] 0xeb
713 membar #Sync
714 nop
715 setx 0xF56FA45E8882697B, %l0, %l6
716 stx %l6, [%l7 + 0x50]
717 ldx [%l7 + 0x50], %fsr
718 nop
719 fitod %f6, %f12
720 fdtox %f12, %f28
721 fxtod %f28, %f18
722 tsubcc %o5, %o6, %o3
723 srax %g2, %l5, %l0
724 tvc %xcc, 0x5
725 call loop_87
726 fone %f12
727 and %o4, 0x03FB, %g7
728 membar 0x76
729loop_87:
730 fmul8x16au %f8, %f11, %f8
731 call loop_88
732 fornot1s %f7, %f4, %f27
733 sllx %i4, %g6, %o7
734 move %icc, 0x332, %g5
735loop_88:
736 call loop_89
737 wrpr %o0, %o2, %cwp
738 fmovsl %fcc0, %f17, %f21
739 fbe,pn %fcc2, loop_90
740loop_89:
741 popc 0x18AB, %i3
742 set 0x25, %g7
743 ldstuba [%l7 + %g7] 0x18, %g1
744loop_90:
745 fmul8x16al %f28, %f11, %f26
746 wr %g0, 0x19, %asi
747 lduwa [%l7 + 0x6C] %asi, %o1
748 brnz %l4, loop_91
749 fpsub16 %f18, %f2, %f6
750 call loop_92
751 call loop_93
752loop_91:
753 rdhpr %htba, %i5
754 call loop_94
755loop_92:
756 fmovdn %xcc, %f16, %f20
757loop_93:
758 fmuld8ulx16 %f9, %f0, %f26
759 call loop_95
760loop_94:
761 add %l1, %i0, %l3
762 fmovrsne %g3, %f26, %f30
763 fandnot1 %f24, %f26, %f10
764loop_95:
765 umulcc %l2, 0x1726, %i2
766 call loop_96
767 movle %fcc0, %l6, %i1
768 fornot2s %f19, %f11, %f12
769 xnorcc %i6, %g4, %i7
770loop_96:
771 fpackfix %f18, %f12
772 taddcctv %o5, %o3, %o6
773 ld [%l7 + 0x0C], %f26
774 fbule %fcc2, loop_97
775 call loop_98
776 call loop_99
777 call loop_100
778loop_97:
779 fandnot1 %f24, %f24, %f18
780loop_98:
781 rdhpr %hintp, %g2
782loop_99:
783 bl %icc, loop_101
784loop_100:
785 fsrc1s %f5, %f26
786 call loop_102
787 tvc %xcc, 0x7
788loop_101:
789 nop
790 setx 0x9D7B740F809BCD62, %l0, %l6
791 stx %l6, [%l7 + 0x28]
792 ldd [%l7 + 0x28], %f8
793 fsqrtd %f8, %f30
794 orncc %l0, 0x192F, %o4
795loop_102:
796 edge16 %g7, %l5, %g6
797 call loop_103
798 movrne %o7, 0x191, %g5
799 srax %i4, %o0, %o2
800 call loop_104
801loop_103:
802 call loop_105
803 movlg %fcc2, 0x524, %g1
804 call loop_106
805loop_104:
806 call loop_107
807loop_105:
808 call loop_108
809 fmul8x16au %f3, %f11, %f14
810loop_106:
811 fmovdul %fcc1, %f26, %f18
812loop_107:
813 andcc %i3, %l4, %o1
814loop_108:
815 fbu %fcc2, loop_109
816 fand %f26, %f14, %f2
817 call loop_110
818 call loop_111
819loop_109:
820 rdpr %gl, %i5
821 nop
822 setx 0xF40D9C3E, %l0, %l6
823 st %l6, [%l7 + 0x28]
824 ld [%l7 + 0x28], %f13
825 setx 0x80BD1101, %l1, %l5
826 st %l5, [%l7 + 0x10]
827 ld [%l7 + 0x10], %f5
828 fdivs %f5, %f13, %f21
829loop_110:
830 tg %icc, 0x2
831loop_111:
832 call loop_112
833 call loop_113
834 fmovdg %icc, %f4, %f8
835 taddcc %l1, %l3, %i0
836loop_112:
837 andn %l2, 0x0872, %g3
838loop_113:
839 fnands %f19, %f20, %f20
840
841 or %g0, 0x8, %l0
842 sllx %l0, 0x3c, %l0
843 wrhpr %l0, 0xF86, %hsys_tick_cmpr
844 fexpand %f2, %f24
845 wr %g0, 0x11, %asi
846 ldsha [%l7 + 0x58] %asi, %l6
847 fand %f6, %f2, %f18
848
849 or %g0, 0x8, %l0
850 sllx %l0, 0x3c, %l0
851 wrhpr %l0, 0xE12, %hsys_tick_cmpr
852 fmovsg %fcc2, %f19, %f1
853 nop
854 fitos %f10, %f21
855 fstod %f21, %f0
856 movn %fcc0, %i6, %i7
857 nop
858 setx 0xD137A5D9, %l0, %l6
859 st %l6, [%l7 + 0x28]
860 ld [%l7 + 0x28], %f5
861 setx 0x63411BF2, %l1, %l5
862 st %l5, [%l7 + 0x10]
863 ld [%l7 + 0x10], %f9
864 fadds %f9, %f5, %f1
865 movgu %xcc, %o5, %o6
866 call loop_114
867 nop
868 set 0x7A, %g3
869 stb %g2, [%l7 + %g3]
870 mulscc %o3, %l0, %g7
871 edge32 %l5, %o4, %o7
872loop_114:
873 nop
874
875 EXIT_GOOD
876
877
878
879!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
880!
881! Stats for Thread 1:
882!
883! Type l : 13
884! Type a : 7
885! Type x : 7
886! Type cti : 57
887! Type f : 54
888! Type i : 62
889!
890!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
891
892!
893! Thread 2 Start
894!
895main_t2:
896 mov %l7, %g1
897 !# Set %cwp for 8 windows
898 !# This threads memory space into each %l7
899 wrpr %g0, 0x7, %cwp
900 mov %g1, %l7
901 wrpr %g0, 0x6, %cwp
902 mov %g1, %l7
903 wrpr %g0, 0x5, %cwp
904 mov %g1, %l7
905 wrpr %g0, 0x4, %cwp
906 mov %g1, %l7
907 wrpr %g0, 0x3, %cwp
908 mov %g1, %l7
909 wrpr %g0, 0x2, %cwp
910 mov %g1, %l7
911 wrpr %g0, 0x1, %cwp
912 mov %g1, %l7
913 wrpr %g0, 0x0, %cwp
914 mov %g1, %l7
915
916 !# Set %fsr
917 setx 0x0000000000000000, %l0, %l6 !# no post process
918 stx %l6, [%l7 + 0x0] !# no post process
919 ldx [%l7 + 0x0], %fsr !# no post process
920
921 !# Initialize registers ..
922
923 !# Global registers
924 set 0x1, %g1
925 set 0x3, %g2
926 set 0x2, %g3
927 set 0xD, %g4
928 set 0xB, %g5
929 set 0x4, %g6
930 set 0xF, %g7
931 !# Input registers
932 set -0xF, %i0
933 set -0xB, %i1
934 set -0x9, %i2
935 set -0xD, %i3
936 set -0xC, %i4
937 set -0x2, %i5
938 set -0x2, %i6
939 set -0xD, %i7
940 !# Local registers
941 set 0x743B66E2, %l0
942 set 0x7E5C0BCA, %l1
943 set 0x2F489306, %l2
944 set 0x64416DAB, %l3
945 set 0x61C8C0E3, %l4
946 set 0x0FC211D6, %l5
947 set 0x762457E3, %l6
948 !# Output registers
949 set -0x06C3, %o0
950 set 0x110E, %o1
951 set 0x1418, %o2
952 set -0x1B53, %o3
953 set 0x1FC5, %o4
954 set -0x1C01, %o5
955 set -0x1454, %o6
956 set -0x1D6E, %o7
957 !# Float registers
958 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
959 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
960 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
961 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
962 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
963 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
964 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
965 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
966 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
967 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
968 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
969 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
970 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
971 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
972 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
973 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
974
975 !# Execute Main Diag ..
976
977 call loop_115
978 fmovso %fcc2, %f20, %f3
979 set 0x40, %g1
980 stda %g4, [%l7 + %g1] 0x80
981loop_115:
982 tneg %icc, 0x3
983 fmovslg %fcc1, %f24, %f22
984 fmovdvs %icc, %f28, %f12
985 fmovsgu %xcc, %f23, %f6
986 call loop_116
987 fmovsa %fcc1, %f31, %f14
988 tleu %xcc, 0x7
989 call loop_117
990loop_116:
991 stx %g6, [%l7 + 0x38]
992 fabsd %f18, %f24
993 movl %fcc0, %i4, %o2
994loop_117:
995 movlg %fcc2, 0x3C8, %g1
996 call loop_118
997 call loop_119
998 fmovsule %fcc1, %f12, %f26
999 fzero %f22
1000loop_118:
1001 nop
1002 set 0x47, %o0
1003 ldstuba [%l7 + %o0] 0x11, %o0
1004loop_119:
1005 wrpr %i3, %l4, %cwp
1006 addcc %i5, %l1, %o1
1007 bmask %l3, %i0, %g3
1008 call loop_120
1009 call loop_121
1010 mulscc %i2, 0x048E, %l2
1011 fmovdge %icc, %f16, %f30
1012loop_120:
1013 std %i0, [%l7 + 0x70]
1014loop_121:
1015 tn %xcc, 0x0
1016 fmovrde %l6, %f20, %f26
1017 call loop_122
1018 fmovsu %fcc1, %f27, %f2
1019 movug %fcc2, 0x555, %i6
1020 movuge %fcc2, %g4, %i7
1021loop_122:
1022 fmovsue %fcc2, %f25, %f23
1023 fabsd %f20, %f28
1024 call loop_123
1025 subc %o6, 0x01D1, %o5
1026 sra %g2, %o3, %l0
1027 tneg %icc, 0x0
1028loop_123:
1029 umulcc %l5, 0x03F3, %g7
1030 rdpr %tl, %o4
1031 call loop_124
1032 orcc %o7, 0x05E7, %g6
1033 fmovsvc %xcc, %f26, %f18
1034 fcmple32 %f4, %f10, %g5
1035loop_124:
1036 fbug,pn %fcc0, loop_125
1037 call loop_126
1038 or %i4, 0x1A5D, %g1
1039 movlg %fcc0, %o2, %o0
1040loop_125:
1041 call loop_127
1042loop_126:
1043 nop
1044 setx loop_128, %l0, %l1
1045 wrpr 0x1, %tl
1046 wrpr %l1, %tpc
1047 add %l1, 0x4, %l1
1048 wrpr %l1, %tnpc
1049 setx 0x011100001403, %l0, %l1
1050 wrpr %l1, %tstate
1051 wrhpr 0x4, %htstate
1052 retry
1053 call loop_129
1054 movgu %xcc, 0x738, %l4
1055loop_127:
1056 call loop_130
1057loop_128:
1058 call loop_131
1059loop_129:
1060 movre %i5, %i3, %l1
1061 fones %f0
1062loop_130:
1063 sllx %l3, %i0, %g3
1064loop_131:
1065 fcmpeq32 %f28, %f16, %o1
1066 tgu %xcc, 0x0
1067 rdhpr %hpstate, %l2
1068 sub %i2, 0x044E, %l6
1069 tsubcctv %i6, 0x08A1, %i1
1070 fblg,a,pn %fcc2, loop_132
1071 movrgz %g4, 0x03E, %o6
1072 nop
1073 fitos %f10, %f27
1074 brlz,pt %o5, loop_133
1075loop_132:
1076 nop
1077 setx 0x1D81A94789A115B6, %l0, %l6
1078 stx %l6, [%l7 + 0x08]
1079 ldx [%l7 + 0x08], %fsr
1080 tpos %icc, 0x3
1081 fands %f29, %f29, %f12
1082loop_133:
1083 fsrc1 %f14, %f20
1084 sll %g2, 0x19, %i7
1085 call loop_134
1086 fpack16 %f2, %f18
1087 call loop_135
1088 edge32ln %l0, %l5, %o3
1089loop_134:
1090 call loop_136
1091 wr %g7, 0x176C, %pic
1092loop_135:
1093 call loop_137
1094 movg %fcc2, 0x766, %o7
1095loop_136:
1096 call loop_138
1097 call loop_139
1098loop_137:
1099 call loop_140
1100 bmask %o4, %g5, %i4
1101loop_138:
1102 call loop_141
1103loop_139:
1104 siam 0x0
1105loop_140:
1106 fzero %f10
1107 call loop_142
1108loop_141:
1109 call loop_143
1110 call loop_144
1111 fands %f21, %f3, %f12
1112loop_142:
1113 movne %xcc, %g1, %g6
1114loop_143:
1115 fmovdo %fcc3, %f24, %f30
1116loop_144:
1117 nop
1118 setx 0xFF3B7171, %l0, %l6
1119 st %l6, [%l7 + 0x50]
1120 ld [%l7 + 0x50], %fsr
1121 taddcc %o0, %l4, %o2
1122 nop
1123 setx loop_145, %l0, %l1
1124 jmpl %l1, %i3
1125 call loop_146
1126 sir 0x1FB2
1127 nop
1128 fitos %f6, %f9
1129 fstod %f9, %f30
1130loop_145:
1131 nop
1132 setx 0xF2BED02021284901, %l0, %l6
1133 stx %l6, [%l7 + 0x28]
1134 ldd [%l7 + 0x28], %f6
1135 fsqrtd %f6, %f4
1136loop_146:
1137 wr %l1, 0x1309, %clear_softint
1138 fxor %f16, %f10, %f10
1139 call loop_147
1140 nop
1141 fitos %f8, %f17
1142 fstox %f17, %f10
1143 fxtos %f10, %f29
1144 call loop_148
1145 nop
1146 setx 0x7D8AEE0B49662472, %l0, %l6
1147 stx %l6, [%l7 + 0x28]
1148 ldd [%l7 + 0x28], %f16
1149 setx 0xFC03398C6DBF9BE2, %l1, %l5
1150 stx %l5, [%l7 + 0x10]
1151 ldd [%l7 + 0x10], %f16
1152 fsubd %f16, %f16, %f26
1153loop_147:
1154 fsrc2s %f2, %f12
1155 movue %fcc2, 0x619, %i5
1156loop_148:
1157 nop
1158 set 0x7C, %l3
1159 prefetch [%l7 + %l3], 1
1160 call loop_149
1161 mova %xcc, 0x5DA, %l3
1162 xor %i0, 0x1F15, %o1
1163 movul %fcc3, 0x364, %g3
1164loop_149:
1165 fsrc1 %f2, %f30
1166 fzero %f2
1167 movrgz %l2, %l6, %i6
1168 call loop_150
1169 tcs %icc, 0x0
1170 sethi 0x0D00, %i2
1171 call loop_151
1172loop_150:
1173 wr %g4, %i1, %sys_tick
1174 bvc %xcc, loop_152
1175 call loop_153
1176loop_151:
1177 bvs,pn %xcc, loop_154
1178 tg %xcc, 0x1
1179loop_152:
1180 movrgz %o6, 0x110, %o5
1181loop_153:
1182 sth %i7, [%l7 + 0x3C]
1183loop_154:
1184 fmovsle %xcc, %f16, %f8
1185 call loop_155
1186 or %l0, 0x0939, %l5
1187 call loop_156
1188 andn %g2, %g7, %o7
1189loop_155:
1190 fmovsue %fcc2, %f29, %f2
1191 tvs %icc, 0x1
1192loop_156:
1193 fmovrde %o3, %f8, %f20
1194 movlg %fcc1, 0x328, %o4
1195 fnegd %f12, %f18
1196 fmovso %fcc3, %f22, %f25
1197 fandnot1s %f4, %f30, %f0
1198 edge16l %i4, %g5, %g6
1199 bshuffle %f8, %f4, %f2
1200 edge8n %o0, %g1, %l4
1201 call loop_157
1202 call loop_158
1203 tne %xcc, 0x3
1204
1205 or %g0, 0x8, %l0
1206 sllx %l0, 0x3c, %l0
1207 wrhpr %l0, %g0, %hsys_tick_cmpr
1208loop_157:
1209 nop
1210 setx 0x60E4AA7E, %l0, %l6
1211 st %l6, [%l7 + 0x28]
1212 ld [%l7 + 0x28], %f10
1213 setx 0x44670F20, %l1, %l5
1214 st %l5, [%l7 + 0x10]
1215 ld [%l7 + 0x10], %f13
1216 fadds %f13, %f10, %f19
1217loop_158:
1218 call loop_159
1219 fba %fcc2, loop_160
1220 nop
1221 fitod %f8, %f20
1222 fdtos %f20, %f14
1223 call loop_161
1224loop_159:
1225 call loop_162
1226loop_160:
1227 wrpr %l1, %i5, %cwp
1228 mova %icc, %l3, %i3
1229loop_161:
1230 nop
1231 set 0x60, %o6
1232 stx %i0, [%l7 + %o6]
1233loop_162:
1234 call loop_163
1235 nop
1236 fitos %f12, %f13
1237 fstox %f13, %f4
1238 fmovdn %xcc, %f30, %f20
1239 call loop_164
1240loop_163:
1241 membar 0x61
1242 fcmple16 %f0, %f16, %o1
1243 tne %icc, 0x7
1244loop_164:
1245 call loop_165
1246 wr %l2, %g3, %ccr
1247 set 0x0F, %g6
1248 ldstuba [%l7 + %g6] 0x0c, %l6
1249loop_165:
1250 fmovrde %i2, %f8, %f0
1251 call loop_166
1252 fmovrsne %i6, %f28, %f8
1253 fmuld8sux16 %f10, %f6, %f18
1254 call loop_167
1255loop_166:
1256 call loop_168
1257 call loop_169
1258 call loop_170
1259loop_167:
1260 call loop_171
1261loop_168:
1262 call loop_172
1263loop_169:
1264 fbul %fcc1, loop_173
1265loop_170:
1266 mova %fcc2, 0x7F5, %i1
1267loop_171:
1268 movneg %icc, %g4, %o5
1269loop_172:
1270 subc %o6, %l0, %i7
1271loop_173:
1272 fmovscc %xcc, %f10, %f28
1273 call loop_174
1274 fmovdleu %icc, %f14, %f0
1275 movrgez %l5, 0x3C9, %g7
1276 call loop_175
1277loop_174:
1278 fpsub16s %f1, %f1, %f29
1279 array8 %o7, %o3, %g2
1280 nop
1281 setx 0x11B3, %l0, %o4
1282 sdivcc %i4, %o4, %g6
1283loop_175:
1284 brlez,a %g5, loop_176
1285 bvs %icc, loop_177
1286 movge %xcc, 0x234, %g1
1287 movo %fcc0, 0x694, %o0
1288loop_176:
1289 orn %l4, 0x0362, %o2
1290loop_177:
1291 call loop_178
1292 fmovrsgz %i5, %f13, %f15
1293 fcmple16 %f6, %f4, %l1
1294 fmovdleu %icc, %f12, %f24
1295loop_178:
1296 nop
1297
1298 EXIT_GOOD
1299
1300
1301
1302!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1303!
1304! Stats for Thread 2:
1305!
1306! Type l : 10
1307! Type a : 9
1308! Type x : 3
1309! Type cti : 64
1310! Type f : 54
1311! Type i : 60
1312!
1313!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1314
1315!
1316! Thread 3 Start
1317!
1318main_t3:
1319 mov %l7, %g1
1320 !# Set %cwp for 8 windows
1321 !# This threads memory space into each %l7
1322 wrpr %g0, 0x7, %cwp
1323 mov %g1, %l7
1324 wrpr %g0, 0x6, %cwp
1325 mov %g1, %l7
1326 wrpr %g0, 0x5, %cwp
1327 mov %g1, %l7
1328 wrpr %g0, 0x4, %cwp
1329 mov %g1, %l7
1330 wrpr %g0, 0x3, %cwp
1331 mov %g1, %l7
1332 wrpr %g0, 0x2, %cwp
1333 mov %g1, %l7
1334 wrpr %g0, 0x1, %cwp
1335 mov %g1, %l7
1336 wrpr %g0, 0x0, %cwp
1337 mov %g1, %l7
1338
1339 !# Set %fsr
1340 setx 0x0000000000000000, %l0, %l6 !# no post process
1341 stx %l6, [%l7 + 0x0] !# no post process
1342 ldx [%l7 + 0x0], %fsr !# no post process
1343
1344 !# Initialize registers ..
1345
1346 !# Global registers
1347 set 0x9, %g1
1348 set 0xC, %g2
1349 set 0xB, %g3
1350 set 0x3, %g4
1351 set 0x7, %g5
1352 set 0x6, %g6
1353 set 0xE, %g7
1354 !# Input registers
1355 set -0x7, %i0
1356 set -0x9, %i1
1357 set -0xE, %i2
1358 set -0x4, %i3
1359 set -0xC, %i4
1360 set -0x7, %i5
1361 set -0x5, %i6
1362 set -0x8, %i7
1363 !# Local registers
1364 set 0x0DB5C399, %l0
1365 set 0x0581EE83, %l1
1366 set 0x5E7DA941, %l2
1367 set 0x2A69B54D, %l3
1368 set 0x70E289A4, %l4
1369 set 0x0ED843D1, %l5
1370 set 0x0B7F2E94, %l6
1371 !# Output registers
1372 set 0x0F42, %o0
1373 set 0x1636, %o1
1374 set -0x153B, %o2
1375 set 0x07E3, %o3
1376 set 0x1E3D, %o4
1377 set -0x154D, %o5
1378 set -0x05D5, %o6
1379 set -0x132A, %o7
1380 !# Float registers
1381 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
1382 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
1383 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
1384 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
1385 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
1386 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
1387 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
1388 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
1389 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
1390 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
1391 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
1392 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
1393 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
1394 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
1395 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
1396 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
1397
1398 !# Execute Main Diag ..
1399
1400 fmul8x16au %f29, %f2, %f14
1401 nop
1402 fitos %f18, %f9
1403 movrlez %i3, %l3, %o1
1404 fmul8sux16 %f28, %f4, %f16
1405 call loop_179
1406 fones %f29
1407 tpos %icc, 0x2
1408 call loop_180
1409loop_179:
1410 nop
1411 set 0x16, %g2
1412 lduh [%l7 + %g2], %i0
1413 movug %fcc0, 0x557, %l2
1414 fpadd16s %f14, %f27, %f22
1415loop_180:
1416 fmovde %xcc, %f20, %f8
1417 ldub [%l7 + 0x2C], %l6
1418 call loop_181
1419 nop
1420 setx 0x49C204D3, %l0, %l6
1421 st %l6, [%l7 + 0x28]
1422 ld [%l7 + 0x28], %f18
1423 fsqrts %f18, %f26
1424 fzeros %f14
1425 xnor %g3, 0x0621, %i6
1426loop_181:
1427 call loop_182
1428 array16 %i1, %g4, %o5
1429 call loop_183
1430 sethi 0x1732, %o6
1431loop_182:
1432 call loop_184
1433 call loop_185
1434loop_183:
1435 bshuffle %f18, %f20, %f24
1436 call loop_186
1437loop_184:
1438 add %l0, 0x1F67, %i2
1439loop_185:
1440 andncc %i7, %g7, %l5
1441 ldd [%l7 + 0x60], %f30
1442loop_186:
1443 edge8 %o3, %g2, %o7
1444 fmul8ulx16 %f2, %f24, %f4
1445 tsubcc %o4, 0x1014, %g6
1446 call loop_187
1447 call loop_188
1448 bne,a %icc, loop_189
1449 fmul8ulx16 %f4, %f18, %f20
1450loop_187:
1451 fmovslg %fcc0, %f27, %f22
1452loop_188:
1453 smulcc %g5, %g1, %o0
1454loop_189:
1455 alignaddrl %l4, %o2, %i4
1456 orn %i5, %l1, %i3
1457 set 0x58, %l0
1458 stxa %l3, [%l7 + %l0] 0xeb
1459 membar #Sync
1460 bleu %icc, loop_190
1461 stw %o1, [%l7 + 0x78]
1462 wrpr %l2, 0x06DA, %pil
1463 fandnot1s %f19, %f24, %f20
1464loop_190:
1465 call loop_191
1466 call loop_192
1467 fbue,a %fcc2, loop_193
1468 fsrc1 %f22, %f30
1469loop_191:
1470 bcs,a,pn %xcc, loop_194
1471loop_192:
1472 call loop_195
1473loop_193:
1474 fmovsle %fcc2, %f24, %f29
1475 ldd [%l7 + 0x08], %f12
1476loop_194:
1477 bshuffle %f28, %f2, %f6
1478loop_195:
1479 movg %fcc1, %i0, %g3
1480 fmovdu %fcc0, %f28, %f18
1481 fones %f3
1482 call loop_196
1483 udivx %l6, 0x07E4, %i6
1484 andn %g4, %o5, %o6
1485 call loop_197
1486loop_196:
1487 fmovscc %xcc, %f31, %f28
1488 add %l0, 0x10D2, %i1
1489 fmovrde %i7, %f6, %f30
1490loop_197:
1491 array8 %g7, %l5, %o3
1492 umul %i2, %o7, %g2
1493 fbo %fcc1, loop_198
1494 fxnor %f12, %f26, %f16
1495 fmul8sux16 %f14, %f8, %f24
1496 call loop_199
1497loop_198:
1498 swap [%l7 + 0x68], %o4
1499 fornot2s %f9, %f25, %f11
1500 nop
1501 setx 0x88A799EF19084078, %l0, %l6
1502 stx %l6, [%l7 + 0x30]
1503 ldx [%l7 + 0x30], %fsr
1504loop_199:
1505 call loop_200
1506 call loop_201
1507 call loop_202
1508 call loop_203
1509loop_200:
1510 brnz,a %g5, loop_204
1511loop_201:
1512 call loop_205
1513loop_202:
1514 tvc %icc, 0x5
1515loop_203:
1516 fone %f28
1517loop_204:
1518 fexpand %f25, %f22
1519loop_205:
1520 tg %icc, 0x6
1521 udivcc %g1, 0x0C1D, %g6
1522 fmul8x16 %f28, %f2, %f0
1523 fmovsa %fcc1, %f3, %f25
1524 fsrc1 %f14, %f6
1525 tvs %xcc, 0x1
1526 nop
1527 set 0x78, %l1
1528 stx %o0, [%l7 + %l1]
1529 fmuld8sux16 %f29, %f19, %f2
1530 fors %f23, %f20, %f20
1531 ba %xcc, loop_206
1532 fones %f15
1533 movge %xcc, %l4, %i4
1534 set 0x6C, %l5
1535 lduwa [%l7 + %l5] 0x04, %i5
1536loop_206:
1537 fmovdge %fcc1, %f16, %f10
1538 call loop_207
1539 fbu,a %fcc0, loop_208
1540 edge32 %l1, %o2, %l3
1541 fmul8sux16 %f8, %f26, %f10
1542loop_207:
1543 fmovslg %fcc0, %f2, %f3
1544loop_208:
1545 call loop_209
1546 srax %i3, %l2, %o1
1547 fmovdneg %xcc, %f4, %f0
1548 movul %fcc1, 0x1DC, %i0
1549loop_209:
1550 tpos %icc, 0x7
1551 call loop_210
1552 edge32ln %g3, %l6, %g4
1553 call loop_211
1554 rdpr %canrestore, %o5
1555loop_210:
1556 call loop_212
1557 saved
1558 rdpr %cwp, %g1
1559 rdpr %cansave, %g2
1560 rdpr %canrestore, %g3
1561 rdpr %cleanwin, %g4
1562 rdpr %otherwin, %g5
1563 rdpr %wstate, %g6
1564loop_211:
1565 fand %f2, %f18, %f6
1566 nop
1567 setx 0x471DE354, %l0, %l6
1568 st %l6, [%l7 + 0x28]
1569 ld [%l7 + 0x28], %f18
1570 setx 0xC5D6E191, %l1, %l5
1571 st %l5, [%l7 + 0x10]
1572 ld [%l7 + 0x10], %f24
1573 fadds %f24, %f18, %f26
1574loop_212:
1575 fexpand %f27, %f8
1576 fmovrdne %o6, %f8, %f2
1577 nop
1578 fitod %f0, %f16
1579 fdtox %f16, %f6
1580 fxtod %f6, %f4
1581 array8 %i6, %l0, %i1
1582 bshuffle %f24, %f24, %f6
1583 call loop_213
1584 srax %i7, 0x18, %g7
1585 sethi 0x09F3, %o3
1586 nop
1587 setx 0x17148C3E, %l0, %l6
1588 st %l6, [%l7 + 0x28]
1589 ld [%l7 + 0x28], %f19
1590 fsqrts %f19, %f19
1591loop_213:
1592 call loop_214
1593 bcc %xcc, loop_215
1594 fbul,a %fcc2, loop_216
1595 membar 0x12
1596loop_214:
1597 addccc %i2, %o7, %g2
1598loop_215:
1599 bshuffle %f18, %f16, %f28
1600loop_216:
1601 call loop_217
1602 bvc,a %xcc, loop_218
1603 fmul8ulx16 %f16, %f2, %f24
1604 rdpr %otherwin, %o4
1605loop_217:
1606 call loop_219
1607loop_218:
1608 fmovrsne %l5, %f23, %f12
1609 fmovsl %fcc3, %f12, %f22
1610 addcc %g5, %g1, %o0
1611loop_219:
1612 call loop_220
1613 call loop_221
1614 fmovdvc %xcc, %f24, %f28
1615 wrpr %l4, 0x0696, %cwp
1616loop_220:
1617 movu %fcc0, 0x71B, %i4
1618loop_221:
1619 call loop_222
1620 fbu,a,pn %fcc1, loop_223
1621 call loop_224
1622 edge16n %i5, %g6, %l1
1623loop_222:
1624 fcmpes %fcc2, %f22, %f16
1625loop_223:
1626 fnegd %f4, %f30
1627loop_224:
1628 bmask %l3, %i3, %l2
1629 call loop_225
1630 call loop_226
1631 call loop_227
1632 fnegd %f16, %f16
1633loop_225:
1634 fbule,pn %fcc1, loop_228
1635loop_226:
1636 call loop_229
1637loop_227:
1638 fpack16 %f20, %f24
1639 tg %icc, 0x5
1640loop_228:
1641 fandnot2s %f7, %f13, %f24
1642loop_229:
1643 call loop_230
1644 fmovdul %fcc3, %f2, %f8
1645 array8 %o1, %o2, %i0
1646 call loop_231
1647loop_230:
1648 fcmple32 %f30, %f20, %g3
1649 call loop_232
1650 call loop_233
1651loop_231:
1652 call loop_234
1653 alignaddr %l6, %g4, %o5
1654loop_232:
1655 rd %softint, %i6
1656loop_233:
1657 alignaddrl %o6, %i1, %i7
1658loop_234:
1659 call loop_235
1660 umulcc %l0, 0x1E86, %g7
1661 call loop_236
1662 st %f30, [%l7 + 0x38]
1663loop_235:
1664 nop
1665 set 0x1C, %o4
1666 swap [%l7 + %o4], %o3
1667 call loop_237
1668loop_236:
1669 flushw
1670 call loop_238
1671 wrpr %o7, 0x0FA7, %cwp
1672loop_237:
1673 or %i2, 0x0EB8, %g2
1674 tne %xcc, 0x0
1675loop_238:
1676 add %o4, %g5, %l5
1677 bge,pt %xcc, loop_239
1678 fbo,a,pt %fcc0, loop_240
1679 fpadd32 %f20, %f20, %f0
1680 tpos %xcc, 0x7
1681loop_239:
1682 call loop_241
1683loop_240:
1684 tge %icc, 0x1
1685 tle %xcc, 0x7
1686 taddcc %o0, %l4, %g1
1687loop_241:
1688 fmovse %icc, %f25, %f12
1689 movu %fcc3, %i4, %i5
1690 wr %g6, 0x091B, %clear_softint
1691 fcmpeq16 %f30, %f10, %l3
1692 fsrc2 %f2, %f2
1693 movg %icc, 0x265, %l1
1694 mulscc %i3, %l2, %o2
1695 movcc %xcc, %i0, %o1
1696 add %l7, 0x50, %l6
1697 wr %g0, 0x10, %asi
1698 casa [%l6] 0x10, %l6, %g4
1699 EXIT_GOOD
1700
1701
1702
1703!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1704!
1705! Stats for Thread 3:
1706!
1707! Type l : 13
1708! Type a : 7
1709! Type x : 3
1710! Type cti : 63
1711! Type f : 58
1712! Type i : 56
1713!
1714!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1715
1716!
1717! Thread 4 Start
1718!
1719main_t4:
1720 mov %l7, %g1
1721 !# Set %cwp for 8 windows
1722 !# This threads memory space into each %l7
1723 wrpr %g0, 0x7, %cwp
1724 mov %g1, %l7
1725 wrpr %g0, 0x6, %cwp
1726 mov %g1, %l7
1727 wrpr %g0, 0x5, %cwp
1728 mov %g1, %l7
1729 wrpr %g0, 0x4, %cwp
1730 mov %g1, %l7
1731 wrpr %g0, 0x3, %cwp
1732 mov %g1, %l7
1733 wrpr %g0, 0x2, %cwp
1734 mov %g1, %l7
1735 wrpr %g0, 0x1, %cwp
1736 mov %g1, %l7
1737 wrpr %g0, 0x0, %cwp
1738 mov %g1, %l7
1739
1740 !# Set %fsr
1741 setx 0x0000000000000000, %l0, %l6 !# no post process
1742 stx %l6, [%l7 + 0x0] !# no post process
1743 ldx [%l7 + 0x0], %fsr !# no post process
1744
1745 !# Initialize registers ..
1746
1747 !# Global registers
1748 set 0x0, %g1
1749 set 0xA, %g2
1750 set 0x5, %g3
1751 set 0x1, %g4
1752 set 0x8, %g5
1753 set 0x5, %g6
1754 set 0xD, %g7
1755 !# Input registers
1756 set -0x7, %i0
1757 set -0x1, %i1
1758 set -0x1, %i2
1759 set -0x3, %i3
1760 set -0x9, %i4
1761 set -0xE, %i5
1762 set -0x8, %i6
1763 set -0xA, %i7
1764 !# Local registers
1765 set 0x39BF1978, %l0
1766 set 0x5693548C, %l1
1767 set 0x7B7D2054, %l2
1768 set 0x6D4E45E7, %l3
1769 set 0x5665DC49, %l4
1770 set 0x2FCE5B37, %l5
1771 set 0x163022E6, %l6
1772 !# Output registers
1773 set -0x04E9, %o0
1774 set -0x0751, %o1
1775 set -0x1245, %o2
1776 set -0x002D, %o3
1777 set -0x0054, %o4
1778 set -0x0209, %o5
1779 set -0x1F32, %o6
1780 set -0x1434, %o7
1781 !# Float registers
1782 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
1783 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
1784 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
1785 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
1786 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
1787 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
1788 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
1789 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
1790 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
1791 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
1792 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
1793 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
1794 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
1795 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
1796 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
1797 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
1798
1799 !# Execute Main Diag ..
1800
1801 bneg %xcc, loop_242
1802 nop
1803 fitod %f8, %f12
1804 fdtoi %f12, %f16
1805 set 0x3F, %o2
1806 lduba [%l7 + %o2] 0x04, %g3
1807loop_242:
1808 call loop_243
1809 edge16ln %o5, %i6, %o6
1810 set 0x7C, %i4
1811 ldsba [%l7 + %i4] 0x89, %i7
1812loop_243:
1813 nop
1814 setx 0xC70ACBFF, %l0, %l6
1815 st %l6, [%l7 + 0x28]
1816 ld [%l7 + 0x28], %f22
1817 setx 0x9F8130C1, %l1, %l5
1818 st %l5, [%l7 + 0x10]
1819 ld [%l7 + 0x10], %f9
1820 fadds %f9, %f22, %f28
1821 fandnot2s %f29, %f2, %f25
1822 call loop_244
1823 taddcctv %l0, 0x1FB4, %i1
1824 call loop_245
1825 rdpr %tl, %o3
1826loop_244:
1827 fand %f0, %f0, %f2
1828 nop
1829 setx 0x39111DB8, %l0, %l6
1830 st %l6, [%l7 + 0x28]
1831 ld [%l7 + 0x28], %f3
1832 setx 0xAD1CE153, %l1, %l5
1833 st %l5, [%l7 + 0x10]
1834 ld [%l7 + 0x10], %f5
1835 fmuls %f5, %f3, %f28
1836loop_245:
1837 fmovsvs %icc, %f11, %f20
1838 call loop_246
1839 call loop_247
1840 sethi 0x0475, %g7
1841 call loop_248
1842loop_246:
1843 call loop_249
1844loop_247:
1845 fnor %f0, %f20, %f16
1846 sdivx %o7, 0x165D, %i2
1847loop_248:
1848 fpsub32s %f15, %f0, %f12
1849loop_249:
1850 fcmpeq32 %f14, %f6, %g2
1851 fandnot2s %f21, %f24, %f2
1852 call loop_250
1853 call loop_251
1854 fmovdlg %fcc0, %f24, %f22
1855 tn %xcc, 0x2
1856loop_250:
1857 fmul8x16al %f18, %f22, %f0
1858loop_251:
1859 call loop_252
1860 fmovrdlz %g5, %f16, %f14
1861 subcc %o4, 0x06B6, %o0
1862 call loop_253
1863loop_252:
1864 movge %fcc1, 0x735, %l4
1865 fsrc2s %f11, %f25
1866 sra %g1, %i4, %l5
1867loop_253:
1868 call loop_254
1869 call loop_255
1870 movrne %i5, %l3, %g6
1871 fbul %fcc3, loop_256
1872loop_254:
1873 sethi 0x057D, %i3
1874loop_255:
1875 tg %icc, 0x6
1876 xor %l1, 0x01D9, %o2
1877loop_256:
1878 call loop_257
1879 call loop_258
1880 fmovsl %fcc0, %f9, %f12
1881 fpadd16s %f26, %f5, %f14
1882loop_257:
1883 call loop_259
1884loop_258:
1885 fpsub16 %f8, %f2, %f20
1886 bmask %l2, %i0, %l6
1887 fmovso %fcc0, %f26, %f23
1888loop_259:
1889 call loop_260
1890 fcmpne16 %f0, %f6, %o1
1891 fmovdvs %xcc, %f16, %f4
1892 wrpr %g4, %g3, %cwp
1893loop_260:
1894 bcs %icc, loop_261
1895 movrgez %o5, %i6, %i7
1896 taddcctv %l0, 0x0C6D, %i1
1897 array8 %o6, %o3, %g7
1898loop_261:
1899 edge8n %i2, %g2, %o7
1900 fandnot2 %f16, %f2, %f20
1901 movne %fcc3, 0x263, %g5
1902 call loop_262
1903 call loop_263
1904 call loop_264
1905 fbul,a %fcc0, loop_265
1906loop_262:
1907 nop
1908 set 0x08, %o1
1909 stx %o0, [%l7 + %o1]
1910loop_263:
1911 call loop_266
1912loop_264:
1913 call loop_267
1914loop_265:
1915 nop
1916 setx 0xB23D8496, %l0, %l6
1917 st %l6, [%l7 + 0x28]
1918 ld [%l7 + 0x28], %f10
1919 setx 0xD261B269, %l1, %l5
1920 st %l5, [%l7 + 0x10]
1921 ld [%l7 + 0x10], %f1
1922 fadds %f1, %f10, %f3
1923 fmovdl %fcc3, %f10, %f8
1924loop_266:
1925 fpackfix %f0, %f16
1926loop_267:
1927 fnors %f3, %f17, %f6
1928 call loop_268
1929 call loop_269
1930 fmul8ulx16 %f22, %f10, %f28
1931 rdpr %tl, %l4
1932loop_268:
1933 fornot2s %f20, %f24, %f13
1934loop_269:
1935 nop
1936
1937 or %g0, 0x8, %l0
1938 sllx %l0, 0x3c, %l0
1939 wrhpr %l0, %g0, %hsys_tick_cmpr
1940 call loop_270
1941 subccc %i4, %g1, %i5
1942 sdivx %l3, 0x172D, %l5
1943 xnor %g6, %i3, %o2
1944loop_270:
1945 tvs %xcc, 0x3
1946 call loop_271
1947 smulcc %l1, 0x1894, %i0
1948 sllx %l6, %l2, %g4
1949 tvc %xcc, 0x0
1950loop_271:
1951 umulcc %o1, 0x113F, %g3
1952 call loop_272
1953 call loop_273
1954 fone %f2
1955 fsrc1s %f29, %f31
1956loop_272:
1957 fnand %f10, %f18, %f22
1958loop_273:
1959 fmovrdlez %o5, %f12, %f8
1960 call loop_274
1961 edge16 %i6, %l0, %i1
1962 movne %fcc1, %i7, %o6
1963 fcmpd %fcc1, %f12, %f12
1964loop_274:
1965 fornot1 %f2, %f28, %f12
1966 pdist %f20, %f30, %f26
1967 fpadd16 %f26, %f16, %f30
1968 fmovsa %icc, %f0, %f24
1969 brgez,pt %g7, loop_275
1970 fmuld8sux16 %f26, %f31, %f14
1971 fones %f31
1972 fmul8sux16 %f14, %f10, %f24
1973loop_275:
1974 rdhpr %hsys_tick_cmpr, %i2
1975 movgu %xcc, 0x2F8, %o3
1976 fxors %f21, %f15, %f6
1977 call loop_276
1978 movpos %icc, 0x344, %o7
1979 call loop_277
1980 sub %g5, %o0, %g2
1981loop_276:
1982 fnegd %f0, %f10
1983 call loop_278
1984loop_277:
1985 rdpr %otherwin, %l4
1986 rdpr %cansave, %i4
1987 tge %icc, 0x1
1988loop_278:
1989 bcs,a,pn %xcc, loop_279
1990 saved
1991 rdpr %cwp, %g1
1992 rdpr %cansave, %g2
1993 rdpr %canrestore, %g3
1994 rdpr %cleanwin, %g4
1995 rdpr %otherwin, %g5
1996 rdpr %wstate, %g6
1997 call loop_280
1998 nop
1999 fitod %f8, %f8
2000 fdtox %f8, %f10
2001loop_279:
2002 nop
2003
2004 or %g0, 0x8, %l0
2005 sllx %l0, 0x3c, %l0
2006 wrhpr %l0, 0xF22, %hsys_tick_cmpr
2007 st %f28, [%l7 + 0x38]
2008loop_280:
2009 udiv %i5, 0x0CFC, %l3
2010 subc %g6, 0x141D, %l5
2011 fbul,a %fcc1, loop_281
2012 smul %i3, %o2, %l1
2013 nop
2014 setx 0xDB41D001A6D7EE84, %l0, %l6
2015 stx %l6, [%l7 + 0x28]
2016 ldd [%l7 + 0x28], %f8
2017 setx 0xE9D7E199F28DF49A, %l1, %l5
2018 stx %l5, [%l7 + 0x10]
2019 ldd [%l7 + 0x10], %f14
2020 fsubd %f14, %f8, %f6
2021 call loop_282
2022loop_281:
2023 udivcc %i0, 0x04EB, %l2
2024 nop
2025 set 0x7C, %i5
2026 stw %l6, [%l7 + %i5]
2027 fpsub32 %f4, %f26, %f30
2028loop_282:
2029 fpsub32s %f25, %f23, %f30
2030 call loop_283
2031 call loop_284
2032 rdhpr %ver, %g4
2033 call loop_285
2034loop_283:
2035 call loop_286
2036loop_284:
2037 ld [%l7 + 0x20], %f11
2038 nop
2039 set 0x10, %g4
2040 stx %o1, [%l7 + %g4]
2041loop_285:
2042 bvc,a %icc, loop_287
2043loop_286:
2044 fmovdvc %icc, %f22, %f6
2045 fornot2 %f28, %f2, %f12
2046 ta %icc, 0x1
2047loop_287:
2048 call loop_288
2049 fmovrslez %o5, %f30, %f29
2050 wrpr %g0, 0x3, %gl
2051 fbug,pt %fcc0, loop_289
2052loop_288:
2053 saved
2054 rdpr %cwp, %g1
2055 rdpr %cansave, %g2
2056 rdpr %canrestore, %g3
2057 rdpr %cleanwin, %g4
2058 rdpr %otherwin, %g5
2059 rdpr %wstate, %g6
2060 array8 %l0, %g3, %i1
2061 call loop_290
2062loop_289:
2063 srax %i7, %g7, %i2
2064 nop
2065 setx 0x789240F42C387FB8, %l0, %l6
2066 stx %l6, [%l7 + 0x28]
2067 ldd [%l7 + 0x28], %f4
2068 setx 0xFE08E0927C1625EC, %l1, %l5
2069 stx %l5, [%l7 + 0x10]
2070 ldd [%l7 + 0x10], %f26
2071 fsubd %f26, %f4, %f6
2072 rd %tick_cmpr, %o6
2073loop_290:
2074 nop
2075 set 0x30, %l4
2076 ldxa [%g0 + %l4] 0x58, %o7
2077 fandnot2 %f2, %f20, %f30
2078 movug %fcc2, 0x723, %g5
2079 stx %o3, [%l7 + 0x10]
2080 andncc %g2, 0x1A5B, %l4
2081 fpack16 %f14, %f28
2082 ldub [%l7 + 0x48], %o0
2083 brlez,pt %g1, loop_291
2084 fmovsvs %xcc, %f1, %f19
2085 movo %fcc0, %o4, %i5
2086 call loop_292
2087loop_291:
2088 fornot2 %f26, %f22, %f8
2089 st %f22, [%l7 + 0x48]
2090 call loop_293
2091loop_292:
2092 call loop_294
2093 tge %icc, 0x7
2094 fmovdle %fcc2, %f12, %f22
2095loop_293:
2096 umulcc %i4, %l3, %g6
2097loop_294:
2098 rdpr %wstate, %l5
2099 call loop_295
2100 call loop_296
2101 fbe,pn %fcc0, loop_297
2102 call loop_298
2103loop_295:
2104 rd %ccr, %i3
2105loop_296:
2106 movo %fcc2, %l1, %o2
2107loop_297:
2108 call loop_299
2109loop_298:
2110 nop
2111 fitod %f2, %f20
2112 fdtoi %f20, %f9
2113 call loop_300
2114 call loop_301
2115loop_299:
2116 tle %icc, 0x5
2117 call loop_302
2118loop_300:
2119 call loop_303
2120loop_301:
2121 call loop_304
2122 fbuge,a %fcc2, loop_305
2123loop_302:
2124 fmovda %fcc1, %f10, %f20
2125loop_303:
2126 fpadd16s %f5, %f0, %f25
2127loop_304:
2128 fmovdue %fcc3, %f24, %f26
2129loop_305:
2130 call loop_306
2131 st %f7, [%l7 + 0x0C]
2132 call loop_307
2133loop_306:
2134 nop
2135
2136loop_307:
2137 nop
2138
2139 EXIT_GOOD
2140
2141
2142
2143!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2144!
2145! Stats for Thread 4:
2146!
2147! Type l : 12
2148! Type a : 13
2149! Type x : 3
2150! Type cti : 66
2151! Type f : 58
2152! Type i : 48
2153!
2154!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2155
2156!
2157! Thread 5 Start
2158!
2159main_t5:
2160 mov %l7, %g1
2161 !# Set %cwp for 8 windows
2162 !# This threads memory space into each %l7
2163 wrpr %g0, 0x7, %cwp
2164 mov %g1, %l7
2165 wrpr %g0, 0x6, %cwp
2166 mov %g1, %l7
2167 wrpr %g0, 0x5, %cwp
2168 mov %g1, %l7
2169 wrpr %g0, 0x4, %cwp
2170 mov %g1, %l7
2171 wrpr %g0, 0x3, %cwp
2172 mov %g1, %l7
2173 wrpr %g0, 0x2, %cwp
2174 mov %g1, %l7
2175 wrpr %g0, 0x1, %cwp
2176 mov %g1, %l7
2177 wrpr %g0, 0x0, %cwp
2178 mov %g1, %l7
2179
2180 !# Set %fsr
2181 setx 0x0000000000000000, %l0, %l6 !# no post process
2182 stx %l6, [%l7 + 0x0] !# no post process
2183 ldx [%l7 + 0x0], %fsr !# no post process
2184
2185 !# Initialize registers ..
2186
2187 !# Global registers
2188 set 0x2, %g1
2189 set 0xA, %g2
2190 set 0xA, %g3
2191 set 0x4, %g4
2192 set 0x2, %g5
2193 set 0x7, %g6
2194 set 0x9, %g7
2195 !# Input registers
2196 set -0x3, %i0
2197 set -0xE, %i1
2198 set -0xF, %i2
2199 set -0xB, %i3
2200 set -0x3, %i4
2201 set -0x9, %i5
2202 set -0xE, %i6
2203 set -0x3, %i7
2204 !# Local registers
2205 set 0x0A86DC3A, %l0
2206 set 0x54F716FE, %l1
2207 set 0x6E05C782, %l2
2208 set 0x54E5DBA1, %l3
2209 set 0x11C6A5F0, %l4
2210 set 0x483673DF, %l5
2211 set 0x035CDCC9, %l6
2212 !# Output registers
2213 set 0x08EA, %o0
2214 set -0x1542, %o1
2215 set -0x0848, %o2
2216 set -0x1027, %o3
2217 set 0x111B, %o4
2218 set -0x194A, %o5
2219 set -0x19E0, %o6
2220 set -0x020D, %o7
2221 !# Float registers
2222 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
2223 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
2224 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
2225 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
2226 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
2227 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
2228 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
2229 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
2230 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
2231 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
2232 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
2233 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
2234 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
2235 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
2236 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
2237 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
2238
2239 !# Execute Main Diag ..
2240
2241 call loop_308
2242 movge %xcc, %l2, %i0
2243 nop
2244 setx 0x1D41, %l0, %l6
2245 udivcc %g4, %l6, %o1
2246 movvc %xcc, 0x086, %i6
2247loop_308:
2248 call loop_309
2249 call loop_310
2250 nop
2251 fitod %f8, %f10
2252 fdtos %f10, %f8
2253 edge8l %l0, %o5, %g3
2254loop_309:
2255 array32 %i7, %i1, %i2
2256loop_310:
2257 call loop_311
2258 array16 %g7, %o7, %o6
2259 wr %o3, 0x02E7, %y
2260 fmovscs %icc, %f21, %f19
2261loop_311:
2262 nop
2263 set 0x38, %i3
2264 stha %g2, [%l7 + %i3] 0xe3
2265 membar #Sync
2266 call loop_312
2267 fmovsvc %xcc, %f31, %f15
2268 sir 0x073C
2269 call loop_313
2270loop_312:
2271 fmovscc %xcc, %f1, %f12
2272 nop
2273 setx 0x1AD8, %l0, %o0
2274 sdivx %l4, %o0, %g1
2275 fmovdg %xcc, %f22, %f18
2276loop_313:
2277 call loop_314
2278 nop
2279 fitos %f5, %f12
2280 call loop_315
2281 call loop_316
2282loop_314:
2283 fone %f30
2284 bvc,a %xcc, loop_317
2285loop_315:
2286 fmovrdgez %o4, %f6, %f30
2287loop_316:
2288 call loop_318
2289 alignaddr %g5, %i4, %l3
2290loop_317:
2291 movlg %fcc3, %i5, %g6
2292 bmask %l5, %l1, %i3
2293loop_318:
2294 call loop_319
2295 call loop_320
2296 nop
2297 set 0x2D, %i6
2298 ldsb [%l7 + %i6], %o2
2299 fpackfix %f16, %f27
2300loop_319:
2301 fmovsleu %icc, %f20, %f18
2302loop_320:
2303 tne %xcc, 0x1
2304 fmovspos %xcc, %f19, %f30
2305 wrpr %g0, 0x2, %gl
2306 fornot1s %f20, %f17, %f12
2307 bgu %icc, loop_321
2308 call loop_322
2309 fmovsle %fcc0, %f1, %f30
2310 bne,pn %icc, loop_323
2311loop_321:
2312 movlg %fcc3, %l6, %i0
2313loop_322:
2314 call loop_324
2315 call loop_325
2316loop_323:
2317 call loop_326
2318 rd %softint, %o1
2319loop_324:
2320 nop
2321 setx 0x8CBB80AE, %l0, %l6
2322 st %l6, [%l7 + 0x28]
2323 ld [%l7 + 0x28], %f17
2324 setx 0x6967DA14, %l1, %l5
2325 st %l5, [%l7 + 0x10]
2326 ld [%l7 + 0x10], %f12
2327 fmuls %f12, %f17, %f31
2328loop_325:
2329 movpos %xcc, 0x6DA, %i6
2330loop_326:
2331 fsrc1 %f26, %f12
2332 tl %xcc, 0x6
2333 fpadd32s %f23, %f17, %f8
2334 edge16 %l0, %g3, %i7
2335 brgez,a %i1, loop_327
2336 fcmpgt16 %f16, %f16, %o5
2337 fmovdg %fcc1, %f24, %f14
2338 call loop_328
2339loop_327:
2340 nop
2341 setx 0xB3A1F2256A9EC5F9, %l0, %l6
2342 stx %l6, [%l7 + 0x28]
2343 ldd [%l7 + 0x28], %f14
2344 setx 0xF732D3E784FF12CE, %l1, %l5
2345 stx %l5, [%l7 + 0x10]
2346 ldd [%l7 + 0x10], %f6
2347 fsubd %f6, %f14, %f18
2348 set 0x40, %l2
2349 stda %f0, [%l7 + %l2] 0xc2
2350loop_328:
2351 and %i2, 0x1AC7, %g7
2352 call loop_329
2353 edge32ln %o7, %o6, %o3
2354 fnand %f26, %f14, %f14
2355 fmovdcc %xcc, %f12, %f10
2356loop_329:
2357 flushw
2358 fxors %f23, %f27, %f23
2359 call loop_330
2360 call loop_331
2361 array32 %g2, %o0, %g1
2362 call loop_332
2363loop_330:
2364 andn %o4, 0x1727, %g5
2365loop_331:
2366 fnands %f1, %f15, %f24
2367 fble,a,pt %fcc2, loop_333
2368loop_332:
2369 movleu %icc, 0x113, %l4
2370 fabsd %f8, %f30
2371 rdpr %tl, %l3
2372loop_333:
2373 tsubcctv %i5, %i4, %g6
2374 call loop_334
2375 fpackfix %f8, %f10
2376 bvs %xcc, loop_335
2377 bcc,pn %icc, loop_336
2378loop_334:
2379 tgu %xcc, 0x0
2380 fmovdue %fcc0, %f18, %f28
2381loop_335:
2382 udivx %l5, 0x060A, %l1
2383loop_336:
2384 fxnors %f24, %f12, %f7
2385 call loop_337
2386 call loop_338
2387 call loop_339
2388 sethi 0x107D, %i3
2389loop_337:
2390 array8 %o2, %g4, %l2
2391loop_338:
2392 call loop_340
2393loop_339:
2394 fbuge,a,pn %fcc1, loop_341
2395 edge8ln %l6, %o1, %i6
2396 movge %fcc1, %l0, %g3
2397loop_340:
2398 fmovsa %fcc0, %f8, %f23
2399loop_341:
2400 fmovsg %xcc, %f22, %f17
2401 wr %g0, 0x18, %asi
2402 ldda [%l7 + 0x40] %asi, %i6
2403 call loop_342
2404 call loop_343
2405 edge8n %i1, %i0, %i2
2406 edge32ln %g7, %o5, %o7
2407loop_342:
2408 fmovdcc %xcc, %f10, %f0
2409loop_343:
2410 fcmps %fcc3, %f25, %f21
2411 fcmped %fcc0, %f4, %f26
2412 membar 0x66
2413 tcs %icc, 0x5
2414 rdpr %tl, %o3
2415 edge32ln %g2, %o6, %g1
2416 mova %icc, %o4, %g5
2417 set 0x4C, %i7
2418 lda [%l7 + %i7] 0x10, %f20
2419 call loop_344
2420 subc %o0, 0x13DD, %l3
2421 call loop_345
2422 call loop_346
2423loop_344:
2424 call loop_347
2425 nop
2426 setx 0x319F6E81907CBF57, %l0, %l6
2427 stx %l6, [%l7 + 0x28]
2428 ldd [%l7 + 0x28], %f4
2429 setx 0xB91941F9, %l1, %l5
2430 stx %l5, [%l7 + 0x10]
2431 ldd [%l7 + 0x10], %f2
2432 fsmuld %f2, %f4, %f10
2433loop_345:
2434 call loop_348
2435loop_346:
2436 fmovsu %fcc2, %f26, %f25
2437loop_347:
2438 fmovdpos %xcc, %f26, %f4
2439 fzeros %f7
2440loop_348:
2441 fmovdu %fcc2, %f22, %f16
2442 call loop_349
2443 call loop_350
2444 nop
2445 setx 0x5A92BE22, %l0, %l6
2446 st %l6, [%l7 + 0x28]
2447 ld [%l7 + 0x28], %f0
2448 fsqrts %f0, %f7
2449 fmovsleu %icc, %f16, %f20
2450loop_349:
2451 tle %icc, 0x4
2452loop_350:
2453 fcmped %fcc3, %f10, %f14
2454 call loop_351
2455 fmovsle %xcc, %f22, %f27
2456 mova %fcc0, %l4, %i4
2457 tneg %icc, 0x5
2458loop_351:
2459 call loop_352
2460 edge8ln %g6, %i5, %l1
2461 fmovdge %fcc3, %f16, %f0
2462 nop
2463 fitos %f12, %f21
2464 fstoi %f21, %f13
2465loop_352:
2466 fabss %f7, %f6
2467 edge16n %l5, %i3, %o2
2468 fmovdle %fcc2, %f20, %f28
2469 wrpr %l2, %g4, %pil
2470 fmovde %xcc, %f16, %f18
2471
2472 or %g0, 0x8, %l0
2473 sllx %l0, 0x3c, %l0
2474 wrhpr %l0, %g0, %hsys_tick_cmpr
2475 nop
2476 setx 0x066C3F2EF25A4A37, %l0, %l6
2477 stx %l6, [%l7 + 0x28]
2478 ldd [%l7 + 0x28], %f4
2479 setx 0xF0456DF5AB044B72, %l1, %l5
2480 stx %l5, [%l7 + 0x10]
2481 ldd [%l7 + 0x10], %f0
2482 faddd %f0, %f4, %f8
2483 wr %g0, 0x0c, %asi
2484 ldstuba [%l7 + 0x29] %asi, %o1
2485 call loop_353
2486 call loop_354
2487 nop
2488 setx 0xA6FBCF09, %l0, %l6
2489 st %l6, [%l7 + 0x28]
2490 ld [%l7 + 0x28], %f11
2491 setx 0x9CCABD66, %l1, %l5
2492 st %l5, [%l7 + 0x10]
2493 ld [%l7 + 0x10], %f10
2494 fmuls %f10, %f11, %f22
2495 tsubcc %l0, 0x140A, %i6
2496loop_353:
2497 ldsb [%l7 + 0x0D], %i7
2498loop_354:
2499 subccc %i1, 0x0B1A, %i0
2500 fmovsug %fcc2, %f10, %f25
2501 tcs %xcc, 0x7
2502 edge32l %i2, %g3, %g7
2503 movpos %xcc, 0x730, %o5
2504 wrpr %o7, 0x1977, %cwp
2505 fmovscs %icc, %f26, %f18
2506 fbul %fcc1, loop_355
2507 call loop_356
2508 umul %o3, %o6, %g1
2509 tleu %icc, 0x3
2510loop_355:
2511 fmul8sux16 %f22, %f10, %f28
2512loop_356:
2513 movcc %icc, %g2, %g5
2514 fmovs %f2, %f16
2515 wr %o4, %l3, %y
2516 call loop_357
2517 rdpr %tba, %o0
2518 wrpr %l4, 0x1FF8, %tick
2519
2520 or %g0, 0x8, %l0
2521 sllx %l0, 0x3c, %l0
2522 wrhpr %l0, %g0, %hsys_tick_cmpr
2523loop_357:
2524 smul %l1, 0x1566, %l5
2525 call loop_358
2526 call loop_359
2527 fmovrsgez %i4, %f15, %f7
2528 movlg %fcc0, 0x25F, %o2
2529loop_358:
2530 fpack16 %f20, %f5
2531loop_359:
2532 fmovrslz %i3, %f18, %f17
2533 tvs %xcc, 0x7
2534 call loop_360
2535 movug %fcc2, %g4, %l6
2536 edge32n %o1, %l2, %i6
2537 fmovdleu %xcc, %f4, %f28
2538loop_360:
2539 call loop_361
2540 call loop_362
2541 sdiv %l0, 0x064B, %i7
2542 xor %i1, 0x18A3, %i2
2543loop_361:
2544 rdpr %canrestore, %g3
2545loop_362:
2546 movule %fcc1, 0x339, %g7
2547 call loop_363
2548 call loop_364
2549 fbul %fcc2, loop_365
2550 call loop_366
2551loop_363:
2552 call loop_367
2553loop_364:
2554 nop
2555 setx 0xE4FD7695A7D46C5F, %l0, %l6
2556 stx %l6, [%l7 + 0x28]
2557 ldd [%l7 + 0x28], %f26
2558 fsqrtd %f26, %f10
2559loop_365:
2560 mulscc %o5, %o7, %i0
2561loop_366:
2562 nop
2563
2564loop_367:
2565 nop
2566
2567 EXIT_GOOD
2568
2569
2570
2571!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2572!
2573! Stats for Thread 5:
2574!
2575! Type l : 7
2576! Type a : 13
2577! Type x : 5
2578! Type cti : 60
2579! Type f : 57
2580! Type i : 58
2581!
2582!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2583
2584!
2585! Thread 6 Start
2586!
2587main_t6:
2588 mov %l7, %g1
2589 !# Set %cwp for 8 windows
2590 !# This threads memory space into each %l7
2591 wrpr %g0, 0x7, %cwp
2592 mov %g1, %l7
2593 wrpr %g0, 0x6, %cwp
2594 mov %g1, %l7
2595 wrpr %g0, 0x5, %cwp
2596 mov %g1, %l7
2597 wrpr %g0, 0x4, %cwp
2598 mov %g1, %l7
2599 wrpr %g0, 0x3, %cwp
2600 mov %g1, %l7
2601 wrpr %g0, 0x2, %cwp
2602 mov %g1, %l7
2603 wrpr %g0, 0x1, %cwp
2604 mov %g1, %l7
2605 wrpr %g0, 0x0, %cwp
2606 mov %g1, %l7
2607
2608 !# Set %fsr
2609 setx 0x0000000000000000, %l0, %l6 !# no post process
2610 stx %l6, [%l7 + 0x0] !# no post process
2611 ldx [%l7 + 0x0], %fsr !# no post process
2612
2613 !# Initialize registers ..
2614
2615 !# Global registers
2616 set 0x8, %g1
2617 set 0x9, %g2
2618 set 0x3, %g3
2619 set 0x0, %g4
2620 set 0xA, %g5
2621 set 0xF, %g6
2622 set 0xE, %g7
2623 !# Input registers
2624 set -0x2, %i0
2625 set -0x3, %i1
2626 set -0x0, %i2
2627 set -0xB, %i3
2628 set -0x4, %i4
2629 set -0x3, %i5
2630 set -0x8, %i6
2631 set -0x2, %i7
2632 !# Local registers
2633 set 0x2634ADB2, %l0
2634 set 0x17DA14BD, %l1
2635 set 0x644886F5, %l2
2636 set 0x3D7BFA05, %l3
2637 set 0x4CC6A466, %l4
2638 set 0x79550249, %l5
2639 set 0x2E18A94F, %l6
2640 !# Output registers
2641 set 0x1984, %o0
2642 set -0x1371, %o1
2643 set -0x0EC6, %o2
2644 set -0x096D, %o3
2645 set -0x12FE, %o4
2646 set 0x1B19, %o5
2647 set 0x02CE, %o6
2648 set 0x0D45, %o7
2649 !# Float registers
2650 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
2651 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
2652 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
2653 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
2654 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
2655 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
2656 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
2657 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
2658 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
2659 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
2660 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
2661 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
2662 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
2663 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
2664 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
2665 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
2666
2667 !# Execute Main Diag ..
2668
2669 fnot1s %f21, %f1
2670 fmovso %fcc3, %f1, %f17
2671 call loop_368
2672 rdpr %canrestore, %o6
2673 fmul8x16 %f23, %f28, %f0
2674 fnands %f17, %f25, %f1
2675loop_368:
2676 ldx [%l7 + 0x18], %o3
2677 movlg %fcc0, %g1, %g2
2678 movrlz %g5, 0x359, %l3
2679 movn %fcc0, %o0, %o4
2680 orncc %l4, %g6, %i5
2681 array8 %l5, %l1, %i4
2682 fpackfix %f12, %f17
2683 sth %o2, [%l7 + 0x0A]
2684 nop
2685 fitod %f0, %f2
2686 movrlz %i3, %g4, %l6
2687 tleu %xcc, 0x2
2688 movleu %icc, 0x05E, %o1
2689 fbug %fcc3, loop_369
2690 xnor %i6, %l2, %i7
2691 call loop_370
2692 nop
2693 setx 0x584DEBB4, %l0, %l6
2694 st %l6, [%l7 + 0x28]
2695 ld [%l7 + 0x28], %f6
2696 setx 0x7CCE3CCD, %l1, %l5
2697 st %l5, [%l7 + 0x10]
2698 ld [%l7 + 0x10], %f18
2699 fsubs %f18, %f6, %f18
2700loop_369:
2701 fornot1 %f0, %f12, %f14
2702 fmovdle %icc, %f26, %f16
2703loop_370:
2704 mova %icc, %i1, %i2
2705 tge %xcc, 0x5
2706 st %f24, [%l7 + 0x30]
2707 fbug,pn %fcc0, loop_371
2708 flushw
2709 call loop_372
2710 srax %l0, 0x07, %g7
2711loop_371:
2712 fmovdue %fcc0, %f22, %f0
2713 call loop_373
2714loop_372:
2715 wr %o5, 0x172F, %sys_tick
2716 srl %g3, %i0, %o7
2717 fcmpne32 %f26, %f12, %o3
2718loop_373:
2719 faligndata %f24, %f16, %f28
2720 call loop_374
2721 movule %fcc0, 0x418, %g1
2722 tsubcctv %o6, 0x0901, %g5
2723 fcmped %fcc3, %f12, %f8
2724loop_374:
2725 rdhpr %hintp, %l3
2726 fpsub32 %f20, %f10, %f24
2727 rdpr %canrestore, %g2
2728 nop
2729 fitod %f2, %f18
2730 fdtox %f18, %f16
2731 fxtod %f16, %f6
2732 call loop_375
2733 call loop_376
2734 call loop_377
2735 rdhpr %hsys_tick_cmpr, %o4
2736loop_375:
2737 wr %o0, %g6, %clear_softint
2738loop_376:
2739 nop
2740 set 0x58, %l6
2741 lduw [%l7 + %l6], %i5
2742loop_377:
2743 bgu,a %xcc, loop_378
2744 alignaddr %l5, %l1, %i4
2745 add %l7, 0x6C, %l6
2746 wr %g0, 0x88, %asi
2747 lda [%l6] %asi, %l4
2748 casa [%l6] 0x88, %l4, %i3
2749loop_378:
2750 nop
2751 wr %g0, 0x11, %asi
2752 ldda [%l7 + 0x60] %asi, %g4
2753 movug %fcc0, %o2, %l6
2754 sll %o1, 0x13, %i6
2755 fmuld8ulx16 %f18, %f14, %f4
2756 call loop_379
2757 call loop_380
2758 fmovdug %fcc2, %f18, %f28
2759 edge8n %l2, %i1, %i7
2760loop_379:
2761 umul %i2, %g7, %o5
2762loop_380:
2763 fmovscc %xcc, %f4, %f11
2764
2765 or %g0, 0x8, %l0
2766 sllx %l0, 0x3c, %l0
2767 wrhpr %l0, %g0, %hsys_tick_cmpr
2768 call loop_381
2769 nop
2770 fitod %f0, %f28
2771 fdtoi %f28, %f24
2772 std %o6, [%l7 + 0x60]
2773
2774 or %g0, 0x8, %l0
2775 sllx %l0, 0x3c, %l0
2776 wrhpr %l0, %g0, %hsys_tick_cmpr
2777loop_381:
2778 edge16 %o6, %g1, %g5
2779 call loop_382
2780 call loop_383
2781 call loop_384
2782 call loop_385
2783loop_382:
2784 popc %g2, %l3
2785loop_383:
2786 call loop_386
2787loop_384:
2788 rd %pc, %o0
2789loop_385:
2790 movrgez %o4, 0x3BE, %g6
2791 rdpr %gl, %i5
2792loop_386:
2793 fones %f9
2794 rd %ccr, %l1
2795 tge %icc, 0x6
2796 call loop_387
2797 call loop_388
2798 fcmpes %fcc0, %f15, %f8
2799 rd %sys_tick_cmpr, %l5
2800loop_387:
2801 nop
2802
2803 or %g0, 0x8, %l0
2804 sllx %l0, 0x3c, %l0
2805 wrhpr %l0, 0xA36, %hsys_tick_cmpr
2806loop_388:
2807 call loop_389
2808 call loop_390
2809 umulcc %i4, %i3, %g4
2810 movgu %xcc, 0x704, %o2
2811loop_389:
2812 edge8l %o1, %l6, %i6
2813loop_390:
2814 fmovdule %fcc3, %f12, %f28
2815 array32 %l2, %i7, %i1
2816 call loop_391
2817 fmovdul %fcc2, %f6, %f30
2818 fcmpeq32 %f12, %f28, %i2
2819 call loop_392
2820loop_391:
2821 movu %fcc1, 0x286, %o5
2822 edge8 %g7, %i0, %l0
2823 srl %o7, %g3, %o3
2824loop_392:
2825 nop
2826 set 0x72, %i0
2827 ldsha [%l7 + %i0] 0x04, %o6
2828 fsrc1s %f20, %f14
2829 andcc %g1, 0x0322, %g5
2830 call loop_393
2831 call loop_394
2832 be,a,pn %xcc, loop_395
2833 call loop_396
2834loop_393:
2835 call loop_397
2836loop_394:
2837 fcmpne32 %f10, %f28, %g2
2838loop_395:
2839 nop
2840 setx 0x0BC5, %l0, %l3
2841 udiv %o0, %l3, %g6
2842loop_396:
2843 fmovrdne %i5, %f26, %f12
2844loop_397:
2845 call loop_398
2846 orn %l1, %l5, %o4
2847 edge32 %i4, %l4, %i3
2848 fcmpeq32 %f8, %f22, %o2
2849loop_398:
2850 bleu,a %xcc, loop_399
2851 srl %o1, 0x19, %g4
2852 fmovsue %fcc2, %f16, %f7
2853 bneg,pn %xcc, loop_400
2854loop_399:
2855 or %l6, 0x0EC8, %l2
2856 flushw
2857 call loop_401
2858loop_400:
2859 call loop_402
2860 movrne %i7, 0x28A, %i6
2861 fmovdule %fcc3, %f2, %f10
2862loop_401:
2863 nop
2864 fitos %f3, %f30
2865loop_402:
2866 andn %i1, %i2, %g7
2867 call loop_403
2868 ldub [%l7 + 0x0D], %i0
2869 movcc %xcc, 0x68D, %o5
2870 call loop_404
2871loop_403:
2872 wr %o7, 0x1BC7, %clear_softint
2873 fandnot2 %f6, %f12, %f10
2874 movl %fcc2, 0x017, %l0
2875loop_404:
2876 call loop_405
2877 orncc %o3, %g3, %g1
2878 call loop_406
2879 nop
2880 setx 0x03B3, %l0, %o6
2881 sdivcc %g5, %o6, %o0
2882loop_405:
2883 rdpr %otherwin, %g2
2884 tsubcctv %l3, 0x00FE, %g6
2885loop_406:
2886 tge %icc, 0x3
2887 fpackfix %f10, %f12
2888 movrne %i5, 0x14E, %l5
2889 movrgz %o4, 0x24D, %l1
2890 fpadd32 %f2, %f26, %f0
2891 array8 %i4, %l4, %o2
2892 call loop_407
2893 nop
2894 fitod %f19, %f6
2895 for %f26, %f22, %f30
2896 rdhpr %hsys_tick_cmpr, %o1
2897loop_407:
2898 edge16l %g4, %i3, %l2
2899 smulcc %i7, %i6, %l6
2900 fmovso %fcc0, %f23, %f17
2901 fpadd16s %f18, %f14, %f26
2902 fmovdcc %xcc, %f28, %f8
2903 call loop_408
2904 nop
2905 setx 0xFF711822F16B26D6, %l0, %l6
2906 stx %l6, [%l7 + 0x20]
2907 ldx [%l7 + 0x20], %fsr
2908 movul %fcc2, %i1, %g7
2909 wr %g0, 0x17, %asi
2910 stda %f0, [%l7 + 0x40] %asi
2911 membar #Sync
2912loop_408:
2913 tne %icc, 0x3
2914 fmul8x16au %f10, %f12, %f28
2915 nop
2916 setx 0xCB252082, %l0, %l6
2917 st %l6, [%l7 + 0x28]
2918 ld [%l7 + 0x28], %f31
2919 setx 0xEC1C3941, %l1, %l5
2920 st %l5, [%l7 + 0x10]
2921 ld [%l7 + 0x10], %f15
2922 fadds %f15, %f31, %f11
2923
2924 or %g0, 0x8, %l0
2925 sllx %l0, 0x3c, %l0
2926 wrhpr %l0, 0xC53, %hsys_tick_cmpr
2927 call loop_409
2928 fmovrslez %i2, %f29, %f24
2929 bleu,pt %xcc, loop_410
2930 nop
2931 setx 0x1191, %l0, %o7
2932 sdivcc %o5, %o7, %l0
2933loop_409:
2934 call loop_411
2935 alignaddr %o3, %g3, %g5
2936loop_410:
2937 fornot2s %f16, %f3, %f15
2938 call loop_412
2939loop_411:
2940 edge16ln %o6, %o0, %g2
2941 fcmpne32 %f4, %f2, %l3
2942 fmovdul %fcc0, %f18, %f2
2943loop_412:
2944 wrpr %g1, %i5, %cwp
2945 call loop_413
2946 fmovscs %xcc, %f30, %f3
2947 subcc %g6, %o4, %l5
2948 fnand %f4, %f22, %f2
2949loop_413:
2950 call loop_414
2951 call loop_415
2952 fmovsa %fcc1, %f26, %f27
2953 fmovso %fcc1, %f1, %f15
2954loop_414:
2955 nop
2956 wr %g0, 0x0c, %asi
2957 lduwa [%l7 + 0x2C] %asi, %l1
2958loop_415:
2959 movuge %fcc3, 0x4D5, %i4
2960 call loop_416
2961 call loop_417
2962 fnot2 %f20, %f6
2963 movlg %fcc0, 0x630, %o2
2964loop_416:
2965 add %l4, %g4, %o1
2966loop_417:
2967 call loop_418
2968 movn %xcc, 0x05F, %l2
2969 call loop_419
2970 call loop_420
2971loop_418:
2972 nop
2973
2974loop_419:
2975 nop
2976
2977loop_420:
2978 nop
2979
2980 EXIT_GOOD
2981
2982
2983
2984!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2985!
2986! Stats for Thread 6:
2987!
2988! Type l : 12
2989! Type a : 18
2990! Type x : 5
2991! Type cti : 53
2992! Type f : 50
2993! Type i : 62
2994!
2995!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2996
2997!
2998! Thread 7 Start
2999!
3000main_t7:
3001 mov %l7, %g1
3002 !# Set %cwp for 8 windows
3003 !# This threads memory space into each %l7
3004 wrpr %g0, 0x7, %cwp
3005 mov %g1, %l7
3006 wrpr %g0, 0x6, %cwp
3007 mov %g1, %l7
3008 wrpr %g0, 0x5, %cwp
3009 mov %g1, %l7
3010 wrpr %g0, 0x4, %cwp
3011 mov %g1, %l7
3012 wrpr %g0, 0x3, %cwp
3013 mov %g1, %l7
3014 wrpr %g0, 0x2, %cwp
3015 mov %g1, %l7
3016 wrpr %g0, 0x1, %cwp
3017 mov %g1, %l7
3018 wrpr %g0, 0x0, %cwp
3019 mov %g1, %l7
3020
3021 !# Set %fsr
3022 setx 0x0000000000000000, %l0, %l6 !# no post process
3023 stx %l6, [%l7 + 0x0] !# no post process
3024 ldx [%l7 + 0x0], %fsr !# no post process
3025
3026 !# Initialize registers ..
3027
3028 !# Global registers
3029 set 0x1, %g1
3030 set 0x7, %g2
3031 set 0x0, %g3
3032 set 0x6, %g4
3033 set 0xF, %g5
3034 set 0x7, %g6
3035 set 0x3, %g7
3036 !# Input registers
3037 set -0x6, %i0
3038 set -0x5, %i1
3039 set -0x6, %i2
3040 set -0x7, %i3
3041 set -0xF, %i4
3042 set -0x3, %i5
3043 set -0x0, %i6
3044 set -0x1, %i7
3045 !# Local registers
3046 set 0x3FB26977, %l0
3047 set 0x1220E404, %l1
3048 set 0x61985BBF, %l2
3049 set 0x56E81A7C, %l3
3050 set 0x309C415D, %l4
3051 set 0x716B2CCC, %l5
3052 set 0x308F125E, %l6
3053 !# Output registers
3054 set 0x116A, %o0
3055 set -0x0885, %o1
3056 set 0x0874, %o2
3057 set 0x1F93, %o3
3058 set -0x0D4B, %o4
3059 set 0x09BF, %o5
3060 set -0x027A, %o6
3061 set 0x183E, %o7
3062 !# Float registers
3063 INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
3064 INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
3065 INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
3066 INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
3067 INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
3068 INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
3069 INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
3070 INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
3071 INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
3072 INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
3073 INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
3074 INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
3075 INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
3076 INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
3077 INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
3078 INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
3079
3080 !# Execute Main Diag ..
3081
3082 call loop_421
3083 fble,pn %fcc2, loop_422
3084 movrlez %i7, %i6, %i3
3085 fpsub32 %f22, %f18, %f10
3086loop_421:
3087 addc %i1, %l6, %i0
3088loop_422:
3089 fmovdvc %icc, %f0, %f8
3090 movrlz %g7, 0x140, %o5
3091 fba,a,pn %fcc3, loop_423
3092 subcc %i2, %o7, %o3
3093 fbug %fcc0, loop_424
3094 fpadd32s %f5, %f13, %f19
3095loop_423:
3096 call loop_425
3097 fmovrdgz %g3, %f26, %f16
3098loop_424:
3099 nop
3100 set 0x60, %i2
3101 ldxa [%l7 + %i2] 0x89, %g5
3102loop_425:
3103 wrpr %g0, 0x3, %gl
3104 fmul8x16au %f5, %f19, %f22
3105 siam 0x4
3106 fbe,a,pt %fcc1, loop_426
3107 fmovdle %fcc1, %f10, %f0
3108 nop
3109 setx 0x751A7879, %l0, %l6
3110 st %l6, [%l7 + 0x28]
3111 ld [%l7 + 0x28], %f17
3112 setx 0xC24182F7, %l1, %l5
3113 st %l5, [%l7 + 0x10]
3114 ld [%l7 + 0x10], %f7
3115 fmuls %f7, %f17, %f0
3116 call loop_427
3117loop_426:
3118 fors %f4, %f16, %f0
3119 call loop_428
3120 call loop_429
3121loop_427:
3122 edge16n %o0, %l3, %g1
3123 movre %g2, %g6, %i5
3124loop_428:
3125 movne %icc, %o4, %l1
3126loop_429:
3127 nop
3128 set 0x2C, %i1
3129 swap [%l7 + %i1], %l5
3130 call loop_430
3131 fmovdg %icc, %f2, %f8
3132 popc %i4, %o2
3133 fandnot1s %f29, %f11, %f23
3134loop_430:
3135 rdpr %gl, %g4
3136 call loop_431
3137 mova %icc, %l4, %o1
3138 fmovdg %icc, %f4, %f26
3139 call loop_432
3140loop_431:
3141 te %icc, 0x7
3142 movrne %i7, %i6, %i3
3143 mulscc %l2, %l6, %i0
3144loop_432:
3145 movpos %xcc, %g7, %i1
3146 call loop_433
3147 nop
3148 setx 0xF56AFC45, %l0, %l6
3149 st %l6, [%l7 + 0x54]
3150 ld [%l7 + 0x54], %fsr
3151 call loop_434
3152 fnot2 %f6, %f18
3153loop_433:
3154 call loop_435
3155 movn %fcc2, %i2, %o5
3156loop_434:
3157 call loop_436
3158 fcmple16 %f28, %f26, %o3
3159loop_435:
3160 rdpr %tba, %g3
3161 rdhpr %hsys_tick_cmpr, %g5
3162loop_436:
3163 call loop_437
3164 fnand %f30, %f2, %f16
3165 fmovrdne %o7, %f20, %f18
3166 call loop_438
3167loop_437:
3168 call loop_439
3169 nop
3170 set 0x28, %o5
3171 std %l0, [%l7 + %o5]
3172 nop
3173 set 0x60, %o7
3174 stx %o0, [%l7 + %o7]
3175loop_438:
3176 fand %f8, %f12, %f4
3177loop_439:
3178 fmovd %f0, %f22
3179 fpack32 %f4, %f16, %f22
3180 fors %f22, %f9, %f11
3181 bvc,a %xcc, loop_440
3182 fandnot2 %f12, %f20, %f2
3183 fand %f30, %f20, %f2
3184 fmovsue %fcc3, %f6, %f28
3185loop_440:
3186 sll %o6, 0x07, %g1
3187 call loop_441
3188 call loop_442
3189 bshuffle %f10, %f16, %f0
3190 call loop_443
3191loop_441:
3192 fcmpgt32 %f0, %f22, %l3
3193loop_442:
3194 fzeros %f4
3195 fmovdvs %icc, %f6, %f0
3196loop_443:
3197 rd %tick_cmpr, %g6
3198 wr %g2, 0x146D, %ccr
3199 fcmpgt16 %f12, %f0, %i5
3200 fmovdl %icc, %f2, %f4
3201 tg %icc, 0x0
3202 fpackfix %f10, %f30
3203 bshuffle %f24, %f14, %f6
3204 fpsub16 %f16, %f28, %f4
3205 fmovrde %l1, %f8, %f14
3206 fmovdg %fcc1, %f18, %f6
3207 mova %icc, %o4, %i4
3208 edge16 %l5, %o2, %g4
3209 fandnot2 %f4, %f18, %f30
3210 fsrc1 %f28, %f24
3211 ta %xcc, 0x6
3212
3213 or %g0, 0x8, %l0
3214 sllx %l0, 0x3c, %l0
3215 wr %l0, 0x538, %sys_tick_cmpr
3216 call loop_444
3217 be,a,pn %icc, loop_445
3218 fmovrdne %i7, %f0, %f22
3219 bleu,a,pn %xcc, loop_446
3220loop_444:
3221 call loop_447
3222loop_445:
3223 fblg,pt %fcc2, loop_448
3224 call loop_449
3225loop_446:
3226 fsrc2 %f0, %f14
3227loop_447:
3228 call loop_450
3229loop_448:
3230 call loop_451
3231loop_449:
3232 call loop_452
3233 smul %l4, %i6, %i3
3234loop_450:
3235 call loop_453
3236loop_451:
3237 wr %l6, 0x0298, %ccr
3238loop_452:
3239 call loop_454
3240 fmovdug %fcc1, %f22, %f30
3241loop_453:
3242 rdhpr %ver, %l2
3243 fornot2 %f8, %f26, %f28
3244loop_454:
3245 fmovdul %fcc3, %f12, %f2
3246 bcs %xcc, loop_455
3247 fmovsge %icc, %f26, %f28
3248 movl %fcc3, %i0, %i1
3249 udivcc %i2, 0x0753, %o5
3250loop_455:
3251 call loop_456
3252 fmovdul %fcc1, %f12, %f12
3253 nop
3254 setx loop_457, %l0, %l1
3255 jmpl %l1, %o3
3256 restored
3257 rdpr %cwp, %g1
3258 rdpr %cansave, %g2
3259 rdpr %canrestore, %g3
3260 rdpr %cleanwin, %g4
3261 rdpr %otherwin, %g5
3262 rdpr %wstate, %g6
3263loop_456:
3264 andn %g7, 0x170C, %g5
3265 wrpr %o7, 0x1E44, %pil
3266loop_457:
3267 fmovsge %xcc, %f28, %f13
3268
3269 or %g0, 0x8, %l0
3270 sllx %l0, 0x3c, %l0
3271 wrhpr %l0, 0xFA8, %hsys_tick_cmpr
3272 umulcc %g3, 0x1492, %o0
3273 call loop_458
3274 tgu %icc, 0x6
3275 fcmpgt16 %f20, %f30, %g1
3276 orn %o6, 0x17FC, %l3
3277loop_458:
3278 rdhpr %hsys_tick_cmpr, %g2
3279 rdhpr %htba, %g6
3280 alignaddrl %l1, %o4, %i5
3281 stw %l5, [%l7 + 0x40]
3282 fpadd16s %f17, %f15, %f18
3283 ldsh [%l7 + 0x42], %i4
3284 fmovdge %xcc, %f24, %f14
3285 fmovdlg %fcc1, %f24, %f16
3286 call loop_459
3287 call loop_460
3288 subcc %o2, 0x0B33, %g4
3289 fmovscs %xcc, %f18, %f1
3290loop_459:
3291 call loop_461
3292loop_460:
3293 fandnot1 %f22, %f30, %f20
3294 ta %icc, 0x3
3295 call loop_462
3296loop_461:
3297 fmovdl %fcc0, %f30, %f8
3298 wr %o1, 0x09A2, %clear_softint
3299 fnot2s %f19, %f4
3300loop_462:
3301 taddcc %l4, 0x05D9, %i6
3302 fcmpes %fcc0, %f25, %f8
3303 rd %ccr, %i3
3304 call loop_463
3305 mulscc %l6, 0x0FC7, %l2
3306 call loop_464
3307 taddcc %i0, 0x1128, %i7
3308loop_463:
3309 call loop_465
3310 fbl,a,pn %fcc2, loop_466
3311loop_464:
3312 wr %i1, 0x05F4, %set_softint
3313
3314 or %g0, 0x8, %l0
3315 sllx %l0, 0x3c, %l0
3316 wrhpr %l0, %g0, %hsys_tick_cmpr
3317loop_465:
3318 call loop_467
3319loop_466:
3320 movgu %icc, 0x00A, %o5
3321 fpsub16 %f6, %f28, %f10
3322 call loop_468
3323loop_467:
3324 fexpand %f27, %f4
3325 call loop_469
3326 wr %g7, %o7, %ccr
3327loop_468:
3328 tgu %xcc, 0x1
3329 andn %g5, %g3, %o0
3330loop_469:
3331 fpack32 %f8, %f0, %f8
3332 rdhpr %hintp, %g1
3333 rdhpr %ver, %o6
3334 saved
3335 rdpr %cwp, %g1
3336 rdpr %cansave, %g2
3337 rdpr %canrestore, %g3
3338 rdpr %cleanwin, %g4
3339 rdpr %otherwin, %g5
3340 rdpr %wstate, %g6
3341 call loop_470
3342 call loop_471
3343 rd %sys_tick_cmpr, %l3
3344 fxors %f19, %f7, %f19
3345loop_470:
3346 fmovrsne %l0, %f10, %f6
3347loop_471:
3348 call loop_472
3349 edge32 %g6, %g2, %l1
3350 call loop_473
3351 fmovdle %xcc, %f24, %f2
3352loop_472:
3353 call loop_474
3354 fcmpeq32 %f2, %f30, %o4
3355loop_473:
3356 tge %xcc, 0x1
3357 nop
3358 set 0x0C, %g5
3359 prefetch [%l7 + %g5], 2
3360loop_474:
3361 call loop_475
3362 fmovsne %xcc, %f8, %f14
3363 flushw
3364 movvs %xcc, %l5, %i5
3365loop_475:
3366 movuge %fcc0, %o2, %i4
3367 fsrc2 %f20, %f4
3368 fmovrdlez %o1, %f22, %f0
3369 fnor %f16, %f6, %f10
3370 movrgz %l4, %g4, %i6
3371 movo %fcc2, %i3, %l2
3372 tsubcctv %l6, 0x0769, %i7
3373 call loop_476
3374 movvs %xcc, %i0, %i2
3375 faligndata %f22, %f14, %f28
3376 call loop_477
3377loop_476:
3378 call loop_478
3379 call loop_479
3380loop_477:
3381 nop
3382
3383loop_478:
3384 nop
3385
3386loop_479:
3387 nop
3388
3389 EXIT_GOOD
3390
3391
3392
3393!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3394!
3395! Stats for Thread 7:
3396!
3397! Type l : 8
3398! Type a : 21
3399! Type x : 1
3400! Type cti : 59
3401! Type f : 65
3402! Type i : 46
3403!
3404!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3405
3406
3407 EXIT_GOOD /* test finish */
3408
3409/************************************************************************
3410 Test case data start
3411 ************************************************************************/
3412.data
3413user_data_start:
3414scratch_area:
3415.word 0x338DA5F1
3416.word 0xBCB93AC1
3417.word 0x07940A61
3418.word 0x1941E5AD
3419.word 0xE5F93799
3420.word 0xF099897A
3421.word 0x515E6CAD
3422.word 0xD251A889
3423.word 0x5CD5933A
3424.word 0xAB6E310D
3425.word 0x2E0AC738
3426.word 0x1CFC535E
3427.word 0xA3F404CC
3428.word 0x4E85E0C2
3429.word 0xA27301F5
3430.word 0x4829D82C
3431.word 0x7A761C9D
3432.word 0x8891CE92
3433.word 0x5D5470D9
3434.word 0xACB8F0AB
3435.word 0x873214D7
3436.word 0xA59EF550
3437.word 0xBC02FBCF
3438.word 0xC914FA64
3439.word 0xE9C7ABAB
3440.word 0x969E3EE5
3441.word 0xF9B11CE5
3442.word 0xB3FCEAAC
3443.word 0xCD6A99B1
3444.word 0x60804DE7
3445.word 0xAD6CEDA4
3446.word 0xFCAF218B
3447.word 0x62C8EF98
3448.word 0x0C85B1CE
3449.word 0x2679479E
3450.word 0x5D49CEDF
3451.word 0x0EF2BB4B
3452.word 0xAD14D5E9
3453.word 0xDF65EF1F
3454.word 0xE3344F84
3455.word 0x3B3614E3
3456.word 0x5303C86F
3457.word 0x5E3DBFA7
3458.word 0x26105C03
3459.word 0x783CD291
3460.word 0x828C4330
3461.word 0x3031FF18
3462.word 0x902BA681
3463.word 0x3ACACA1A
3464.word 0x8C77345F
3465.word 0xD0962CB6
3466.word 0x9AFC4415
3467.word 0x6615D8C5
3468.word 0x3993C9D4
3469.word 0xD325E281
3470.word 0xAD7A33F3
3471.word 0xDAD1838A
3472.word 0x2526F13A
3473.word 0x7F8779AE
3474.word 0x38D8E1C5
3475.word 0xFFB17154
3476.word 0x80B2ECF8
3477.word 0xA5761261
3478.word 0xF21D8D3C
3479.end