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