Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / fgu / fgu_ieee_traps_24.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: fgu_ieee_traps_24.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=1879012"
39.ident "Mon Dec 8 19:57:18 CST 2003"
40.ident "Using Instruction Hash for Focus :$Id: fgu_ieee_traps_24.s,v 1.4 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 0x0, %g1
119 set 0xA, %g2
120 set 0x0, %g3
121 set 0x9, %g4
122 set 0x4, %g5
123 set 0xE, %g6
124 set 0x2, %g7
125 !# Input registers
126 set -0xB, %i0
127 set -0x6, %i1
128 set -0x2, %i2
129 set -0x1, %i3
130 set -0x3, %i4
131 set -0xA, %i5
132 set -0xB, %i6
133 set -0xB, %i7
134 !# Local registers
135 set 0x00D1B67B, %l0
136 set 0x79A0E25B, %l1
137 set 0x6B8A46B1, %l2
138 set 0x421E83BD, %l3
139 set 0x7CA2902B, %l4
140 set 0x369FD338, %l5
141 set 0x46F98224, %l6
142 !# Output registers
143 set 0x193E, %o0
144 set 0x1998, %o1
145 set -0x1563, %o2
146 set 0x07F3, %o3
147 set 0x1E65, %o4
148 set 0x0BAD, %o5
149 set -0x1601, %o6
150 set 0x10AB, %o7
151 !# Float registers
152 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
153 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
154 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
155 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
156 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
157 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
158 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
159 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
160 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
161 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
162 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
163 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
164 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
165 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
166 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
167 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
168
169 !# Execute Main Diag ..
170
171 bn,a %icc, loop_1
172 alignaddrl %l5, %o7, %l6
173 call loop_2
174 nop
175 setx 0x2C690E37, %l0, %l6
176 st %l6, [%l7 + 0x28]
177 ld [%l7 + 0x28], %f2
178 setx 0xB80F2530, %l1, %l5
179 st %l5, [%l7 + 0x10]
180 ld [%l7 + 0x10], %f25
181 fadds %f25, %f2, %f19
182loop_1:
183 fmovsvs %icc, %f20, %f16
184 rdpr %wstate, %o2
185loop_2:
186 nop
187 setx loop_3, %l0, %l1
188 wrpr 0x1, %tl
189 wrpr %l1, %tpc
190 add %l1, 0x4, %l1
191 wrpr %l1, %tnpc
192 setx 0x021100001405, %l0, %l1
193 wrpr %l1, %tstate
194 wrhpr 0x4, %htstate
195 retry
196 edge16l %o1, %l2, %g5
197 bvc,a %icc, loop_4
198 call loop_5
199loop_3:
200 fcmpne32 %f14, %f28, %g7
201 call loop_6
202loop_4:
203 fmul8sux16 %f20, %f4, %f10
204loop_5:
205 bvs,pt %xcc, loop_7
206 fnands %f9, %f3, %f1
207loop_6:
208 fmovrde %o0, %f8, %f2
209 flushw
210loop_7:
211 bn,a,pn %icc, loop_8
212 call loop_9
213 nop
214 setx 0x0BE7A72E165D50AA, %l0, %l6
215 stx %l6, [%l7 + 0x28]
216 ldd [%l7 + 0x28], %f26
217 setx 0x21A628BA076B5450, %l1, %l5
218 stx %l5, [%l7 + 0x10]
219 ldd [%l7 + 0x10], %f4
220 faddd %f4, %f26, %f8
221 edge16n %o3, %o5, %l4
222loop_8:
223 call loop_10
224loop_9:
225 fbo,a,pt %fcc1, loop_11
226 fmovsul %fcc3, %f12, %f5
227 fmovsne %xcc, %f24, %f29
228loop_10:
229 call loop_12
230loop_11:
231 tsubcc %g1, %g2, %l1
232 rdhpr %htba, %i2
233 fmovdu %fcc1, %f30, %f14
234loop_12:
235 nop
236
237 or %g0, 0x8, %l0
238 sllx %l0, 0x3c, %l0
239 wrhpr %l0, 0x085, %hsys_tick_cmpr
240 fmovrslez %l3, %f29, %f3
241 fabsd %f30, %f0
242 xnorcc %i3, %i5, %i6
243 fcmpne16 %f12, %f0, %l0
244 call loop_13
245 rdpr %tl, %o4
246 fbu,a %fcc2, loop_14
247 nop
248 fitos %f13, %f1
249 fstox %f1, %f8
250 fxtos %f8, %f9
251loop_13:
252 add %i7, 0x1AA6, %i4
253 rdpr %pil, %i1
254loop_14:
255 call loop_15
256 fnors %f18, %f24, %f20
257 wrpr %g6, 0x0FCB, %cwp
258 fmul8x16 %f10, %f4, %f4
259loop_15:
260 and %g4, 0x03D1, %l5
261 call loop_16
262 fmovrslez %o7, %f20, %f13
263 bge %xcc, loop_17
264 nop
265 fitod %f2, %f16
266 fdtox %f16, %f30
267loop_16:
268 fbu,pn %fcc0, loop_18
269 movneg %icc, 0x2F5, %l6
270loop_17:
271 nop
272 setx loop_19, %l0, %l1
273 jmpl %l1, %g3
274 call loop_20
275loop_18:
276 call loop_21
277 edge32ln %o2, %o1, %l2
278loop_19:
279 call loop_22
280loop_20:
281 call loop_23
282loop_21:
283 fnor %f26, %f22, %f4
284 call loop_24
285loop_22:
286 subcc %g7, %o0, %o3
287loop_23:
288 fcmpne32 %f10, %f30, %o5
289 call loop_25
290loop_24:
291 fxors %f0, %f7, %f20
292 fbule,a %fcc0, loop_26
293 fnors %f25, %f26, %f5
294loop_25:
295 fnands %f9, %f29, %f24
296 fble,pt %fcc2, loop_27
297loop_26:
298 call loop_28
299 fmovsn %icc, %f8, %f29
300 fsrc2 %f20, %f30
301loop_27:
302 nop
303 set 0x70, %o6
304 std %l4, [%l7 + %o6]
305loop_28:
306 call loop_29
307 call loop_30
308 call loop_31
309 membar 0x1C
310loop_29:
311 brlz %g5, loop_32
312loop_30:
313 fmovdle %fcc2, %f24, %f30
314loop_31:
315 faligndata %f0, %f20, %f0
316 edge32n %g2, %l1, %g1
317loop_32:
318 call loop_33
319 umul %i2, %o6, %l3
320 call loop_34
321 fbuge,pn %fcc3, loop_35
322loop_33:
323 call loop_36
324 call loop_37
325loop_34:
326 call loop_38
327loop_35:
328 nop
329 set 0x50, %g2
330 ldstub [%l7 + %g2], %i0
331loop_36:
332 call loop_39
333loop_37:
334 nop
335 setx 0x5F1E2055, %l0, %l6
336 st %l6, [%l7 + 0x50]
337 ld [%l7 + 0x50], %fsr
338loop_38:
339 fsrc1 %f10, %f26
340 fmovslg %fcc2, %f16, %f21
341loop_39:
342 fbug %fcc3, loop_40
343 call loop_41
344 call loop_42
345 tleu %xcc, 0x3
346loop_40:
347 call loop_43
348loop_41:
349 bcs,a,pn %xcc, loop_44
350loop_42:
351 rdhpr %hintp, %i5
352 call loop_45
353loop_43:
354 mulx %i6, %i3, %o4
355loop_44:
356 movcs %xcc, 0x077, %i7
357 fnors %f31, %f10, %f10
358loop_45:
359 fandnot2s %f25, %f28, %f11
360 array16 %i4, %i1, %l0
361 rdhpr %htba, %g6
362 movn %icc, %g4, %l5
363 edge16n %o7, %g3, %l6
364 call loop_46
365 srax %o1, %l2, %o2
366 fpsub16s %f29, %f3, %f15
367 call loop_47
368loop_46:
369 call loop_48
370 call loop_49
371 movcc %icc, %g7, %o0
372loop_47:
373 tg %icc, 0x7
374loop_48:
375 call loop_50
376loop_49:
377 movrne %o5, %o3, %l4
378 fmul8ulx16 %f14, %f6, %f2
379 call loop_51
380loop_50:
381 fandnot1s %f3, %f30, %f23
382 call loop_52
383 fmovsu %fcc1, %f31, %f23
384loop_51:
385 call loop_53
386 fornot2s %f26, %f10, %f7
387loop_52:
388 call loop_54
389 fmovdleu %xcc, %f22, %f14
390loop_53:
391 fmovsul %fcc1, %f30, %f24
392 fmovdlg %fcc0, %f28, %f24
393loop_54:
394 fmovrde %g5, %f14, %f30
395 call loop_55
396 call loop_56
397 fsrc2s %f0, %f5
398 movgu %icc, 0x342, %l1
399loop_55:
400 call loop_57
401loop_56:
402 fmovduge %fcc2, %f18, %f16
403 movl %fcc1, 0x300, %g2
404 call loop_58
405loop_57:
406 call loop_59
407 call loop_60
408 fbge,a,pn %fcc0, loop_61
409loop_58:
410 call loop_62
411loop_59:
412 nop
413 fitos %f14, %f25
414loop_60:
415 movpos %icc, 0x468, %g1
416loop_61:
417 nop
418 wr %g0, 0xeb, %asi
419 stwa %o6, [%l7 + 0x48] %asi
420 membar #Sync
421loop_62:
422 call loop_63
423 fmul8sux16 %f28, %f28, %f20
424
425 or %g0, 0x8, %l0
426 sllx %l0, 0x3c, %l0
427 wrhpr %l0, 0x943, %hsys_tick_cmpr
428 call loop_64
429loop_63:
430 fcmple32 %f18, %f8, %i2
431 call loop_65
432 fmovsn %xcc, %f26, %f4
433loop_64:
434 rd %softint, %i5
435 fzeros %f20
436loop_65:
437 fmovsule %fcc0, %f9, %f29
438 call loop_66
439 movleu %icc, %i0, %i3
440 brnz %o4, loop_67
441 bvs,pn %xcc, loop_68
442loop_66:
443 fnands %f1, %f16, %f21
444 set 0x190, %i3
445!! stxa %i6, [%g0 + %i3] 0x40
446loop_67:
447 flushw
448loop_68:
449 brlez,a %i4, loop_69
450 fandnot2s %f28, %f22, %f29
451 wr %g0, 0x80, %asi
452 ldxa [%l7 + 0x30] %asi, %i1
453loop_69:
454 nop
455 set 0x78, %g1
456 ldsw [%l7 + %g1], %i7
457 call loop_70
458 fmovsue %fcc0, %f8, %f8
459 addc %g6, 0x08EA, %g4
460 fmovspos %xcc, %f6, %f7
461loop_70:
462 brlz,pn %l0, loop_71
463 call loop_72
464 call loop_73
465 call loop_74
466loop_71:
467 rd %ccr, %o7
468loop_72:
469 call loop_75
470loop_73:
471 fpadd32s %f30, %f30, %f28
472loop_74:
473 srl %g3, 0x00, %l5
474 call loop_76
475loop_75:
476 mulscc %o1, 0x137B, %l2
477 saved
478 rdpr %cwp, %g1
479 rdpr %cansave, %g2
480 rdpr %canrestore, %g3
481 rdpr %cleanwin, %g4
482 rdpr %otherwin, %g5
483 rdpr %wstate, %g6
484 call loop_77
485loop_76:
486 nop
487 set 0x48, %l4
488 lduh [%l7 + %l4], %o2
489 call loop_78
490 call loop_79
491loop_77:
492 fnot1 %f28, %f12
493 call loop_80
494loop_78:
495 movvc %icc, %l6, %o0
496loop_79:
497 fxnor %f26, %f6, %f22
498 rd %fprs, %g7
499loop_80:
500 call loop_81
501 flushw
502 xnorcc %o3, 0x1B6C, %o5
503 fsrc2s %f8, %f13
504loop_81:
505 restored
506 rdpr %cwp, %g1
507 rdpr %cansave, %g2
508 rdpr %canrestore, %g3
509 rdpr %cleanwin, %g4
510 rdpr %otherwin, %g5
511 rdpr %wstate, %g6
512 wr %g0, 0x80, %asi
513 ldswa [%l7 + 0x08] %asi, %g5
514 call loop_82
515loop_82:
516 nop
517
518 EXIT_GOOD
519
520
521
522!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
523!
524! Stats for Thread 0:
525!
526! Type l : 9
527! Type a : 12
528! Type x : 4
529! Type cti : 82
530! Type f : 56
531! Type i : 37
532!
533!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
534
535!
536! Thread 1 Start
537!
538main_t1:
539 mov %l7, %g1
540 !# Set %cwp for 8 windows
541 !# This threads memory space into each %l7
542 wrpr %g0, 0x7, %cwp
543 mov %g1, %l7
544 wrpr %g0, 0x6, %cwp
545 mov %g1, %l7
546 wrpr %g0, 0x5, %cwp
547 mov %g1, %l7
548 wrpr %g0, 0x4, %cwp
549 mov %g1, %l7
550 wrpr %g0, 0x3, %cwp
551 mov %g1, %l7
552 wrpr %g0, 0x2, %cwp
553 mov %g1, %l7
554 wrpr %g0, 0x1, %cwp
555 mov %g1, %l7
556 wrpr %g0, 0x0, %cwp
557 mov %g1, %l7
558
559 !# Set %fsr
560 setx 0x0000000000000000, %l0, %l6 !# no post process
561 stx %l6, [%l7 + 0x0] !# no post process
562 ldx [%l7 + 0x0], %fsr !# no post process
563
564 !# Initialize registers ..
565
566 !# Global registers
567 set 0x6, %g1
568 set 0xE, %g2
569 set 0x8, %g3
570 set 0x9, %g4
571 set 0x7, %g5
572 set 0x6, %g6
573 set 0xE, %g7
574 !# Input registers
575 set -0x1, %i0
576 set -0x4, %i1
577 set -0x3, %i2
578 set -0x2, %i3
579 set -0x4, %i4
580 set -0xE, %i5
581 set -0x5, %i6
582 set -0xE, %i7
583 !# Local registers
584 set 0x156584E8, %l0
585 set 0x23FE776D, %l1
586 set 0x40562EA5, %l2
587 set 0x1A59D002, %l3
588 set 0x31F94048, %l4
589 set 0x4A9EAC1C, %l5
590 set 0x621F2A3D, %l6
591 !# Output registers
592 set 0x0C79, %o0
593 set 0x1D09, %o1
594 set -0x0DF8, %o2
595 set -0x1383, %o3
596 set 0x1843, %o4
597 set -0x02F6, %o5
598 set 0x0430, %o6
599 set 0x0304, %o7
600 !# Float registers
601 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
602 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
603 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
604 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
605 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
606 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
607 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
608 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
609 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
610 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
611 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
612 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
613 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
614 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
615 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
616 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
617
618 !# Execute Main Diag ..
619
620 fpsub16 %f26, %f12, %f0
621 set 0x1A, %g5
622 lduha [%l7 + %g5] 0x10, %l1
623 call loop_83
624 call loop_84
625 nop
626 setx 0x15EF, %l0, %g2
627 udivx %l4, %g2, %g1
628 wr %o6, 0x12DF, %clear_softint
629loop_83:
630 bpos %icc, loop_85
631loop_84:
632 fpsub16 %f0, %f30, %f30
633 rd %pc, %l3
634 alignaddrl %i5, %i2, %i0
635loop_85:
636 subccc %o4, 0x1F21, %i3
637 call loop_86
638 tge %xcc, 0x1
639 brz,pt %i6, loop_87
640 movrlz %i4, 0x2E6, %i7
641loop_86:
642 mova %icc, 0x119, %i1
643 fmovdo %fcc1, %f10, %f14
644loop_87:
645 call loop_88
646 fmovslg %fcc1, %f28, %f22
647 fpsub32 %f26, %f6, %f4
648 fpadd32s %f2, %f30, %f1
649loop_88:
650 call loop_89
651 call loop_90
652 fmovso %fcc0, %f27, %f24
653 fmovrse %g6, %f16, %f13
654loop_89:
655 fpmerge %f23, %f6, %f10
656loop_90:
657 movgu %icc, 0x51A, %l0
658 movgu %xcc, %g4, %o7
659 call loop_91
660 nop
661 setx 0x166A, %l0, %g3
662 udiv %l5, %g3, %o1
663 tne %xcc, 0x3
664 membar 0x50
665loop_91:
666 call loop_92
667 ble,a,pt %icc, loop_93
668 call loop_94
669 fxnors %f16, %f20, %f28
670loop_92:
671 movug %fcc1, %l2, %o2
672loop_93:
673 call loop_95
674loop_94:
675 call loop_96
676 fmovsule %fcc1, %f23, %f11
677 nop
678 setx 0xDEFF31EEC81494DB, %l0, %l6
679 stx %l6, [%l7 + 0x28]
680 ldd [%l7 + 0x28], %f16
681 setx 0xFEBA54A4F02A0F2A, %l1, %l5
682 stx %l5, [%l7 + 0x10]
683 ldd [%l7 + 0x10], %f14
684 fsubd %f14, %f16, %f20
685loop_95:
686 nop
687 set 0x68, %i0
688 ldx [%l7 + %i0], %o0
689loop_96:
690 call loop_97
691 call loop_98
692 call loop_99
693 fmovsvs %xcc, %f8, %f6
694loop_97:
695 popc %g7, %o3
696loop_98:
697 alignaddr %l6, %o5, %g5
698loop_99:
699 fmovdlg %fcc3, %f14, %f28
700 fornot2s %f10, %f24, %f2
701 call loop_100
702 call loop_101
703 call loop_102
704 call loop_103
705loop_100:
706 pdist %f2, %f2, %f16
707loop_101:
708 nop
709 wr %g0, 0x0c, %asi
710 stwa %l4, [%l7 + 0x34] %asi
711loop_102:
712 nop
713 fitod %f6, %f2
714 fdtos %f2, %f18
715loop_103:
716 nop
717 setx loop_104, %l0, %l1
718 wrpr 0x1, %tl
719 wrpr %l1, %tpc
720 add %l1, 0x4, %l1
721 wrpr %l1, %tnpc
722 setx 0x024100001400, %l0, %l1
723 wrpr %l1, %tstate
724 wrhpr 0x4, %htstate
725 retry
726 umulcc %l1, 0x03F0, %g1
727 tleu %xcc, 0x1
728 call loop_105
729loop_104:
730 fba,a %fcc0, loop_106
731 fmovdule %fcc1, %f2, %f30
732 call loop_107
733loop_105:
734 movle %xcc, 0x177, %o6
735loop_106:
736 subcc %l3, %i5, %i2
737 rdpr %cleanwin, %i0
738loop_107:
739 fpadd32 %f26, %f0, %f12
740 fsrc1 %f26, %f0
741 call loop_108
742 movneg %icc, 0x70A, %g2
743 taddcc %i3, %i6, %o4
744 sdiv %i7, 0x00FF, %i1
745loop_108:
746 wrpr %g6, 0x1A0E, %pil
747 fbule,a %fcc2, loop_109
748 call loop_110
749 nop
750 setx 0xB69BFBDF, %l0, %l6
751 st %l6, [%l7 + 0x28]
752 ld [%l7 + 0x28], %f7
753 setx 0x170F1BF0, %l1, %l5
754 st %l5, [%l7 + 0x10]
755 ld [%l7 + 0x10], %f8
756 fsubs %f8, %f7, %f9
757 fzeros %f6
758loop_109:
759 call loop_111
760loop_110:
761 fnors %f10, %f5, %f22
762 fmovsg %icc, %f16, %f18
763 taddcctv %i4, %g4, %o7
764loop_111:
765 call loop_112
766 fones %f25
767 fornot2 %f8, %f28, %f6
768 call loop_113
769loop_112:
770 fmul8sux16 %f2, %f2, %f10
771 wrpr %l0, 0x099B, %tick
772 edge16ln %l5, %g3, %o1
773loop_113:
774 array32 %o2, %o0, %l2
775 call loop_114
776 fmovsne %fcc3, %f27, %f23
777 fbe,a %fcc0, loop_115
778 array8 %o3, %g7, %o5
779loop_114:
780 call loop_116
781 call loop_117
782loop_115:
783 stw %g5, [%l7 + 0x58]
784 call loop_118
785loop_116:
786 udivx %l4, 0x195B, %l6
787loop_117:
788 call loop_119
789 fmovrsgz %l1, %f12, %f11
790loop_118:
791 movre %o6, %g1, %i5
792 call loop_120
793loop_119:
794 srl %l3, %i2, %g2
795 fand %f6, %f12, %f20
796 xorcc %i0, 0x1EB7, %i3
797loop_120:
798 movleu %xcc, %o4, %i6
799 andcc %i1, 0x0FCC, %g6
800 movule %fcc1, %i7, %g4
801 fmuld8sux16 %f2, %f4, %f18
802 call loop_121
803 ldsw [%l7 + 0x48], %i4
804 movue %fcc3, 0x391, %l0
805 edge32ln %o7, %l5, %o1
806loop_121:
807 fmovspos %xcc, %f1, %f19
808 tsubcc %o2, 0x1547, %o0
809 call loop_122
810 fcmpeq32 %f2, %f0, %l2
811 fpadd32s %f25, %f12, %f3
812 movu %fcc2, %g3, %o3
813loop_122:
814 tn %icc, 0x5
815 fnot2 %f2, %f26
816 call loop_123
817 fcmpne32 %f2, %f22, %o5
818
819 or %g0, 0x8, %l0
820 sllx %l0, 0x3c, %l0
821 wrhpr %l0, %g0, %hsys_tick_cmpr
822 call loop_124
823loop_123:
824 wrpr %l6, 0x1058, %pil
825 wr %l1, 0x1C1A, %ccr
826 rdpr %cwp, %g5
827loop_124:
828 fba,a,pt %fcc1, loop_125
829 tgu %icc, 0x7
830 mova %fcc3, 0x3B2, %g1
831 movrlez %o6, 0x161, %i5
832loop_125:
833 call loop_126
834 fmovrsgz %l3, %f21, %f20
835 call loop_127
836 fsrc1s %f13, %f31
837loop_126:
838 call loop_128
839 call loop_129
840loop_127:
841 call loop_130
842 mulx %g2, %i0, %i2
843loop_128:
844 call loop_131
845loop_129:
846 call loop_132
847loop_130:
848 tg %icc, 0x6
849 fsrc1s %f2, %f21
850loop_131:
851 ld [%l7 + 0x0C], %f22
852loop_132:
853 wrpr %g0, 0x3, %gl
854 xor %o4, 0x0A6F, %i6
855 brgez,pt %i1, loop_133
856 call loop_134
857 fmovdleu %xcc, %f2, %f24
858 brlz %g6, loop_135
859loop_133:
860 call loop_136
861loop_134:
862 array8 %g4, %i7, %i4
863 bn %xcc, loop_137
864loop_135:
865 call loop_138
866loop_136:
867 or %l0, %o7, %l5
868 fmuld8ulx16 %f18, %f18, %f18
869loop_137:
870 call loop_139
871loop_138:
872 call loop_140
873 pdist %f10, %f30, %f18
874 addcc %o1, %o0, %l2
875loop_139:
876 nop
877 setx 0x0D00, %l0, %o2
878 udivcc %g3, %o2, %o5
879loop_140:
880 tcc %xcc, 0x6
881
882 or %g0, 0x8, %l0
883 sllx %l0, 0x3c, %l0
884 wrhpr %l0, 0x394, %hsys_tick_cmpr
885 call loop_141
886 movre %l6, %l4, %l1
887 fmovrsgz %g5, %f17, %f10
888 rd %tick_cmpr, %g1
889loop_141:
890 popc %i5, %o6
891 wr %g0, 0x04, %asi
892 ldswa [%l7 + 0x64] %asi, %g2
893 call loop_142
894 call loop_143
895 call loop_144
896 fmovduge %fcc1, %f4, %f30
897loop_142:
898 call loop_145
899loop_143:
900 call loop_146
901loop_144:
902 call loop_147
903 nop
904 fitod %f0, %f10
905 fdtox %f10, %f10
906 fxtod %f10, %f20
907loop_145:
908 fmuld8ulx16 %f26, %f20, %f4
909loop_146:
910 udiv %i0, 0x03C7, %i2
911loop_147:
912 nop
913 fitos %f1, %f14
914 fstod %f14, %f26
915 fbuge,a %fcc0, loop_148
916 tgu %xcc, 0x7
917 nop
918 fitos %f2, %f9
919 fstox %f9, %f26
920 fxtos %f26, %f20
921 tg %xcc, 0x0
922loop_148:
923 nop
924 fitos %f10, %f25
925 fstox %f25, %f30
926 fxtos %f30, %f15
927 tgu %xcc, 0x3
928 wrpr %g0, 0x0, %gl
929 call loop_149
930 fmovrsgez %l3, %f23, %f12
931 call loop_150
932 call loop_151
933loop_149:
934 fmovscc %icc, %f1, %f8
935 umulcc %i6, 0x07BF, %i1
936loop_150:
937 call loop_152
938loop_151:
939 call loop_153
940loop_152:
941 nop
942
943loop_153:
944 nop
945
946 EXIT_GOOD
947
948
949
950!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
951!
952! Stats for Thread 1:
953!
954! Type l : 7
955! Type a : 13
956! Type cti : 71
957! Type x : 3
958! Type f : 51
959! Type i : 55
960!
961!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
962
963!
964! Thread 2 Start
965!
966main_t2:
967 mov %l7, %g1
968 !# Set %cwp for 8 windows
969 !# This threads memory space into each %l7
970 wrpr %g0, 0x7, %cwp
971 mov %g1, %l7
972 wrpr %g0, 0x6, %cwp
973 mov %g1, %l7
974 wrpr %g0, 0x5, %cwp
975 mov %g1, %l7
976 wrpr %g0, 0x4, %cwp
977 mov %g1, %l7
978 wrpr %g0, 0x3, %cwp
979 mov %g1, %l7
980 wrpr %g0, 0x2, %cwp
981 mov %g1, %l7
982 wrpr %g0, 0x1, %cwp
983 mov %g1, %l7
984 wrpr %g0, 0x0, %cwp
985 mov %g1, %l7
986
987 !# Set %fsr
988 setx 0x0000000000000000, %l0, %l6 !# no post process
989 stx %l6, [%l7 + 0x0] !# no post process
990 ldx [%l7 + 0x0], %fsr !# no post process
991
992 !# Initialize registers ..
993
994 !# Global registers
995 set 0xE, %g1
996 set 0x1, %g2
997 set 0x2, %g3
998 set 0xB, %g4
999 set 0x8, %g5
1000 set 0x3, %g6
1001 set 0xD, %g7
1002 !# Input registers
1003 set -0xF, %i0
1004 set -0x7, %i1
1005 set -0x3, %i2
1006 set -0x2, %i3
1007 set -0x0, %i4
1008 set -0xE, %i5
1009 set -0x3, %i6
1010 set -0x8, %i7
1011 !# Local registers
1012 set 0x4B888FF8, %l0
1013 set 0x4D786CDD, %l1
1014 set 0x7C2B8868, %l2
1015 set 0x1E74E254, %l3
1016 set 0x2BD176A4, %l4
1017 set 0x4E215A69, %l5
1018 set 0x03E2283E, %l6
1019 !# Output registers
1020 set -0x1993, %o0
1021 set -0x0FD5, %o1
1022 set -0x1D9E, %o2
1023 set -0x0510, %o3
1024 set -0x063A, %o4
1025 set -0x0F3D, %o5
1026 set -0x0B46, %o6
1027 set -0x0504, %o7
1028 !# Float registers
1029 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
1030 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
1031 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
1032 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
1033 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
1034 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
1035 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
1036 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
1037 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
1038 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
1039 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
1040 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
1041 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
1042 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
1043 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
1044 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
1045
1046 !# Execute Main Diag ..
1047
1048 edge16n %g6, %g4, %i7
1049 fbne,a,pn %fcc2, loop_154
1050 alignaddrl %i4, %o4, %l0
1051 fmovdvs %xcc, %f28, %f8
1052 subc %l5, 0x1A8C, %o1
1053loop_154:
1054 edge8n %o7, %o0, %l2
1055 call loop_155
1056 fmul8x16 %f20, %f20, %f24
1057 fbul,pt %fcc2, loop_156
1058 movrne %g3, %o2, %o5
1059loop_155:
1060 nop
1061 setx 0x7976AF6F, %l0, %l6
1062 st %l6, [%l7 + 0x28]
1063 ld [%l7 + 0x28], %f12
1064 setx 0xCE7F585D, %l1, %l5
1065 st %l5, [%l7 + 0x10]
1066 ld [%l7 + 0x10], %f6
1067 fadds %f6, %f12, %f21
1068 call loop_157
1069loop_156:
1070 fnegd %f18, %f8
1071 call loop_158
1072 udiv %g7, 0x0857, %o3
1073loop_157:
1074 fcmpeq32 %f6, %f16, %l6
1075 call loop_159
1076loop_158:
1077 fmovsu %fcc2, %f18, %f1
1078 tpos %xcc, 0x4
1079 fcmpne16 %f26, %f28, %l4
1080loop_159:
1081 fnegd %f24, %f2
1082 movvs %icc, %g5, %g1
1083 call loop_160
1084 tvc %icc, 0x1
1085 tle %xcc, 0x3
1086 fmovdvs %icc, %f26, %f6
1087loop_160:
1088 fcmpes %fcc2, %f2, %f9
1089 movcc %icc, %l1, %o6
1090 fmovrse %i5, %f29, %f16
1091 fnot1 %f12, %f24
1092 bshuffle %f10, %f10, %f14
1093 st %f21, [%l7 + 0x18]
1094 call loop_161
1095 movlg %fcc3, 0x008, %g2
1096 set 0x20, %g6
1097 ldxa [%l7 + %g6] 0x18, %i2
1098loop_161:
1099 call loop_162
1100 tneg %icc, 0x1
1101 bl,a,pn %xcc, loop_163
1102 call loop_164
1103loop_162:
1104 fmovdpos %icc, %f30, %f14
1105 ldd [%l7 + 0x10], %i0
1106loop_163:
1107 bl,pt %xcc, loop_165
1108loop_164:
1109 xorcc %i3, 0x0DE6, %i6
1110 call loop_166
1111 fmovs %f14, %f22
1112loop_165:
1113 movrne %l3, 0x326, %g6
1114 udivcc %g4, 0x1287, %i7
1115loop_166:
1116 tsubcctv %i1, %i4, %l0
1117 movule %fcc0, 0x57F, %o4
1118 addcc %o1, %l5, %o0
1119 bn %icc, loop_167
1120 movcc %xcc, 0x07C, %o7
1121 call loop_168
1122 fmovdl %fcc1, %f18, %f2
1123loop_167:
1124 movl %fcc3, %g3, %l2
1125 call loop_169
1126loop_168:
1127 addccc %o5, %o2, %o3
1128 bmask %l6, %g7, %l4
1129
1130 or %g0, 0x8, %l0
1131 sllx %l0, 0x3c, %l0
1132 wrhpr %l0, %g0, %hsys_tick_cmpr
1133loop_169:
1134 stx %fsr, [%l7 + 0x30]
1135 call loop_170
1136 fzero %f24
1137 flush %l7 + 0x60
1138 call loop_171
1139loop_170:
1140 call loop_172
1141 call loop_173
1142 sra %l1, %i5, %g2
1143loop_171:
1144 call loop_174
1145loop_172:
1146 call loop_175
1147loop_173:
1148 flush %l7 + 0x68
1149 addc %o6, %i2, %i3
1150loop_174:
1151 call loop_176
1152loop_175:
1153 fpsub32s %f29, %f2, %f8
1154 tvc %icc, 0x4
1155 tsubcc %i6, %l3, %g6
1156loop_176:
1157 fmul8sux16 %f28, %f20, %f14
1158 call loop_177
1159 move %icc, %i0, %i7
1160 bcs,a,pn %icc, loop_178
1161 call loop_179
1162loop_177:
1163 call loop_180
1164 nop
1165 set 0x78, %i6
1166 std %i0, [%l7 + %i6]
1167loop_178:
1168 edge16ln %i4, %g4, %o4
1169loop_179:
1170 fmovdvs %icc, %f4, %f28
1171loop_180:
1172 fmovsvs %xcc, %f30, %f23
1173 wrpr %g0, 0x3, %gl
1174 call loop_181
1175 movvc %icc, %l0, %l5
1176 call loop_182
1177 mulx %o0, 0x0EAF, %g3
1178loop_181:
1179 movrne %o7, %o5, %o2
1180 tsubcc %l2, %l6, %g7
1181loop_182:
1182 fmovsneg %icc, %f8, %f17
1183 fmovdo %fcc1, %f28, %f10
1184 call loop_183
1185 movge %fcc3, %l4, %o3
1186 tne %xcc, 0x4
1187 call loop_184
1188loop_183:
1189 xor %g5, 0x1F9F, %g1
1190 rdpr %otherwin, %l1
1191 fmul8x16au %f22, %f13, %f0
1192loop_184:
1193 movn %xcc, %i5, %o6
1194 fands %f20, %f9, %f11
1195 addcc %i2, %i3, %g2
1196 call loop_185
1197 fmul8x16 %f18, %f0, %f30
1198 fmovsue %fcc0, %f3, %f29
1199 nop
1200 set 0x0C, %l6
1201 stw %i6, [%l7 + %l6]
1202loop_185:
1203 nop
1204 wr %g0, 0x10, %asi
1205 lduba [%l7 + 0x79] %asi, %g6
1206 fmovs %f29, %f25
1207 call loop_186
1208 srl %l3, %i7, %i0
1209 nop
1210 setx loop_187, %l0, %l1
1211 wrpr 0x1, %tl
1212 wrpr %l1, %tpc
1213 add %l1, 0x4, %l1
1214 wrpr %l1, %tnpc
1215 setx 0x032200001406, %l0, %l1
1216 wrpr %l1, %tstate
1217 wrhpr 0x4, %htstate
1218 retry
1219 edge32ln %i1, %g4, %o4
1220loop_186:
1221 movlg %fcc1, %i4, %o1
1222 fmovsne %fcc0, %f2, %f18
1223loop_187:
1224 udiv %l5, 0x1580, %o0
1225 restored
1226 rdpr %cwp, %g1
1227 rdpr %cansave, %g2
1228 rdpr %canrestore, %g3
1229 rdpr %cleanwin, %g4
1230 rdpr %otherwin, %g5
1231 rdpr %wstate, %g6
1232 flushw
1233 add %g3, %o7, %o5
1234 add %o2, 0x0D69, %l2
1235 nop
1236 fitos %f12, %f24
1237 fstod %f24, %f26
1238 call loop_188
1239 movule %fcc1, 0x698, %l6
1240 array32 %g7, %l0, %l4
1241 edge8 %g5, %o3, %g1
1242loop_188:
1243 call loop_189
1244 fbue %fcc3, loop_190
1245 nop
1246 fitod %f0, %f20
1247 fdtoi %f20, %f18
1248 fone %f10
1249loop_189:
1250 movrgez %i5, %l1, %i2
1251loop_190:
1252 nop
1253 set 0x50, %i5
1254 stx %i3, [%l7 + %i5]
1255 movul %fcc1, %o6, %g2
1256 fbne,a %fcc3, loop_191
1257 sllx %i6, %g6, %l3
1258 srlx %i0, %i7, %i1
1259 fmovsle %fcc2, %f16, %f22
1260loop_191:
1261 call loop_192
1262 edge16ln %o4, %g4, %o1
1263 nop
1264 fitos %f11, %f9
1265 fstoi %f9, %f5
1266 call loop_193
1267loop_192:
1268 call loop_194
1269 call loop_195
1270 call loop_196
1271loop_193:
1272 tpos %xcc, 0x0
1273loop_194:
1274 call loop_197
1275loop_195:
1276 fmovsug %fcc2, %f17, %f21
1277loop_196:
1278 call loop_198
1279 srl %l5, 0x0D, %i4
1280loop_197:
1281 fnor %f8, %f2, %f2
1282 tne %xcc, 0x1
1283loop_198:
1284 nop
1285 setx 0x426D25FF, %l0, %l6
1286 st %l6, [%l7 + 0x28]
1287 ld [%l7 + 0x28], %f12
1288 setx 0x9311F7B2, %l1, %l5
1289 st %l5, [%l7 + 0x10]
1290 ld [%l7 + 0x10], %f13
1291 fmuls %f13, %f12, %f20
1292 call loop_199
1293 fandnot2s %f5, %f27, %f22
1294 call loop_200
1295 call loop_201
1296loop_199:
1297 call loop_202
1298 addccc %o0, 0x05C2, %o7
1299loop_200:
1300 edge16n %o5, %g3, %o2
1301loop_201:
1302 fmovd %f14, %f14
1303loop_202:
1304 call loop_203
1305 udiv %l2, 0x0FD4, %g7
1306 nop
1307 setx 0x1B1A, %l0, %l4
1308 udiv %l0, %l4, %l6
1309 call loop_204
1310loop_203:
1311 rdpr %tl, %o3
1312 wr %g5, 0x0FDE, %set_softint
1313 call loop_205
1314loop_204:
1315 sethi 0x12F2, %i5
1316 subccc %g1, 0x18A2, %l1
1317 fmovdge %icc, %f6, %f18
1318loop_205:
1319 fmovdneg %xcc, %f0, %f18
1320 movlg %fcc0, 0x715, %i2
1321 set 0x40, %o1
1322 stda %f0, [%l7 + %o1] 0xcb
1323 rd %sys_tick_cmpr, %i3
1324 nop
1325 fitos %f8, %f15
1326 fstoi %f15, %f4
1327 nop
1328 set 0x22, %i1
1329 ldsh [%l7 + %i1], %o6
1330 fmovd %f2, %f22
1331 fble,pn %fcc0, loop_206
1332 udivcc %i6, 0x0EFD, %g6
1333 alignaddr %g2, %i0, %i7
1334 fcmpne16 %f16, %f10, %i1
1335loop_206:
1336 fmovsl %xcc, %f25, %f30
1337 call loop_207
1338 call loop_208
1339 movle %xcc, %l3, %o4
1340 alignaddrl %o1, %l5, %g4
1341loop_207:
1342 fandnot1 %f26, %f18, %f18
1343loop_208:
1344 fmovrse %i4, %f17, %f25
1345 fxor %f20, %f24, %f4
1346 fmovse %fcc0, %f0, %f22
1347 fnot1s %f1, %f26
1348 nop
1349 setx 0x7EA55D09, %l0, %l6
1350 st %l6, [%l7 + 0x28]
1351 ld [%l7 + 0x28], %f31
1352 setx 0x64901470, %l1, %l5
1353 st %l5, [%l7 + 0x10]
1354 ld [%l7 + 0x10], %f13
1355 fsubs %f13, %f31, %f12
1356 fornot1s %f28, %f23, %f18
1357 nop
1358 fitos %f5, %f11
1359 rdhpr %hsys_tick_cmpr, %o7
1360 call loop_209
1361 tle %xcc, 0x5
1362loop_209:
1363 nop
1364
1365 EXIT_GOOD
1366
1367
1368
1369!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1370!
1371! Stats for Thread 2:
1372!
1373! Type l : 12
1374! Type a : 7
1375! Type x : 3
1376! Type cti : 56
1377! Type f : 53
1378! Type i : 69
1379!
1380!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1381
1382!
1383! Thread 3 Start
1384!
1385main_t3:
1386 mov %l7, %g1
1387 !# Set %cwp for 8 windows
1388 !# This threads memory space into each %l7
1389 wrpr %g0, 0x7, %cwp
1390 mov %g1, %l7
1391 wrpr %g0, 0x6, %cwp
1392 mov %g1, %l7
1393 wrpr %g0, 0x5, %cwp
1394 mov %g1, %l7
1395 wrpr %g0, 0x4, %cwp
1396 mov %g1, %l7
1397 wrpr %g0, 0x3, %cwp
1398 mov %g1, %l7
1399 wrpr %g0, 0x2, %cwp
1400 mov %g1, %l7
1401 wrpr %g0, 0x1, %cwp
1402 mov %g1, %l7
1403 wrpr %g0, 0x0, %cwp
1404 mov %g1, %l7
1405
1406 !# Set %fsr
1407 setx 0x0000000000000000, %l0, %l6 !# no post process
1408 stx %l6, [%l7 + 0x0] !# no post process
1409 ldx [%l7 + 0x0], %fsr !# no post process
1410
1411 !# Initialize registers ..
1412
1413 !# Global registers
1414 set 0x6, %g1
1415 set 0xC, %g2
1416 set 0xC, %g3
1417 set 0x5, %g4
1418 set 0x3, %g5
1419 set 0x8, %g6
1420 set 0x3, %g7
1421 !# Input registers
1422 set -0xC, %i0
1423 set -0x4, %i1
1424 set -0xF, %i2
1425 set -0x5, %i3
1426 set -0x9, %i4
1427 set -0xE, %i5
1428 set -0x9, %i6
1429 set -0xE, %i7
1430 !# Local registers
1431 set 0x5A261FB9, %l0
1432 set 0x5E96C286, %l1
1433 set 0x33A1E5AA, %l2
1434 set 0x28319263, %l3
1435 set 0x5D42DAA3, %l4
1436 set 0x16911B12, %l5
1437 set 0x1FAA4E03, %l6
1438 !# Output registers
1439 set 0x0EE3, %o0
1440 set 0x1DF5, %o1
1441 set -0x03B4, %o2
1442 set -0x1991, %o3
1443 set -0x1CB3, %o4
1444 set -0x0C18, %o5
1445 set -0x13D2, %o6
1446 set 0x1C96, %o7
1447 !# Float registers
1448 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
1449 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
1450 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
1451 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
1452 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
1453 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
1454 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
1455 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
1456 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
1457 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
1458 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
1459 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
1460 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
1461 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
1462 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
1463 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
1464
1465 !# Execute Main Diag ..
1466
1467 fnors %f26, %f8, %f18
1468 call loop_210
1469 subccc %o0, 0x071E, %g3
1470 addc %o2, 0x0ADE, %l2
1471 fmovsge %icc, %f10, %f16
1472loop_210:
1473 nop
1474 setx 0x66DA58666F80E466, %l0, %l6
1475 stx %l6, [%l7 + 0x28]
1476 ldd [%l7 + 0x28], %f30
1477 setx 0x1A9A882B, %l1, %l5
1478 stx %l5, [%l7 + 0x10]
1479 ldd [%l7 + 0x10], %f4
1480 fsmuld %f4, %f30, %f6
1481 fnors %f11, %f25, %f18
1482 fpmerge %f13, %f23, %f20
1483 fpsub32s %f23, %f27, %f17
1484 nop
1485 setx 0x9BDAC9E6, %l0, %l6
1486 st %l6, [%l7 + 0x24]
1487 ld [%l7 + 0x24], %fsr
1488 bpos %icc, loop_211
1489 move %fcc3, 0x4BE, %o5
1490 call loop_212
1491 call loop_213
1492loop_211:
1493 orncc %l0, 0x16FF, %l4
1494 rdhpr %hintp, %g7
1495loop_212:
1496 fmovdu %fcc1, %f2, %f4
1497loop_213:
1498 fpack32 %f24, %f14, %f2
1499 edge16n %l6, %g5, %o3
1500 call loop_214
1501 fbule %fcc0, loop_215
1502 movul %fcc2, 0x28C, %g1
1503 call loop_216
1504loop_214:
1505 fmovdcc %icc, %f2, %f28
1506loop_215:
1507 nop
1508 fitos %f4, %f22
1509 fstoi %f22, %f5
1510 call loop_217
1511loop_216:
1512 call loop_218
1513 movcs %xcc, 0x098, %l1
1514 fandnot1s %f23, %f13, %f1
1515loop_217:
1516 nop
1517 set 0x0E, %o0
1518 lduh [%l7 + %o0], %i2
1519loop_218:
1520 sdivcc %i3, 0x0835, %o6
1521 call loop_219
1522 nop
1523 setx 0x5537C105, %l0, %l6
1524 st %l6, [%l7 + 0x28]
1525 ld [%l7 + 0x28], %f17
1526 setx 0x046F71C4, %l1, %l5
1527 st %l5, [%l7 + 0x10]
1528 ld [%l7 + 0x10], %f27
1529 fadds %f27, %f17, %f3
1530 call loop_220
1531 call loop_221
1532loop_219:
1533 tcc %icc, 0x3
1534 fnegs %f1, %f24
1535loop_220:
1536 call loop_222
1537loop_221:
1538 edge32l %i5, %g6, %g2
1539 fmovsn %fcc1, %f1, %f9
1540 rdpr %canrestore, %i6
1541loop_222:
1542 fnegs %f30, %f12
1543 fcmpgt16 %f8, %f28, %i0
1544 movge %icc, %i1, %l3
1545 call loop_223
1546 mulscc %o4, 0x1F32, %o1
1547
1548 or %g0, 0x8, %l0
1549 sllx %l0, 0x3c, %l0
1550 wrhpr %l0, %g0, %hsys_tick_cmpr
1551 nop
1552 setx 0x1D5D98FB, %l0, %l6
1553 st %l6, [%l7 + 0x24]
1554 ld [%l7 + 0x24], %fsr
1555loop_223:
1556 bvs %xcc, loop_224
1557 fzero %f12
1558 rdhpr %hpstate, %i7
1559 fmul8x16au %f29, %f15, %f24
1560loop_224:
1561 fmovduge %fcc3, %f18, %f30
1562 udivx %i4, 0x0D98, %o7
1563 fpsub32s %f8, %f7, %f16
1564 nop
1565 fitod %f6, %f26
1566 fdtoi %f26, %f20
1567 edge32n %o0, %g3, %l2
1568 faligndata %f18, %f22, %f0
1569 nop
1570 set 0x18, %l1
1571 prefetch [%l7 + %l1], 4
1572 call loop_225
1573 fornot2s %f8, %f19, %f10
1574 fsrc2 %f0, %f4
1575 smul %o2, %o5, %l4
1576loop_225:
1577 call loop_226
1578 movrlz %g7, %l0, %g5
1579 fmovsleu %icc, %f22, %f31
1580 edge32ln %o3, %g1, %l6
1581loop_226:
1582 movo %fcc3, %i2, %i3
1583 movn %xcc, %o6, %i5
1584 movrne %l1, 0x134, %g2
1585 movo %fcc3, 0x4A1, %g6
1586 lduh [%l7 + 0x50], %i0
1587
1588 or %g0, 0x8, %l0
1589 sllx %l0, 0x3c, %l0
1590 wrhpr %l0, 0x67D, %hsys_tick_cmpr
1591 movneg %icc, 0x2C6, %l3
1592 fand %f10, %f0, %f2
1593 call loop_227
1594 movl %icc, 0x636, %o4
1595 fands %f21, %f7, %f18
1596 subcc %o1, %g4, %l5
1597loop_227:
1598 fmovdlg %fcc1, %f22, %f8
1599 call loop_228
1600 srl %i4, %i7, %o0
1601 edge32 %o7, %g3, %o2
1602 array16 %l2, %l4, %o5
1603loop_228:
1604 call loop_229
1605 fmovsleu %icc, %f23, %f2
1606 tvs %xcc, 0x6
1607 fnot1s %f3, %f5
1608loop_229:
1609 edge32n %l0, %g5, %g7
1610 nop
1611 fitod %f12, %f16
1612 fdtox %f16, %f18
1613 fxtod %f18, %f2
1614 pdist %f30, %f28, %f30
1615 call loop_230
1616 smul %o3, 0x078C, %g1
1617 and %l6, 0x0CD4, %i3
1618 rd %y, %o6
1619loop_230:
1620 call loop_231
1621 fandnot2s %f16, %f30, %f2
1622 call loop_232
1623 call loop_233
1624loop_231:
1625 fmovdue %fcc1, %f20, %f22
1626 movcs %icc, %i2, %i5
1627loop_232:
1628 faligndata %f14, %f18, %f4
1629loop_233:
1630 srax %l1, 0x1A, %g2
1631 call loop_234
1632 fba,pt %fcc3, loop_235
1633 array32 %i0, %i1, %i6
1634 rdhpr %hintp, %g6
1635loop_234:
1636 xor %o4, 0x03C7, %l3
1637loop_235:
1638 edge32n %o1, %l5, %i4
1639 fsrc2 %f18, %f2
1640 call loop_236
1641 movo %fcc1, 0x350, %i7
1642 movcs %xcc, 0x22B, %g4
1643 fandnot1s %f8, %f3, %f25
1644loop_236:
1645 stx %o7, [%l7 + 0x48]
1646 tvc %xcc, 0x2
1647 faligndata %f28, %f2, %f2
1648 ldsb [%l7 + 0x09], %o0
1649 rdhpr %hsys_tick_cmpr, %o2
1650 nop
1651 setx 0xEB2333CB2B35A290, %l0, %l6
1652 stx %l6, [%l7 + 0x28]
1653 ldd [%l7 + 0x28], %f22
1654 setx 0xC47B83BE1C7869E5, %l1, %l5
1655 stx %l5, [%l7 + 0x10]
1656 ldd [%l7 + 0x10], %f30
1657 fsubd %f30, %f22, %f12
1658 xnorcc %l2, 0x14FA, %l4
1659 call loop_237
1660 sllx %o5, %g3, %g5
1661 call loop_238
1662 call loop_239
1663loop_237:
1664 fmovsg %xcc, %f3, %f25
1665 tl %xcc, 0x4
1666loop_238:
1667 fmovsule %fcc0, %f30, %f26
1668loop_239:
1669 faligndata %f14, %f6, %f16
1670 add %l7, 0x70, %l6
1671 wr %g0, 0x11, %asi
1672 ldxa [%l6] %asi, %l0
1673 casxa [%l6] %asi, %l0, %o3
1674 call loop_240
1675 tneg %icc, 0x6
1676 fmovdl %xcc, %f30, %f0
1677 ta %xcc, 0x4
1678loop_240:
1679 rdpr %pil, %g7
1680 fnegs %f25, %f28
1681 call loop_241
1682 call loop_242
1683 call loop_243
1684 for %f2, %f12, %f8
1685loop_241:
1686 fmovrse %l6, %f8, %f18
1687loop_242:
1688 call loop_244
1689loop_243:
1690 mulx %i3, 0x0049, %g1
1691 movue %fcc1, 0x56B, %i2
1692 fcmpd %fcc1, %f0, %f12
1693loop_244:
1694 array32 %o6, %i5, %g2
1695 fbue,a %fcc3, loop_245
1696 rd %ccr, %l1
1697 movneg %icc, %i1, %i0
1698 srl %g6, 0x08, %o4
1699loop_245:
1700 edge16n %i6, %o1, %l5
1701 call loop_246
1702 fmovdvc %xcc, %f2, %f12
1703 call loop_247
1704 rdpr %tba, %l3
1705loop_246:
1706 nop
1707 wr %g0, 0x89, %asi
1708 stda %i4, [%l7 + 0x70] %asi
1709loop_247:
1710 movleu %icc, 0x032, %g4
1711 call loop_248
1712 movneg %icc, %i7, %o7
1713 fpadd16 %f28, %f30, %f24
1714 fmovda %icc, %f4, %f20
1715loop_248:
1716 fpmerge %f17, %f24, %f22
1717 alignaddrl %o0, %l2, %o2
1718 fbne,a %fcc2, loop_249
1719 bne %icc, loop_250
1720 bg %icc, loop_251
1721 srax %l4, 0x06, %o5
1722loop_249:
1723 call loop_252
1724loop_250:
1725 movlg %fcc3, %g3, %l0
1726loop_251:
1727 movpos %icc, %g5, %o3
1728 movle %xcc, %g7, %i3
1729loop_252:
1730 fblg,pn %fcc0, loop_253
1731 bg %icc, loop_254
1732 edge16 %l6, %i2, %g1
1733 fpadd16 %f18, %f24, %f8
1734loop_253:
1735 std %f10, [%l7 + 0x38]
1736loop_254:
1737 movne %xcc, 0x7DD, %i5
1738 bne,a,pt %icc, loop_255
1739 bl,a %xcc, loop_256
1740 wrpr %g2, 0x1153, %tick
1741 nop
1742 setx 0xF9DE09CA, %l0, %l6
1743 st %l6, [%l7 + 0x28]
1744 ld [%l7 + 0x28], %f28
1745 setx 0xD227D6A5, %l1, %l5
1746 st %l5, [%l7 + 0x10]
1747 ld [%l7 + 0x10], %f7
1748 fadds %f7, %f28, %f30
1749loop_255:
1750 call loop_257
1751loop_256:
1752 sra %l1, 0x02, %o6
1753 movrgz %i0, %g6, %i1
1754 call loop_258
1755loop_257:
1756 srl %i6, 0x14, %o4
1757 wr %g0, 0x04, %asi
1758 ldsha [%l7 + 0x1A] %asi, %o1
1759loop_258:
1760 fones %f25
1761 fcmpgt32 %f30, %f12, %l3
1762 fnot1 %f4, %f4
1763 edge8 %i4, %l5, %g4
1764 bpos,a %icc, loop_259
1765 call loop_260
1766 fnot1 %f0, %f12
1767 edge8 %i7, %o0, %l2
1768loop_259:
1769 fpack32 %f2, %f28, %f14
1770loop_260:
1771 rd %softint, %o7
1772 EXIT_GOOD
1773
1774
1775
1776!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1777!
1778! Stats for Thread 3:
1779!
1780! Type l : 11
1781! Type a : 13
1782! Type x : 3
1783! Type cti : 51
1784! Type f : 58
1785! Type i : 64
1786!
1787!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1788
1789!
1790! Thread 4 Start
1791!
1792main_t4:
1793 mov %l7, %g1
1794 !# Set %cwp for 8 windows
1795 !# This threads memory space into each %l7
1796 wrpr %g0, 0x7, %cwp
1797 mov %g1, %l7
1798 wrpr %g0, 0x6, %cwp
1799 mov %g1, %l7
1800 wrpr %g0, 0x5, %cwp
1801 mov %g1, %l7
1802 wrpr %g0, 0x4, %cwp
1803 mov %g1, %l7
1804 wrpr %g0, 0x3, %cwp
1805 mov %g1, %l7
1806 wrpr %g0, 0x2, %cwp
1807 mov %g1, %l7
1808 wrpr %g0, 0x1, %cwp
1809 mov %g1, %l7
1810 wrpr %g0, 0x0, %cwp
1811 mov %g1, %l7
1812
1813 !# Set %fsr
1814 setx 0x0000000000000000, %l0, %l6 !# no post process
1815 stx %l6, [%l7 + 0x0] !# no post process
1816 ldx [%l7 + 0x0], %fsr !# no post process
1817
1818 !# Initialize registers ..
1819
1820 !# Global registers
1821 set 0x9, %g1
1822 set 0xE, %g2
1823 set 0x4, %g3
1824 set 0xA, %g4
1825 set 0xC, %g5
1826 set 0x9, %g6
1827 set 0x2, %g7
1828 !# Input registers
1829 set -0x3, %i0
1830 set -0x4, %i1
1831 set -0xD, %i2
1832 set -0xE, %i3
1833 set -0xD, %i4
1834 set -0xC, %i5
1835 set -0x5, %i6
1836 set -0xA, %i7
1837 !# Local registers
1838 set 0x72DC86E5, %l0
1839 set 0x1C7C88B8, %l1
1840 set 0x0919F3F6, %l2
1841 set 0x25F3F4E6, %l3
1842 set 0x25263F33, %l4
1843 set 0x2C4E9254, %l5
1844 set 0x09FE63BA, %l6
1845 !# Output registers
1846 set -0x0313, %o0
1847 set 0x0B32, %o1
1848 set -0x056C, %o2
1849 set 0x1B07, %o3
1850 set 0x0C55, %o4
1851 set 0x1120, %o5
1852 set -0x048D, %o6
1853 set 0x1C94, %o7
1854 !# Float registers
1855 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
1856 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
1857 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
1858 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
1859 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
1860 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
1861 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
1862 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
1863 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
1864 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
1865 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
1866 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
1867 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
1868 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
1869 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
1870 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
1871
1872 !# Execute Main Diag ..
1873
1874 saved
1875 rdpr %cwp, %g1
1876 rdpr %cansave, %g2
1877 rdpr %canrestore, %g3
1878 rdpr %cleanwin, %g4
1879 rdpr %otherwin, %g5
1880 rdpr %wstate, %g6
1881 call loop_261
1882 fabsd %f14, %f18
1883 call loop_262
1884 andn %o2, 0x05D7, %o5
1885loop_261:
1886 array8 %g3, %l4, %l0
1887 array8 %o3, %g7, %i3
1888loop_262:
1889 call loop_263
1890 fmovse %xcc, %f3, %f14
1891 call loop_264
1892 bcs,a,pn %xcc, loop_265
1893loop_263:
1894 movu %fcc2, 0x0B1, %g5
1895 mulx %i2, 0x0C38, %l6
1896loop_264:
1897 fors %f8, %f4, %f30
1898loop_265:
1899 nop
1900 setx 0x58740C6E, %l0, %l6
1901 st %l6, [%l7 + 0x28]
1902 ld [%l7 + 0x28], %f20
1903 setx 0xB53F99CB, %l1, %l5
1904 st %l5, [%l7 + 0x10]
1905 ld [%l7 + 0x10], %f16
1906 fdivs %f16, %f20, %f7
1907 fabss %f6, %f17
1908 nop
1909 setx 0x0D80, %l0, %g2
1910 sdivx %g1, %g2, %i5
1911 call loop_266
1912 tge %icc, 0x4
1913 and %o6, 0x003A, %i0
1914 movrne %l1, %g6, %i1
1915loop_266:
1916 fmovdleu %icc, %f4, %f22
1917 fbue,a %fcc1, loop_267
1918 fbge,a %fcc3, loop_268
1919 xnorcc %i6, 0x0F85, %o4
1920 call loop_269
1921loop_267:
1922 call loop_270
1923loop_268:
1924 call loop_271
1925 alignaddrl %o1, %i4, %l3
1926loop_269:
1927 xnor %l5, 0x1CEA, %i7
1928loop_270:
1929 call loop_272
1930loop_271:
1931 call loop_273
1932 addcc %o0, 0x193A, %l2
1933 call loop_274
1934loop_272:
1935 umul %o7, %g4, %o5
1936loop_273:
1937 fmovsu %fcc3, %f24, %f6
1938 fmovsule %fcc1, %f5, %f14
1939loop_274:
1940 nop
1941 setx 0x5D00D65C6B5C8C75, %l0, %l6
1942 stx %l6, [%l7 + 0x28]
1943 ldd [%l7 + 0x28], %f0
1944 setx 0x979BE52A7455696D, %l1, %l5
1945 stx %l5, [%l7 + 0x10]
1946 ldd [%l7 + 0x10], %f20
1947 faddd %f20, %f0, %f20
1948 call loop_275
1949 call loop_276
1950 nop
1951 setx loop_277, %l0, %l1
1952 wrpr 0x1, %tl
1953 wrpr %l1, %tpc
1954 add %l1, 0x4, %l1
1955 wrpr %l1, %tnpc
1956 setx 0x012400001404, %l0, %l1
1957 wrpr %l1, %tstate
1958 wrhpr 0x4, %htstate
1959 retry
1960 call loop_278
1961loop_275:
1962 bmask %g3, %l4, %o2
1963loop_276:
1964 fsrc1 %f8, %f2
1965loop_277:
1966 fmovsne %fcc1, %f27, %f10
1967loop_278:
1968 andn %l0, %g7, %i3
1969 movrne %g5, 0x0A9, %o3
1970 call loop_279
1971 call loop_280
1972 tgu %xcc, 0x5
1973 fmovsa %fcc3, %f19, %f17
1974loop_279:
1975 brlez %i2, loop_281
1976loop_280:
1977 fmovrslez %g1, %f20, %f14
1978 fmovdvs %xcc, %f30, %f6
1979 fbue,a %fcc0, loop_282
1980loop_281:
1981 wr %g0, 0x6, %fprs
1982 fmovdn %fcc1, %f2, %f2
1983 movul %fcc2, %g2, %o6
1984loop_282:
1985 or %i5, %i0, %g6
1986 movgu %icc, %l1, %i1
1987 fbo,a %fcc0, loop_283
1988 ta %xcc, 0x6
1989 fand %f18, %f4, %f8
1990 bne,a,pn %icc, loop_284
1991loop_283:
1992 nop
1993 setx 0xFD4C281D, %l0, %l6
1994 st %l6, [%l7 + 0x28]
1995 ld [%l7 + 0x28], %f8
1996 setx 0x682A1DF4, %l1, %l5
1997 st %l5, [%l7 + 0x10]
1998 ld [%l7 + 0x10], %f27
1999 fsubs %f27, %f8, %f16
2000 nop
2001 fitos %f1, %f24
2002 fstoi %f24, %f28
2003 nop
2004 setx 0xA3A5C185, %l0, %l6
2005 st %l6, [%l7 + 0x28]
2006 ld [%l7 + 0x28], %f10
2007 fsqrts %f10, %f6
2008loop_284:
2009 call loop_285
2010 fcmpne32 %f10, %f0, %o4
2011 call loop_286
2012 call loop_287
2013loop_285:
2014 fxor %f4, %f10, %f16
2015 fmovsvs %xcc, %f10, %f10
2016loop_286:
2017 nop
2018 setx loop_288, %l0, %l1
2019 wrpr 0x1, %tl
2020 wrpr %l1, %tnpc
2021 setx 0x024200001403, %l0, %l1
2022 wrpr %l1, %tstate
2023 wrhpr 0x4, %htstate
2024 rdpr %tt, %l1
2025 wrpr %g0, %l1, %tt
2026 rdpr %pstate, %l1
2027 wrpr %g0, %l1, %pstate
2028 rdpr %tl, %l1
2029 wrpr %g0, %l1, %tl
2030 rdpr %tpc, %l1
2031 wrpr %g0, %l1, %tpc
2032 rdpr %tnpc, %l1
2033 wrpr %g0, %l1, %tnpc
2034 rdpr %tstate, %l1
2035 wrpr %g0, %l1, %tstate
2036 rdpr %tba, %l1
2037 wrpr %g0, %l1, %tba
2038 rdpr %tba, %l1
2039 wrpr %g0, %l1, %tba
2040 rdhpr %hpstate, %l1
2041 wrhpr %g0, %l1, %hpstate
2042 rdhpr %htstate, %l1
2043 wrhpr %g0, %l1, %htstate
2044 rdhpr %hintp, %l1
2045 wrhpr %g0, %l1, %hintp
2046 done
2047loop_287:
2048 call loop_289
2049 tne %xcc, 0x3
2050 smul %o1, 0x1428, %i6
2051loop_288:
2052 wrpr %l3, %i4, %tick
2053loop_289:
2054 call loop_290
2055 tn %icc, 0x2
2056 nop
2057 setx 0x1C8CA266, %l0, %l6
2058 st %l6, [%l7 + 0x28]
2059 ld [%l7 + 0x28], %f14
2060 setx 0x819345EB, %l1, %l5
2061 st %l5, [%l7 + 0x10]
2062 ld [%l7 + 0x10], %f30
2063 fdivs %f30, %f14, %f13
2064 nop
2065 fitos %f4, %f9
2066 fstox %f9, %f26
2067 fxtos %f26, %f22
2068loop_290:
2069 call loop_291
2070 movg %fcc2, %i7, %o0
2071 call loop_292
2072 taddcctv %l2, 0x03F3, %l5
2073loop_291:
2074 fabsd %f26, %f28
2075 edge32n %o7, %o5, %g4
2076loop_292:
2077 nop
2078 set 0x50, %i7
2079 lduw [%l7 + %i7], %g3
2080 call loop_293
2081 fmovdl %fcc2, %f24, %f6
2082 subccc %o2, %l0, %g7
2083 wrpr %i3, %l4, %pil
2084loop_293:
2085 movrgez %o3, %i2, %g5
2086 tcc %xcc, 0x3
2087 fpadd32 %f4, %f30, %f14
2088 call loop_294
2089 nop
2090 set 0x60, %l3
2091 stx %fsr, [%l7 + %l3]
2092 wr %g0, 0x80, %asi
2093 ldswa [%l7 + 0x1C] %asi, %g1
2094loop_294:
2095 fones %f23
2096 fzeros %f6
2097 fmovsneg %xcc, %f4, %f14
2098 fmovsvc %icc, %f20, %f2
2099 rdpr %wstate, %l6
2100 call loop_295
2101 fornot2s %f17, %f31, %f28
2102 call loop_296
2103 tleu %icc, 0x4
2104loop_295:
2105 addc %o6, 0x0CB9, %g2
2106 fcmpd %fcc2, %f28, %f12
2107loop_296:
2108 nop
2109 fitod %f0, %f28
2110 fdtox %f28, %f14
2111 call loop_297
2112 xnorcc %i5, %g6, %l1
2113 call loop_298
2114 fpadd16s %f16, %f3, %f14
2115loop_297:
2116 call loop_299
2117 ba,a,pt %icc, loop_300
2118loop_298:
2119 call loop_301
2120 fmovsle %icc, %f4, %f9
2121loop_299:
2122 bpos,a,pt %xcc, loop_302
2123loop_300:
2124 fmovdvc %xcc, %f6, %f16
2125loop_301:
2126 swap [%l7 + 0x44], %i1
2127 nop
2128 setx 0x163A79E49943D3DF, %l0, %l6
2129 stx %l6, [%l7 + 0x28]
2130 ldd [%l7 + 0x28], %f2
2131 setx 0x7470D9FE, %l1, %l5
2132 stx %l5, [%l7 + 0x10]
2133 ldd [%l7 + 0x10], %f26
2134 fsmuld %f26, %f2, %f24
2135loop_302:
2136 fpsub16 %f22, %f12, %f18
2137 fabsd %f26, %f30
2138 call loop_303
2139 sub %i0, 0x04D0, %o4
2140 tne %xcc, 0x2
2141 movcc %xcc, %o1, %i6
2142loop_303:
2143 nop
2144 fitos %f0, %f2
2145 fstoi %f2, %f27
2146 fmul8x16 %f0, %f10, %f22
2147 call loop_304
2148 rd %pc, %i4
2149 movcc %icc, %i7, %o0
2150 edge16n %l3, %l5, %o7
2151loop_304:
2152 fmovspos %icc, %f15, %f9
2153 tsubcc %o5, %l2, %g3
2154 call loop_305
2155 call loop_306
2156 fmuld8sux16 %f29, %f7, %f18
2157 call loop_307
2158loop_305:
2159 add %g4, 0x15F9, %o2
2160loop_306:
2161 array16 %g7, %l0, %i3
2162 nop
2163 fitod %f2, %f26
2164 fdtox %f26, %f18
2165loop_307:
2166 tcc %xcc, 0x6
2167 fmul8sux16 %f6, %f30, %f22
2168 call loop_308
2169 fpsub16s %f29, %f10, %f12
2170 call loop_309
2171 nop
2172 fitos %f0, %f21
2173 fstox %f21, %f20
2174 fxtos %f20, %f13
2175loop_308:
2176 fnot1 %f10, %f10
2177 fxnor %f12, %f20, %f22
2178loop_309:
2179 fmovsu %fcc0, %f29, %f5
2180 nop
2181 setx 0xB256ECA38B67612E, %l0, %l6
2182 stx %l6, [%l7 + 0x28]
2183 ldd [%l7 + 0x28], %f2
2184 setx 0x8CCF60E4, %l1, %l5
2185 stx %l5, [%l7 + 0x10]
2186 ldd [%l7 + 0x10], %f26
2187 fsmuld %f26, %f2, %f14
2188 fmovse %fcc0, %f19, %f7
2189 fmovsleu %xcc, %f30, %f4
2190 call loop_310
2191 rdhpr %hsys_tick_cmpr, %l4
2192 bne,a %xcc, loop_311
2193 fbuge,pn %fcc2, loop_312
2194loop_310:
2195 fbge %fcc0, loop_313
2196 call loop_314
2197loop_311:
2198 nop
2199 set 0x62, %i4
2200 ldsh [%l7 + %i4], %o3
2201loop_312:
2202 ba %icc, loop_315
2203loop_313:
2204 movrlz %i2, 0x054, %g5
2205loop_314:
2206 call loop_316
2207 rdpr %wstate, %l6
2208loop_315:
2209 call loop_317
2210 movre %g1, 0x09E, %g2
2211loop_316:
2212 nop
2213 set 0x29, %g3
2214 ldub [%l7 + %g3], %o6
2215 fmovsn %fcc3, %f22, %f5
2216loop_317:
2217 call loop_318
2218 fnot2 %f10, %f10
2219 call loop_319
2220 fmuld8sux16 %f17, %f22, %f6
2221loop_318:
2222 fpack32 %f18, %f2, %f10
2223 fmovdlg %fcc2, %f18, %f24
2224loop_319:
2225 nop
2226 set 0x72, %o7
2227 stha %g6, [%l7 + %o7] 0x23
2228 membar #Sync
2229 fsrc1 %f30, %f6
2230 fmovso %fcc0, %f19, %f29
2231 subccc %l1, %i5, %i0
2232 call loop_320
2233 call loop_321
2234 tsubcctv %i1, %o1, %o4
2235 bne,pn %icc, loop_322
2236loop_320:
2237 movrne %i6, 0x1CE, %i7
2238loop_321:
2239 bl,a %icc, loop_323
2240 fnot2 %f24, %f8
2241loop_322:
2242 call loop_324
2243 fpadd16 %f30, %f14, %f14
2244loop_323:
2245 movcs %icc, 0x0DE, %i4
2246 call loop_325
2247loop_324:
2248 array32 %o0, %l5, %l3
2249 brlez,a %o5, loop_326
2250 call loop_327
2251loop_325:
2252 xorcc %l2, 0x1473, %o7
2253 fands %f10, %f9, %f9
2254loop_326:
2255 nop
2256 set 0x22, %o5
2257 ldsh [%l7 + %o5], %g4
2258loop_327:
2259 nop
2260
2261 EXIT_GOOD
2262
2263
2264
2265!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2266!
2267! Stats for Thread 4:
2268!
2269! Type l : 8
2270! Type a : 7
2271! Type x : 2
2272! Type cti : 67
2273! Type f : 64
2274! Type i : 52
2275!
2276!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2277
2278!
2279! Thread 5 Start
2280!
2281main_t5:
2282 mov %l7, %g1
2283 !# Set %cwp for 8 windows
2284 !# This threads memory space into each %l7
2285 wrpr %g0, 0x7, %cwp
2286 mov %g1, %l7
2287 wrpr %g0, 0x6, %cwp
2288 mov %g1, %l7
2289 wrpr %g0, 0x5, %cwp
2290 mov %g1, %l7
2291 wrpr %g0, 0x4, %cwp
2292 mov %g1, %l7
2293 wrpr %g0, 0x3, %cwp
2294 mov %g1, %l7
2295 wrpr %g0, 0x2, %cwp
2296 mov %g1, %l7
2297 wrpr %g0, 0x1, %cwp
2298 mov %g1, %l7
2299 wrpr %g0, 0x0, %cwp
2300 mov %g1, %l7
2301
2302 !# Set %fsr
2303 setx 0x0000000000000000, %l0, %l6 !# no post process
2304 stx %l6, [%l7 + 0x0] !# no post process
2305 ldx [%l7 + 0x0], %fsr !# no post process
2306
2307 !# Initialize registers ..
2308
2309 !# Global registers
2310 set 0x1, %g1
2311 set 0xB, %g2
2312 set 0xC, %g3
2313 set 0xD, %g4
2314 set 0x8, %g5
2315 set 0x1, %g6
2316 set 0x8, %g7
2317 !# Input registers
2318 set -0x9, %i0
2319 set -0x0, %i1
2320 set -0xA, %i2
2321 set -0xB, %i3
2322 set -0xF, %i4
2323 set -0x3, %i5
2324 set -0xA, %i6
2325 set -0x0, %i7
2326 !# Local registers
2327 set 0x157074D2, %l0
2328 set 0x6C1761BE, %l1
2329 set 0x0CF26FEB, %l2
2330 set 0x1C596E88, %l3
2331 set 0x6345E465, %l4
2332 set 0x4E085E13, %l5
2333 set 0x3BA9F8EB, %l6
2334 !# Output registers
2335 set 0x0991, %o0
2336 set -0x0D95, %o1
2337 set -0x0AFD, %o2
2338 set -0x1F74, %o3
2339 set -0x1727, %o4
2340 set -0x00CA, %o5
2341 set 0x0865, %o6
2342 set 0x1C48, %o7
2343 !# Float registers
2344 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
2345 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
2346 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
2347 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
2348 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
2349 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
2350 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
2351 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
2352 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
2353 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
2354 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
2355 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
2356 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
2357 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
2358 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
2359 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
2360
2361 !# Execute Main Diag ..
2362
2363 tneg %xcc, 0x3
2364 fmovsuge %fcc0, %f27, %f24
2365 call loop_328
2366 call loop_329
2367 ld [%l7 + 0x5C], %f3
2368 call loop_330
2369loop_328:
2370 call loop_331
2371loop_329:
2372 call loop_332
2373 tpos %icc, 0x1
2374loop_330:
2375 nop
2376 set 0x68, %l5
2377 stx %o2, [%l7 + %l5]
2378loop_331:
2379 call loop_333
2380loop_332:
2381 restored
2382 rdpr %cwp, %g1
2383 rdpr %cansave, %g2
2384 rdpr %canrestore, %g3
2385 rdpr %cleanwin, %g4
2386 rdpr %otherwin, %g5
2387 rdpr %wstate, %g6
2388 edge32n %g3, %g7, %l0
2389 fbu,a,pt %fcc2, loop_334
2390loop_333:
2391 call loop_335
2392 pdist %f30, %f4, %f20
2393 call loop_336
2394loop_334:
2395 fnors %f12, %f17, %f4
2396loop_335:
2397 tvc %xcc, 0x6
2398 orncc %i3, 0x1552, %o3
2399loop_336:
2400 call loop_337
2401 call loop_338
2402 call loop_339
2403 fmovrdne %i2, %f22, %f6
2404loop_337:
2405 fmovsle %icc, %f6, %f25
2406loop_338:
2407 tle %icc, 0x7
2408loop_339:
2409 call loop_340
2410 movneg %xcc, 0x6D5, %l4
2411 nop
2412 setx 0x09BE26A3, %l0, %l6
2413 st %l6, [%l7 + 0x28]
2414 ld [%l7 + 0x28], %f13
2415 setx 0x3312C36E, %l1, %l5
2416 st %l5, [%l7 + 0x10]
2417 ld [%l7 + 0x10], %f24
2418 fmuls %f24, %f13, %f13
2419 call loop_341
2420loop_340:
2421 bvs,a,pn %xcc, loop_342
2422 wrpr %g0, 0x3, %gl
2423 edge32 %g2, %l6, %o6
2424loop_341:
2425 call loop_343
2426loop_342:
2427 taddcc %g6, 0x03A9, %l1
2428 fpack32 %f22, %f2, %f0
2429 wr %i5, 0x0A59, %softint
2430loop_343:
2431 call loop_344
2432 fnegd %f14, %f12
2433 movg %xcc, 0x6C8, %i0
2434 call loop_345
2435loop_344:
2436 fmovd %f18, %f2
2437 prefetch [%l7 + 0x64], 0
2438 andn %i1, 0x1CF2, %o1
2439loop_345:
2440 call loop_346
2441 rd %softint, %i6
2442 call loop_347
2443 call loop_348
2444loop_346:
2445 st %fsr, [%l7 + 0x1C]
2446 call loop_349
2447loop_347:
2448 call loop_350
2449loop_348:
2450 ldsh [%l7 + 0x3C], %i7
2451 edge16l %o4, %i4, %o0
2452loop_349:
2453 tpos %xcc, 0x2
2454loop_350:
2455 fmovdo %fcc2, %f24, %f14
2456 fmovs %f31, %f27
2457 fmuld8sux16 %f7, %f3, %f18
2458 flush %l7 + 0x1C
2459 fpsub16 %f28, %f26, %f18
2460 fbo,a %fcc1, loop_351
2461 call loop_352
2462 call loop_353
2463 fzeros %f19
2464loop_351:
2465 brgz,a,pt %l3, loop_354
2466loop_352:
2467 call loop_355
2468loop_353:
2469 nop
2470 fitos %f9, %f11
2471 fstox %f11, %f20
2472 fzero %f4
2473loop_354:
2474 call loop_356
2475loop_355:
2476 fmovdne %fcc1, %f18, %f24
2477 call loop_357
2478 andncc %l5, 0x0327, %o5
2479loop_356:
2480 xor %l2, %g4, %o7
2481 call loop_358
2482loop_357:
2483 fmovsu %fcc1, %f11, %f11
2484 bge %xcc, loop_359
2485 nop
2486 fitos %f0, %f31
2487 fstox %f31, %f18
2488loop_358:
2489 stb %g3, [%l7 + 0x15]
2490 edge32n %o2, %l0, %i3
2491loop_359:
2492 fnors %f23, %f20, %f6
2493 fcmpeq16 %f4, %f18, %o3
2494 fbe,pn %fcc3, loop_360
2495 fnegs %f22, %f31
2496 edge8n %g7, %i2, %l4
2497 fmovdug %fcc3, %f28, %f30
2498loop_360:
2499 nop
2500 fitos %f9, %f9
2501 fstox %f9, %f0
2502 fxtos %f0, %f22
2503 call loop_361
2504 fmovrdgez %g5, %f8, %f24
2505 bgu,pt %xcc, loop_362
2506 array32 %g2, %g1, %o6
2507loop_361:
2508 call loop_363
2509 brlez,pn %l6, loop_364
2510loop_362:
2511 srl %g6, 0x09, %i5
2512 tg %xcc, 0x3
2513loop_363:
2514 fmovsvc %icc, %f20, %f23
2515loop_364:
2516 edge32 %i0, %l1, %i1
2517 tvc %xcc, 0x1
2518 call loop_365
2519 fbo %fcc0, loop_366
2520 fnegd %f10, %f12
2521 fmovsl %xcc, %f13, %f29
2522loop_365:
2523 fmovsue %fcc2, %f12, %f14
2524loop_366:
2525 call loop_367
2526 wr %o1, %i7, %clear_softint
2527 call loop_368
2528 nop
2529 setx 0x1205A739, %l0, %l6
2530 st %l6, [%l7 + 0x68]
2531 ld [%l7 + 0x68], %fsr
2532loop_367:
2533 restored
2534 rdpr %cwp, %g1
2535 rdpr %cansave, %g2
2536 rdpr %canrestore, %g3
2537 rdpr %cleanwin, %g4
2538 rdpr %otherwin, %g5
2539 rdpr %wstate, %g6
2540 call loop_369
2541loop_368:
2542 call loop_370
2543 fbl,pt %fcc3, loop_371
2544 array16 %i6, %i4, %o0
2545loop_369:
2546 ble %icc, loop_372
2547loop_370:
2548 sll %l3, %o4, %l5
2549loop_371:
2550 nop
2551 fitod %f10, %f14
2552 fmovsge %fcc2, %f23, %f26
2553loop_372:
2554 fpadd32 %f0, %f0, %f18
2555
2556 or %g0, 0x8, %l0
2557 sllx %l0, 0x3c, %l0
2558 wrhpr %l0, 0x590, %hsys_tick_cmpr
2559 movug %fcc3, 0x223, %o7
2560 call loop_373
2561 ldsw [%l7 + 0x50], %g3
2562 edge32n %l2, %o2, %l0
2563 fmovdcs %icc, %f30, %f16
2564loop_373:
2565 movvc %xcc, %o3, %g7
2566 call loop_374
2567 tl %xcc, 0x6
2568 bleu,pt %icc, loop_375
2569 rdpr %tl, %i2
2570loop_374:
2571 nop
2572 fitod %f10, %f6
2573 fdtos %f6, %f14
2574 bvc,a %icc, loop_376
2575loop_375:
2576 fnand %f6, %f10, %f22
2577 fsrc2 %f12, %f22
2578 nop
2579 fitod %f4, %f14
2580 fdtox %f14, %f18
2581 fxtod %f18, %f2
2582loop_376:
2583 sir 0x0943
2584 nop
2585 setx 0xEC66DF3B, %l0, %l6
2586 st %l6, [%l7 + 0x28]
2587 ld [%l7 + 0x28], %f11
2588 setx 0xFCEF61E6, %l1, %l5
2589 st %l5, [%l7 + 0x10]
2590 ld [%l7 + 0x10], %f0
2591 fadds %f0, %f11, %f15
2592 fmovdo %fcc0, %f14, %f30
2593 fmul8x16al %f17, %f21, %f6
2594 call loop_377
2595 call loop_378
2596 fmovse %fcc2, %f23, %f15
2597 tle %xcc, 0x6
2598loop_377:
2599 fandnot1s %f15, %f31, %f19
2600loop_378:
2601 udivcc %l4, 0x0DEF, %g5
2602 call loop_379
2603 fnegd %f8, %f20
2604 fzeros %f15
2605 edge16 %i3, %g1, %o6
2606loop_379:
2607 wr %g2, 0x04BB, %softint
2608 fcmpne16 %f4, %f24, %l6
2609 movrgez %g6, 0x118, %i5
2610 fmovrsgez %i0, %f17, %f31
2611 edge8n %i1, %l1, %i7
2612 fandnot1s %f15, %f15, %f7
2613 bcs,pn %xcc, loop_380
2614 call loop_381
2615 sra %i6, 0x02, %o1
2616 call loop_382
2617loop_380:
2618 add %o0, %l3, %o4
2619loop_381:
2620 bpos %xcc, loop_383
2621 rdhpr %hintp, %i4
2622loop_382:
2623 nop
2624 fitod %f2, %f12
2625 fdtox %f12, %f22
2626 ldsb [%l7 + 0x25], %o5
2627loop_383:
2628 nop
2629 wr %g0, 0x27, %asi
2630 stxa %l5, [%l7 + 0x60] %asi
2631 membar #Sync
2632 edge16l %g4, %g3, %o7
2633 wr %g0, 0x81, %asi
2634 stba %l2, [%l7 + 0x6D] %asi
2635 siam 0x3
2636 xor %o2, %l0, %g7
2637 fbo %fcc3, loop_384
2638 call loop_385
2639 fmovdlg %fcc1, %f6, %f24
2640 wr %i2, %o3, %pic
2641loop_384:
2642 rdhpr %ver, %l4
2643loop_385:
2644 call loop_386
2645 fpadd32s %f27, %f11, %f30
2646 fmovsge %xcc, %f28, %f13
2647 fmovdlg %fcc2, %f18, %f24
2648loop_386:
2649 nop
2650 fitod %f4, %f10
2651 fdtos %f10, %f1
2652 nop
2653 fitos %f12, %f5
2654 fstoi %f5, %f15
2655 brgez,pt %i3, loop_387
2656 edge32l %g1, %o6, %g2
2657 fbug,a,pn %fcc0, loop_388
2658 call loop_389
2659loop_387:
2660 fmovscs %xcc, %f13, %f14
2661 fmovdgu %xcc, %f30, %f4
2662loop_388:
2663 call loop_390
2664loop_389:
2665 fsrc2 %f18, %f2
2666 addcc %l6, %g6, %g5
2667 tcs %icc, 0x6
2668loop_390:
2669 fpsub32 %f20, %f10, %f18
2670 fandnot1s %f3, %f25, %f22
2671 nop
2672 setx 0x521C5E1793F7A50B, %l0, %l6
2673 stx %l6, [%l7 + 0x68]
2674 ldx [%l7 + 0x68], %fsr
2675 wr %i0, 0x0BD8, %sys_tick
2676 call loop_391
2677 call loop_392
2678 call loop_393
2679 movle %fcc0, %i1, %i5
2680loop_391:
2681 edge32ln %i7, %l1, %i6
2682loop_392:
2683 nop
2684
2685 or %g0, 0x8, %l0
2686 sllx %l0, 0x3c, %l0
2687 wr %l0, 0x970, %sys_tick_cmpr
2688loop_393:
2689 fornot2s %f17, %f5, %f28
2690 call loop_394
2691loop_394:
2692 nop
2693
2694 EXIT_GOOD
2695
2696
2697
2698!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2699!
2700! Stats for Thread 5:
2701!
2702! Type l : 13
2703! Type a : 12
2704! Type x : 2
2705! Type cti : 67
2706! Type f : 61
2707! Type i : 45
2708!
2709!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2710
2711!
2712! Thread 6 Start
2713!
2714main_t6:
2715 mov %l7, %g1
2716 !# Set %cwp for 8 windows
2717 !# This threads memory space into each %l7
2718 wrpr %g0, 0x7, %cwp
2719 mov %g1, %l7
2720 wrpr %g0, 0x6, %cwp
2721 mov %g1, %l7
2722 wrpr %g0, 0x5, %cwp
2723 mov %g1, %l7
2724 wrpr %g0, 0x4, %cwp
2725 mov %g1, %l7
2726 wrpr %g0, 0x3, %cwp
2727 mov %g1, %l7
2728 wrpr %g0, 0x2, %cwp
2729 mov %g1, %l7
2730 wrpr %g0, 0x1, %cwp
2731 mov %g1, %l7
2732 wrpr %g0, 0x0, %cwp
2733 mov %g1, %l7
2734
2735 !# Set %fsr
2736 setx 0x0000000000000000, %l0, %l6 !# no post process
2737 stx %l6, [%l7 + 0x0] !# no post process
2738 ldx [%l7 + 0x0], %fsr !# no post process
2739
2740 !# Initialize registers ..
2741
2742 !# Global registers
2743 set 0x7, %g1
2744 set 0xC, %g2
2745 set 0xA, %g3
2746 set 0xB, %g4
2747 set 0x3, %g5
2748 set 0x4, %g6
2749 set 0xA, %g7
2750 !# Input registers
2751 set -0x4, %i0
2752 set -0x4, %i1
2753 set -0xF, %i2
2754 set -0x4, %i3
2755 set -0xD, %i4
2756 set -0x3, %i5
2757 set -0xC, %i6
2758 set -0x2, %i7
2759 !# Local registers
2760 set 0x5CABE15A, %l0
2761 set 0x42CB9751, %l1
2762 set 0x2BECC8D7, %l2
2763 set 0x5A9F059D, %l3
2764 set 0x365509F1, %l4
2765 set 0x701D4871, %l5
2766 set 0x7C987C3E, %l6
2767 !# Output registers
2768 set -0x160E, %o0
2769 set -0x014A, %o1
2770 set 0x012D, %o2
2771 set -0x11F3, %o3
2772 set 0x0894, %o4
2773 set -0x0769, %o5
2774 set -0x11A2, %o6
2775 set 0x13A9, %o7
2776 !# Float registers
2777 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
2778 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
2779 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
2780 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
2781 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
2782 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
2783 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
2784 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
2785 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
2786 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
2787 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
2788 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
2789 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
2790 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
2791 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
2792 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
2793
2794 !# Execute Main Diag ..
2795
2796 fbn,a %fcc2, loop_395
2797 call loop_396
2798 call loop_397
2799 call loop_398
2800loop_395:
2801 stbar
2802loop_396:
2803 fcmpeq16 %f22, %f8, %o1
2804loop_397:
2805 call loop_399
2806loop_398:
2807 movul %fcc3, 0x2FE, %i4
2808 call loop_400
2809 fmovsgu %icc, %f29, %f29
2810loop_399:
2811 fmovdge %xcc, %f2, %f2
2812 and %o5, 0x07D4, %l5
2813loop_400:
2814 call loop_401
2815 sra %o4, 0x0E, %g3
2816 call loop_402
2817 flushw
2818loop_401:
2819 call loop_403
2820 nop
2821 fitod %f10, %f22
2822 fdtox %f22, %f6
2823loop_402:
2824 edge32n %o7, %l2, %g4
2825 call loop_404
2826loop_403:
2827 call loop_405
2828 wrpr %o2, 0x0815, %tick
2829 call loop_406
2830loop_404:
2831 restored
2832 rdpr %cwp, %g1
2833 rdpr %cansave, %g2
2834 rdpr %canrestore, %g3
2835 rdpr %cleanwin, %g4
2836 rdpr %otherwin, %g5
2837 rdpr %wstate, %g6
2838loop_405:
2839 smulcc %g7, %i2, %l0
2840 array16 %l4, %i3, %o3
2841loop_406:
2842 rdpr %pil, %g1
2843 nop
2844 setx 0xF73D1C8BFD3968D5, %l0, %l6
2845 stx %l6, [%l7 + 0x28]
2846 ldd [%l7 + 0x28], %f24
2847 setx 0x80C70D9150460131, %l1, %l5
2848 stx %l5, [%l7 + 0x10]
2849 ldd [%l7 + 0x10], %f2
2850 fdivd %f2, %f24, %f24
2851 call loop_407
2852 call loop_408
2853 call loop_409
2854 fmovdle %fcc0, %f8, %f28
2855loop_407:
2856 fmovrslz %g2, %f11, %f9
2857loop_408:
2858 call loop_410
2859loop_409:
2860 flushw
2861 fmovdu %fcc0, %f14, %f20
2862 nop
2863 fitos %f5, %f8
2864 fstoi %f8, %f27
2865loop_410:
2866 fabsd %f14, %f18
2867 tl %xcc, 0x5
2868 siam 0x1
2869 fmovsneg %icc, %f0, %f9
2870 movcs %xcc, %o6, %g6
2871 nop
2872 fitos %f4, %f23
2873 fstox %f23, %f0
2874 call loop_411
2875 fpack32 %f6, %f16, %f10
2876 wr %l6, 0x0BE6, %clear_softint
2877 fzero %f6
2878loop_411:
2879 nop
2880
2881 or %g0, 0x8, %l0
2882 sllx %l0, 0x3c, %l0
2883 wr %l0, 0xEA3, %tick_cmpr
2884 tsubcctv %g5, %i5, %i7
2885 be,pn %icc, loop_412
2886 fandnot2s %f24, %f19, %f5
2887 call loop_413
2888 movn %icc, %l1, %i6
2889loop_412:
2890 rd %asi, %i1
2891 udivcc %o0, 0x13E7, %l3
2892loop_413:
2893 fbu %fcc3, loop_414
2894 rd %fprs, %i4
2895 set 0x60, %g4
2896 ldxa [%l7 + %g4] 0x81, %o5
2897loop_414:
2898 nop
2899 wr %g0, 0x19, %asi
2900 sta %f27, [%l7 + 0x24] %asi
2901 fnot2 %f8, %f2
2902 wr %l5, 0x0A9C, %sys_tick
2903 tvc %icc, 0x1
2904 fpsub16s %f28, %f21, %f25
2905 movn %icc, %o1, %g3
2906 edge32n %o7, %o4, %g4
2907 fmovdpos %icc, %f12, %f6
2908 call loop_415
2909 addcc %o2, %g7, %l2
2910 fbug %fcc3, loop_416
2911 fzero %f16
2912loop_415:
2913 fmul8x16 %f18, %f10, %f24
2914 fandnot2 %f12, %f0, %f18
2915loop_416:
2916 rd %softint, %l0
2917 call loop_417
2918 call loop_418
2919 sll %l4, 0x19, %i3
2920 fpsub16 %f2, %f10, %f26
2921loop_417:
2922 swap [%l7 + 0x44], %o3
2923loop_418:
2924 rdhpr %htba, %i2
2925 call loop_419
2926 rd %softint, %g1
2927 edge8 %g2, %o6, %g6
2928 call loop_420
2929loop_419:
2930 tn %xcc, 0x1
2931 call loop_421
2932 call loop_422
2933loop_420:
2934 fmovdpos %xcc, %f8, %f2
2935 for %f24, %f26, %f6
2936loop_421:
2937 nop
2938
2939 or %g0, 0x8, %l0
2940 sllx %l0, 0x3c, %l0
2941 wrhpr %l0, 0x50F, %hsys_tick_cmpr
2942loop_422:
2943 fornot2 %f4, %f28, %f10
2944 fmovsle %fcc2, %f3, %f24
2945 set 0x6A, %g7
2946 stha %i0, [%l7 + %g7] 0xeb
2947 membar #Sync
2948 tle %xcc, 0x2
2949 movneg %icc, %g5, %i7
2950 bvs,a,pt %icc, loop_423
2951 call loop_424
2952 tvs %icc, 0x5
2953 rdhpr %htba, %i5
2954loop_423:
2955 nop
2956 set 0x2B, %l2
2957 ldub [%l7 + %l2], %i6
2958loop_424:
2959 fmovsne %icc, %f22, %f29
2960 addccc %i1, 0x1644, %l1
2961 rdpr %gl, %o0
2962 fnand %f12, %f30, %f12
2963 fpmerge %f10, %f29, %f26
2964 call loop_425
2965 call loop_426
2966 membar 0x62
2967 call loop_427
2968loop_425:
2969 call loop_428
2970loop_426:
2971 fbuge %fcc1, loop_429
2972 fsrc2 %f8, %f8
2973loop_427:
2974 edge8 %l3, %i4, %o5
2975loop_428:
2976 tne %icc, 0x5
2977loop_429:
2978 mulx %o1, %g3, %l5
2979 wr %o7, 0x0D70, %sys_tick
2980 nop
2981 fitod %f2, %f18
2982 fdtox %f18, %f2
2983 movle %icc, 0x51D, %g4
2984 fsrc1s %f24, %f5
2985 andcc %o2, %o4, %l2
2986 call loop_430
2987 ta %icc, 0x2
2988 addc %g7, 0x1BC8, %l0
2989 movo %fcc2, 0x657, %l4
2990loop_430:
2991 fnot1 %f18, %f2
2992 rd %tick_cmpr, %o3
2993 nop
2994 setx 0x750BED86, %l0, %l6
2995 st %l6, [%l7 + 0x54]
2996 ld [%l7 + 0x54], %fsr
2997 movu %fcc0, %i2, %g1
2998 call loop_431
2999 call loop_432
3000 add %g2, 0x1678, %o6
3001 nop
3002 setx 0x0900, %l0, %g6
3003 udivx %i3, %g6, %i0
3004loop_431:
3005 nop
3006 fitod %f4, %f12
3007 fdtos %f12, %f26
3008loop_432:
3009 brlez,a %l6, loop_433
3010 addcc %g5, %i7, %i6
3011 fmovdge %icc, %f16, %f8
3012 fnegs %f26, %f16
3013loop_433:
3014 nop
3015 fitod %f0, %f28
3016 fdtos %f28, %f9
3017 wrpr %i1, 0x1A73, %pil
3018 ble,pt %xcc, loop_434
3019 tg %xcc, 0x0
3020 movrgz %i5, 0x00F, %l1
3021 subc %l3, 0x11C0, %o0
3022loop_434:
3023 call loop_435
3024 nop
3025 set 0x18, %l0
3026 stx %fsr, [%l7 + %l0]
3027 sub %i4, 0x040D, %o1
3028 call loop_436
3029loop_435:
3030 call loop_437
3031 umulcc %o5, %g3, %o7
3032 popc %l5, %o2
3033loop_436:
3034 call loop_438
3035loop_437:
3036 call loop_439
3037 fbg,pn %fcc0, loop_440
3038 sth %o4, [%l7 + 0x30]
3039loop_438:
3040 call loop_441
3041loop_439:
3042 fmovdvc %xcc, %f30, %f30
3043loop_440:
3044 call loop_442
3045 call loop_443
3046loop_441:
3047 fmovdlg %fcc3, %f30, %f24
3048 xnorcc %g4, 0x031C, %g7
3049loop_442:
3050 movlg %fcc0, 0x39E, %l2
3051loop_443:
3052 nop
3053 setx 0x77983442, %l0, %l6
3054 st %l6, [%l7 + 0x28]
3055 ld [%l7 + 0x28], %f7
3056 setx 0x442DBB6D, %l1, %l5
3057 st %l5, [%l7 + 0x10]
3058 ld [%l7 + 0x10], %f9
3059 fdivs %f9, %f7, %f26
3060 fxnor %f16, %f28, %f28
3061 call loop_444
3062 movgu %icc, 0x7D5, %l0
3063 call loop_445
3064 call loop_446
3065loop_444:
3066 movrlz %o3, 0x0B5, %i2
3067 set 0x18, %o2
3068 stda %l4, [%l7 + %o2] 0xea
3069 membar #Sync
3070loop_445:
3071 fxnors %f22, %f0, %f4
3072loop_446:
3073 call loop_447
3074 fornot2s %f23, %f3, %f26
3075 fmul8x16al %f18, %f21, %f20
3076 call loop_448
3077loop_447:
3078 or %g2, 0x0608, %g1
3079 tle %xcc, 0x6
3080 call loop_449
3081loop_448:
3082 call loop_450
3083 movue %fcc0, 0x42E, %o6
3084 call loop_451
3085loop_449:
3086 call loop_452
3087loop_450:
3088 call loop_453
3089 bcc %xcc, loop_454
3090loop_451:
3091 fmovdue %fcc0, %f8, %f28
3092loop_452:
3093 fmovrdgez %g6, %f28, %f30
3094loop_453:
3095 call loop_455
3096loop_454:
3097 fcmpd %fcc0, %f26, %f10
3098 move %fcc1, 0x7B2, %i0
3099 te %icc, 0x6
3100loop_455:
3101 call loop_456
3102 fmovrslez %i3, %f7, %f26
3103 fmovsuge %fcc2, %f18, %f29
3104 call loop_457
3105loop_456:
3106 srl %l6, 0x17, %g5
3107 ba,a,pt %icc, loop_458
3108 movo %fcc0, %i7, %i6
3109loop_457:
3110 andcc %i1, %l1, %i5
3111loop_458:
3112 nop
3113
3114 EXIT_GOOD
3115
3116
3117
3118!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3119!
3120! Stats for Thread 6:
3121!
3122! Type l : 10
3123! Type a : 16
3124! Type x : 4
3125! Type cti : 64
3126! Type f : 50
3127! Type i : 56
3128!
3129!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3130
3131!
3132! Thread 7 Start
3133!
3134main_t7:
3135 mov %l7, %g1
3136 !# Set %cwp for 8 windows
3137 !# This threads memory space into each %l7
3138 wrpr %g0, 0x7, %cwp
3139 mov %g1, %l7
3140 wrpr %g0, 0x6, %cwp
3141 mov %g1, %l7
3142 wrpr %g0, 0x5, %cwp
3143 mov %g1, %l7
3144 wrpr %g0, 0x4, %cwp
3145 mov %g1, %l7
3146 wrpr %g0, 0x3, %cwp
3147 mov %g1, %l7
3148 wrpr %g0, 0x2, %cwp
3149 mov %g1, %l7
3150 wrpr %g0, 0x1, %cwp
3151 mov %g1, %l7
3152 wrpr %g0, 0x0, %cwp
3153 mov %g1, %l7
3154
3155 !# Set %fsr
3156 setx 0x0000000000000000, %l0, %l6 !# no post process
3157 stx %l6, [%l7 + 0x0] !# no post process
3158 ldx [%l7 + 0x0], %fsr !# no post process
3159
3160 !# Initialize registers ..
3161
3162 !# Global registers
3163 set 0x6, %g1
3164 set 0xA, %g2
3165 set 0x1, %g3
3166 set 0xE, %g4
3167 set 0xC, %g5
3168 set 0x0, %g6
3169 set 0xC, %g7
3170 !# Input registers
3171 set -0x0, %i0
3172 set -0x2, %i1
3173 set -0xE, %i2
3174 set -0x3, %i3
3175 set -0xB, %i4
3176 set -0x0, %i5
3177 set -0x3, %i6
3178 set -0xA, %i7
3179 !# Local registers
3180 set 0x08AE3624, %l0
3181 set 0x7209E83E, %l1
3182 set 0x748F1D74, %l2
3183 set 0x4F5948B8, %l3
3184 set 0x0CB0EF93, %l4
3185 set 0x7795B1C5, %l5
3186 set 0x66FFD2E6, %l6
3187 !# Output registers
3188 set 0x1CE1, %o0
3189 set 0x09E3, %o1
3190 set -0x101D, %o2
3191 set -0x0E71, %o3
3192 set -0x0AB3, %o4
3193 set 0x16C4, %o5
3194 set 0x161C, %o6
3195 set 0x1ECE, %o7
3196 !# Float registers
3197 INIT_TH_FP_REG(%l7,%f0,0x288F5FE4ADC85DBB)
3198 INIT_TH_FP_REG(%l7,%f2,0x99330CD29345F7AA)
3199 INIT_TH_FP_REG(%l7,%f4,0xF0864B2A2C349933)
3200 INIT_TH_FP_REG(%l7,%f6,0x6ACBB695416C1DE8)
3201 INIT_TH_FP_REG(%l7,%f8,0x702D9225E1849BBF)
3202 INIT_TH_FP_REG(%l7,%f10,0x3B80F57713CEF94D)
3203 INIT_TH_FP_REG(%l7,%f12,0x29F58B18105B9DB9)
3204 INIT_TH_FP_REG(%l7,%f14,0x3A004DF21FB60FC8)
3205 INIT_TH_FP_REG(%l7,%f16,0x61C26D62F509D405)
3206 INIT_TH_FP_REG(%l7,%f18,0x12DA3DA3327AD216)
3207 INIT_TH_FP_REG(%l7,%f20,0xBB062AE6B90609C1)
3208 INIT_TH_FP_REG(%l7,%f22,0x9340BB5270849C7A)
3209 INIT_TH_FP_REG(%l7,%f24,0x3BED08A82F701640)
3210 INIT_TH_FP_REG(%l7,%f26,0x4F29A2C887EA9969)
3211 INIT_TH_FP_REG(%l7,%f28,0xFD29195D7721EC62)
3212 INIT_TH_FP_REG(%l7,%f30,0x2BF5B668A5F183A1)
3213
3214 !# Execute Main Diag ..
3215
3216 call loop_459
3217 movle %xcc, %o0, %l3
3218 fnot1 %f22, %f2
3219 fpadd32 %f2, %f18, %f6
3220loop_459:
3221 add %o1, %i4, %o5
3222 udivx %g3, 0x117B, %o7
3223 fmovdn %fcc1, %f14, %f14
3224 tle %xcc, 0x3
3225 bleu,a %icc, loop_460
3226 nop
3227 set 0x44, %i2
3228 prefetch [%l7 + %i2], 3
3229 edge32 %l5, %o2, %g4
3230 tcs %icc, 0x6
3231loop_460:
3232 nop
3233 setx 0x024D, %l0, %g7
3234 udiv %o4, %g7, %l0
3235 sir 0x0764
3236 fcmpeq16 %f20, %f12, %l2
3237 call loop_461
3238 sethi 0x03A1, %i2
3239 edge32 %l4, %o3, %g2
3240 call loop_462
3241loop_461:
3242 orcc %g1, 0x02E3, %o6
3243 set 0x60, %o3
3244 ldswa [%l7 + %o3] 0x18, %i0
3245loop_462:
3246 call loop_463
3247 fbule,a %fcc2, loop_464
3248 call loop_465
3249 array32 %g6, %i3, %g5
3250loop_463:
3251 tn %icc, 0x6
3252loop_464:
3253 orn %i7, %i6, %i1
3254loop_465:
3255 edge16l %l6, %i5, %o0
3256 fnors %f22, %f25, %f23
3257 fcmps %fcc2, %f11, %f8
3258 fmovscc %icc, %f30, %f18
3259 fmovrslz %l1, %f1, %f22
3260 call loop_466
3261 nop
3262 fitos %f8, %f1
3263 fstox %f1, %f6
3264 fxtos %f6, %f25
3265 call loop_467
3266 fmovrsgz %o1, %f27, %f12
3267loop_466:
3268 fba %fcc0, loop_468
3269 call loop_469
3270loop_467:
3271 brgez,pt %i4, loop_470
3272 fmovrdne %l3, %f12, %f12
3273loop_468:
3274 orcc %o5, 0x0FAD, %g3
3275loop_469:
3276 fmovrslez %o7, %f24, %f10
3277loop_470:
3278 fble,pn %fcc3, loop_471
3279 call loop_472
3280 fpsub32 %f10, %f2, %f30
3281 call loop_473
3282loop_471:
3283 andn %l5, 0x12C2, %o2
3284loop_472:
3285 movug %fcc2, 0x3A3, %g4
3286 nop
3287 setx 0x33E0CBE669A07981, %l0, %l6
3288 stx %l6, [%l7 + 0x28]
3289 ldd [%l7 + 0x28], %f22
3290 setx 0xC36589E7C0568BC3, %l1, %l5
3291 stx %l5, [%l7 + 0x10]
3292 ldd [%l7 + 0x10], %f24
3293 fdivd %f24, %f22, %f24
3294loop_473:
3295 call loop_474
3296 wrpr %g7, 0x14BF, %cwp
3297 fnegs %f11, %f30
3298 edge8l %l0, %l2, %o4
3299loop_474:
3300 andn %l4, %i2, %g2
3301 call loop_475
3302 nop
3303 setx 0x79D4534A5D696BBD, %l0, %l6
3304 stx %l6, [%l7 + 0x28]
3305 ldd [%l7 + 0x28], %f2
3306 setx 0x544436111893902E, %l1, %l5
3307 stx %l5, [%l7 + 0x10]
3308 ldd [%l7 + 0x10], %f22
3309 fdivd %f22, %f2, %f24
3310 bpos %icc, loop_476
3311 nop
3312 setx 0x585C4C68, %l0, %l6
3313 st %l6, [%l7 + 0x28]
3314 ld [%l7 + 0x28], %f22
3315 setx 0x2925364C, %l1, %l5
3316 st %l5, [%l7 + 0x10]
3317 ld [%l7 + 0x10], %f10
3318 fsubs %f10, %f22, %f9
3319loop_475:
3320 movule %fcc3, 0x4A0, %g1
3321 fcmple16 %f24, %f18, %o3
3322loop_476:
3323 edge8n %o6, %g6, %i3
3324 sub %i0, 0x1CD6, %g5
3325 fcmpeq16 %f16, %f10, %i6
3326 tg %icc, 0x0
3327 wrpr %g0, 0x3, %gl
3328 fands %f9, %f0, %f24
3329 mova %fcc0, %l6, %i5
3330 fmovrslz %i1, %f16, %f28
3331 call loop_477
3332 call loop_478
3333 lduw [%l7 + 0x38], %l1
3334 fcmpne16 %f22, %f20, %o1
3335loop_477:
3336 fone %f10
3337loop_478:
3338 nop
3339
3340 or %g0, 0x8, %l0
3341 sllx %l0, 0x3c, %l0
3342 wrhpr %l0, 0xA00, %hsys_tick_cmpr
3343 wr %g0, 0x19, %asi
3344 ldswa [%l7 + 0x48] %asi, %o5
3345 fmovrdlez %i4, %f6, %f6
3346 fpsub16s %f21, %f4, %f28
3347
3348 or %g0, 0x8, %l0
3349 sllx %l0, 0x3c, %l0
3350 wrhpr %l0, %g0, %hsys_tick_cmpr
3351 fpsub16 %f10, %f12, %f20
3352 fnand %f10, %f16, %f20
3353 movrlz %g3, %l5, %g4
3354 fmovsleu %xcc, %f9, %f12
3355 call loop_479
3356 wr %g7, %o2, %clear_softint
3357 fmovdul %fcc1, %f22, %f26
3358 add %l0, %o4, %l2
3359loop_479:
3360 fxnors %f31, %f18, %f26
3361 sir 0x0FDB
3362 tleu %icc, 0x3
3363 rd %tick_cmpr, %i2
3364 fcmps %fcc0, %f3, %f9
3365 fcmpeq32 %f0, %f24, %g2
3366 nop
3367 set 0x60, %o4
3368 flush %l7 + %o4
3369 tne %icc, 0x0
3370 sdivx %l4, 0x0AC6, %o3
3371 call loop_480
3372 call loop_481
3373 mulscc %o6, %g1, %i3
3374 edge16n %g6, %i0, %g5
3375loop_480:
3376 xorcc %i6, %l6, %i5
3377loop_481:
3378 call loop_482
3379 edge8ln %i7, %i1, %o1
3380 call loop_483
3381 call loop_484
3382loop_482:
3383 nop
3384 fitos %f9, %f5
3385 fstod %f5, %f0
3386 st %f3, [%l7 + 0x08]
3387loop_483:
3388 call loop_485
3389loop_484:
3390 tpos %icc, 0x3
3391 nop
3392 fitos %f10, %f11
3393 fstod %f11, %f10
3394 call loop_486
3395loop_485:
3396 fsrc2 %f26, %f26
3397 srlx %l1, %o0, %l3
3398 fandnot1s %f27, %f11, %f0
3399loop_486:
3400 movneg %icc, %i4, %o7
3401 fpsub16s %f0, %f6, %f28
3402 call loop_487
3403 te %icc, 0x2
3404 wr %g3, 0x0FC6, %pic
3405 bge,a,pn %xcc, loop_488
3406loop_487:
3407 array32 %o5, %g4, %l5
3408 add %l7, 0x10, %l6
3409 wr %g0, 0x11, %asi
3410 casxa [%l6] %asi, %g7, %l0
3411loop_488:
3412 fmovdl %xcc, %f14, %f16
3413 call loop_489
3414 fpsub32 %f16, %f18, %f16
3415 movrlz %o2, 0x330, %l2
3416 set 0x6A, %g2
3417 stha %o4, [%l7 + %g2] 0x81
3418loop_489:
3419 fmovrse %i2, %f25, %f6
3420 fmovspos %icc, %f8, %f9
3421 rd %fprs, %g2
3422 wrpr %g0, 0x3, %gl
3423 call loop_490
3424 fmovdn %fcc1, %f12, %f2
3425 tneg %xcc, 0x3
3426 movge %icc, 0x6EB, %o6
3427loop_490:
3428 call loop_491
3429 fmovrdlez %g1, %f6, %f4
3430 flushw
3431 fmovsl %fcc2, %f31, %f11
3432loop_491:
3433 stb %i3, [%l7 + 0x1A]
3434 fzeros %f28
3435 fpadd16s %f26, %f20, %f17
3436 fmovsul %fcc2, %f25, %f29
3437 call loop_492
3438 fblg,pt %fcc1, loop_493
3439 ba,a,pt %xcc, loop_494
3440 pdist %f6, %f28, %f2
3441loop_492:
3442 call loop_495
3443loop_493:
3444 call loop_496
3445loop_494:
3446 call loop_497
3447 fnot2 %f2, %f30
3448loop_495:
3449 popc %l4, %i0
3450loop_496:
3451 fmovdcs %icc, %f12, %f20
3452loop_497:
3453 umul %g5, 0x08C9, %g6
3454 fcmpes %fcc3, %f7, %f14
3455 edge8 %i6, %l6, %i5
3456 wrpr %i7, %o1, %cwp
3457 call loop_498
3458 fcmple32 %f6, %f12, %i1
3459 call loop_499
3460 call loop_500
3461loop_498:
3462 fmovdue %fcc0, %f22, %f28
3463 fsrc1s %f19, %f31
3464loop_499:
3465 fbuge,a %fcc3, loop_501
3466loop_500:
3467 fpadd16s %f14, %f11, %f1
3468 set 0x50, %i3
3469 stwa %o0, [%l7 + %i3] 0x22
3470 membar #Sync
3471loop_501:
3472 saved
3473 rdpr %cwp, %g1
3474 rdpr %cansave, %g2
3475 rdpr %canrestore, %g3
3476 rdpr %cleanwin, %g4
3477 rdpr %otherwin, %g5
3478 rdpr %wstate, %g6
3479 tpos %icc, 0x4
3480 call loop_502
3481 fba,a %fcc1, loop_503
3482 rdpr %otherwin, %l1
3483 fpsub32s %f1, %f25, %f3
3484loop_502:
3485 call loop_504
3486loop_503:
3487 fandnot2 %f22, %f22, %f24
3488 srl %l3, 0x18, %i4
3489 fmovdne %fcc0, %f20, %f6
3490loop_504:
3491 bgu,pt %xcc, loop_505
3492 sub %o7, %g3, %o5
3493 fornot1s %f12, %f19, %f0
3494 bmask %l5, %g7, %g4
3495loop_505:
3496 call loop_506
3497 call loop_507
3498 call loop_508
3499 call loop_509
3500loop_506:
3501 fornot1s %f4, %f25, %f21
3502loop_507:
3503 call loop_510
3504loop_508:
3505 nop
3506 setx loop_511, %l0, %l1
3507 wrpr 0x1, %tl
3508 wrpr %l1, %tpc
3509 add %l1, 0x4, %l1
3510 wrpr %l1, %tnpc
3511 setx 0x022400001407, %l0, %l1
3512 wrpr %l1, %tstate
3513 wrhpr 0x4, %htstate
3514 retry
3515loop_509:
3516 call loop_512
3517 fmovrdlz %l0, %f0, %f6
3518loop_510:
3519 nop
3520 wr %g0, 0x04, %asi
3521 lduba [%l7 + 0x3D] %asi, %l2
3522loop_511:
3523 srlx %o4, %o2, %i2
3524loop_512:
3525 movneg %xcc, 0x667, %o3
3526 call loop_513
3527 call loop_514
3528 fmovdue %fcc0, %f18, %f22
3529loop_513:
3530 nop
3531
3532loop_514:
3533 nop
3534
3535 EXIT_GOOD
3536
3537
3538
3539!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3540!
3541! Stats for Thread 7:
3542!
3543! Type l : 11
3544! Type a : 11
3545! Type x : 6
3546! Type cti : 56
3547! Type f : 62
3548! Type i : 54
3549!
3550!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3551
3552
3553 EXIT_GOOD /* test finish */
3554
3555/************************************************************************
3556 Test case data start
3557 ************************************************************************/
3558.data
3559user_data_start:
3560scratch_area:
3561.word 0x8CF88538
3562.word 0x2911B6FD
3563.word 0x412E43CD
3564.word 0x0800A71D
3565.word 0xA318C8AA
3566.word 0xD58EB8B2
3567.word 0x9F5FED4D
3568.word 0x44BA154D
3569.word 0x9C0AC5B6
3570.word 0x6244E523
3571.word 0x37D9505D
3572.word 0x47833C53
3573.word 0x7E3FFC84
3574.word 0xF14D8791
3575.word 0x832A1BBD
3576.word 0x7E8592F6
3577.word 0x2E02FBCE
3578.word 0xCBDF312D
3579.word 0x288047AD
3580.word 0x8AAD8955
3581.word 0xCCB183EC
3582.word 0xEDAD1792
3583.word 0x3E04F66F
3584.word 0x5E374E83
3585.word 0x6021D732
3586.word 0xAA4C4FD2
3587.word 0x184CF9C9
3588.word 0x5E87B783
3589.word 0x5FF7FEF1
3590.word 0xFA812931
3591.word 0x3824F7D7
3592.word 0x0753274D
3593.word 0x2C0D1A21
3594.word 0x6325840F
3595.word 0xB77B3473
3596.word 0xB4809D29
3597.word 0x7FD07CD1
3598.word 0x26E3ECF4
3599.word 0x9CC30383
3600.word 0x3DFAD08E
3601.word 0x71AB3846
3602.word 0x7C258B3A
3603.word 0x767EDB1F
3604.word 0x78AB4450
3605.word 0x40577EB9
3606.word 0x3B1B34BA
3607.word 0xF869605D
3608.word 0x98F91A49
3609.word 0x31BFE39B
3610.word 0x0980F0BF
3611.word 0x5FF80ECD
3612.word 0xD90421AE
3613.word 0xBCF196DC
3614.word 0x94022EDE
3615.word 0xA8252C8F
3616.word 0xBDCCE9E0
3617.word 0x91FEFEE1
3618.word 0x45A6611D
3619.word 0xFB607EF0
3620.word 0x575BB4C0
3621.word 0x4CC84F33
3622.word 0xFC997F87
3623.word 0xF850FDEA
3624.word 0xEE35F528
3625.end