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