Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | /* |
2 | * ========== Copyright Header Begin ========================================== | |
3 | * | |
4 | * OpenSPARC T2 Processor File: fgu_siam_traps_21.s | |
5 | * Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved | |
6 | * 4150 Network Circle, Santa Clara, California 95054, U.S.A. | |
7 | * | |
8 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License as published by | |
12 | * the Free Software Foundation; version 2 of the License. | |
13 | * | |
14 | * This program is distributed in the hope that it will be useful, | |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | * GNU General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License | |
20 | * along with this program; if not, write to the Free Software | |
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 | * | |
23 | * For the avoidance of doubt, and except that if any non-GPL license | |
24 | * choice is available it will apply instead, Sun elects to use only | |
25 | * the General Public License version 2 (GPLv2) at this time for any | |
26 | * software where a choice of GPL license versions is made | |
27 | * available with the language indicating that GPLv2 or any later version | |
28 | * may be used, or where a choice of which version of the GPL is applied is | |
29 | * otherwise unspecified. | |
30 | * | |
31 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | |
32 | * CA 95054 USA or visit www.sun.com if you need additional information or | |
33 | * have any questions. | |
34 | * | |
35 | * | |
36 | * ========== Copyright Header End ============================================ | |
37 | */ | |
38 | .ident "FOCUSCASE: focus.pm,v 1.1 2003/04/23 17:53:39 somePerson Exp somePerson $ spc_basic_isa3.pl FOCUS_SEED=1234" | |
39 | .ident "Mon Dec 8 19:51:05 CST 2003" | |
40 | .ident "Using Instruction Hash for Focus :$Id: fgu_siam_traps_21.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 | ||
52 | main: /* 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 | ! | |
89 | main_t0: | |
90 | mov %l7, %g1 | |
91 | !# Set %cwp for 8 windows | |
92 | !# This threads memory space into each %l7 | |
93 | wrpr %g0, 0x7, %cwp | |
94 | mov %g1, %l7 | |
95 | wrpr %g0, 0x6, %cwp | |
96 | mov %g1, %l7 | |
97 | wrpr %g0, 0x5, %cwp | |
98 | mov %g1, %l7 | |
99 | wrpr %g0, 0x4, %cwp | |
100 | mov %g1, %l7 | |
101 | wrpr %g0, 0x3, %cwp | |
102 | mov %g1, %l7 | |
103 | wrpr %g0, 0x2, %cwp | |
104 | mov %g1, %l7 | |
105 | wrpr %g0, 0x1, %cwp | |
106 | mov %g1, %l7 | |
107 | wrpr %g0, 0x0, %cwp | |
108 | mov %g1, %l7 | |
109 | ||
110 | !# Set %fsr | |
111 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
112 | stx %l6, [%l7 + 0x0] !# no post process | |
113 | ldx [%l7 + 0x0], %fsr !# no post process | |
114 | ||
115 | !# Initialize registers .. | |
116 | ||
117 | !# Global registers | |
118 | set 0x9, %g1 | |
119 | set 0x8, %g2 | |
120 | set 0x3, %g3 | |
121 | set 0x0, %g4 | |
122 | set 0xD, %g5 | |
123 | set 0xF, %g6 | |
124 | set 0xF, %g7 | |
125 | !# Input registers | |
126 | set -0xB, %i0 | |
127 | set -0xA, %i1 | |
128 | set -0x1, %i2 | |
129 | set -0x3, %i3 | |
130 | set -0x0, %i4 | |
131 | set -0x3, %i5 | |
132 | set -0x8, %i6 | |
133 | set -0xA, %i7 | |
134 | !# Local registers | |
135 | set 0x741FD612, %l0 | |
136 | set 0x150D1EE3, %l1 | |
137 | set 0x33C5F95B, %l2 | |
138 | set 0x0824F6B4, %l3 | |
139 | set 0x071A2858, %l4 | |
140 | set 0x450B8AFB, %l5 | |
141 | set 0x72C81A65, %l6 | |
142 | !# Output registers | |
143 | set -0x102A, %o0 | |
144 | set -0x1EEA, %o1 | |
145 | set -0x0D07, %o2 | |
146 | set -0x000E, %o3 | |
147 | set 0x0E15, %o4 | |
148 | set 0x10D0, %o5 | |
149 | set 0x1D7F, %o6 | |
150 | set 0x1FFE, %o7 | |
151 | !# Float registers | |
152 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
153 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
154 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
155 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
156 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
157 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
158 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
159 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
160 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
161 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
162 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
163 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
164 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
165 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
166 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
167 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
168 | ||
169 | !# Execute Main Diag .. | |
170 | ||
171 | tvc %xcc, 0x4 | |
172 | siam 0x4 | |
173 | edge32l %l5, %o3, %l0 | |
174 | siam 0x0 | |
175 | siam 0x4 | |
176 | siam 0x0 | |
177 | siam 0x1 | |
178 | siam 0x6 | |
179 | siam 0x5 | |
180 | orncc %i2, 0x0E85, %g6 | |
181 | smulcc %g1, 0x0D7A, %i6 | |
182 | movrlez %o6, %g3, %l1 | |
183 | nop | |
184 | setx 0x8235415133403864, %l0, %l6 | |
185 | stx %l6, [%l7 + 0x68] | |
186 | ldx [%l7 + 0x68], %fsr | |
187 | siam 0x3 | |
188 | siam 0x0 | |
189 | siam 0x1 | |
190 | orncc %l4, 0x0782, %l3 | |
191 | movu %fcc2, 0x5AF, %g4 | |
192 | siam 0x7 | |
193 | movule %fcc2, %g2, %o2 | |
194 | siam 0x5 | |
195 | siam 0x7 | |
196 | movvs %xcc, 0x2F2, %i0 | |
197 | siam 0x1 | |
198 | siam 0x1 | |
199 | movneg %xcc, %i3, %o7 | |
200 | movule %fcc2, %o5, %i1 | |
201 | alignaddr %l6, %o1, %i5 | |
202 | siam 0x2 | |
203 | siam 0x4 | |
204 | movleu %xcc, 0x1FC, %i4 | |
205 | array32 %o4, %g5, %i7 | |
206 | siam 0x2 | |
207 | movul %fcc0, 0x344, %o0 | |
208 | siam 0x4 | |
209 | movn %fcc1, 0x756, %l2 | |
210 | siam 0x4 | |
211 | bne,a,pn %xcc, loop_1 | |
212 | edge16ln %l5, %g7, %l0 | |
213 | siam 0x4 | |
214 | umul %o3, %i2, %g1 | |
215 | loop_1: | |
216 | or %i6, %o6, %g3 | |
217 | siam 0x7 | |
218 | tn %icc, 0x0 | |
219 | siam 0x6 | |
220 | siam 0x0 | |
221 | set 0x50, %i0 | |
222 | ldda [%l7 + %i0] 0xea, %g6 | |
223 | siam 0x5 | |
224 | siam 0x6 | |
225 | movne %icc, %l4, %l1 | |
226 | set 0x3C, %g4 | |
227 | ldswa [%l7 + %g4] 0x89, %g4 | |
228 | umulcc %l3, %g2, %o2 | |
229 | movle %fcc2, 0x160, %i3 | |
230 | xnorcc %o7, 0x08D4, %i0 | |
231 | siam 0x4 | |
232 | tcs %icc, 0x2 | |
233 | addcc %o5, %l6, %i1 | |
234 | bmask %i5, %o1, %i4 | |
235 | siam 0x4 | |
236 | movlg %fcc3, %o4, %g5 | |
237 | siam 0x1 | |
238 | siam 0x7 | |
239 | xorcc %i7, %o0, %l2 | |
240 | taddcc %g7, %l5, %o3 | |
241 | set 0x60, %o7 | |
242 | stba %l0, [%l7 + %o7] 0x2f | |
243 | membar #Sync | |
244 | nop | |
245 | setx 0x0A1D, %l0, %i2 | |
246 | sdivcc %g1, %i2, %o6 | |
247 | siam 0x6 | |
248 | tpos %icc, 0x0 | |
249 | siam 0x3 | |
250 | edge32ln %i6, %g3, %g6 | |
251 | siam 0x7 | |
252 | nop | |
253 | set 0x18, %l4 | |
254 | lduh [%l7 + %l4], %l4 | |
255 | siam 0x7 | |
256 | siam 0x4 | |
257 | siam 0x1 | |
258 | movvs %icc, 0x003, %l1 | |
259 | movuge %fcc1, %l3, %g4 | |
260 | siam 0x5 | |
261 | siam 0x3 | |
262 | edge8ln %o2, %i3, %o7 | |
263 | and %i0, %g2, %o5 | |
264 | siam 0x3 | |
265 | siam 0x6 | |
266 | edge32n %i1, %i5, %o1 | |
267 | subcc %l6, %o4, %i4 | |
268 | nop | |
269 | set 0x10, %g6 | |
270 | ldx [%l7 + %g6], %i7 | |
271 | nop | |
272 | set 0x78, %i6 | |
273 | flush %l7 + %i6 | |
274 | umulcc %o0, %g5, %g7 | |
275 | siam 0x6 | |
276 | xnorcc %l5, %l2, %o3 | |
277 | fbn,a %fcc0, loop_2 | |
278 | siam 0x4 | |
279 | siam 0x3 | |
280 | sll %g1, %l0, %o6 | |
281 | loop_2: | |
282 | nop | |
283 | wr %g0, 0x04, %asi | |
284 | ldstuba [%l7 + 0x5F] %asi, %i6 | |
285 | siam 0x6 | |
286 | sir 0x013A | |
287 | smulcc %i2, 0x0949, %g6 | |
288 | siam 0x4 | |
289 | edge8ln %g3, %l4, %l3 | |
290 | andncc %l1, 0x0A1E, %o2 | |
291 | move %xcc, %i3, %g4 | |
292 | siam 0x0 | |
293 | bmask %i0, %o7, %o5 | |
294 | be,a %xcc, loop_3 | |
295 | move %fcc3, %i1, %g2 | |
296 | siam 0x7 | |
297 | siam 0x0 | |
298 | loop_3: | |
299 | tsubcc %o1, %l6, %o4 | |
300 | wr %g0, 0x89, %asi | |
301 | ldda [%l7 + 0x40] %asi, %f16 | |
302 | siam 0x7 | |
303 | tl %xcc, 0x4 | |
304 | flushw | |
305 | siam 0x4 | |
306 | bg,pt %xcc, loop_4 | |
307 | nop | |
308 | setx 0x10C2, %l0, %i4 | |
309 | sdiv %i5, %i4, %i7 | |
310 | sll %g5, 0x01, %o0 | |
311 | orn %l5, 0x0778, %g7 | |
312 | loop_4: | |
313 | siam 0x6 | |
314 | siam 0x0 | |
315 | siam 0x5 | |
316 | call loop_5 | |
317 | siam 0x1 | |
318 | membar 0x6A | |
319 | andcc %o3, 0x193B, %l2 | |
320 | loop_5: | |
321 | andncc %l0, 0x1214, %g1 | |
322 | siam 0x5 | |
323 | tle %xcc, 0x6 | |
324 | ldd [%l7 + 0x58], %f8 | |
325 | siam 0x5 | |
326 | movcc %xcc, %o6, %i2 | |
327 | siam 0x4 | |
328 | siam 0x3 | |
329 | mulscc %g6, 0x14B6, %g3 | |
330 | siam 0x0 | |
331 | tneg %xcc, 0x2 | |
332 | bmask %l4, %i6, %l3 | |
333 | edge8n %l1, %i3, %o2 | |
334 | siam 0x4 | |
335 | siam 0x0 | |
336 | siam 0x1 | |
337 | siam 0x0 | |
338 | siam 0x6 | |
339 | tsubcc %g4, %o7, %o5 | |
340 | nop | |
341 | set 0x10, %g1 | |
342 | ldd [%l7 + %g1], %i0 | |
343 | tn %xcc, 0x2 | |
344 | movge %fcc0, 0x5D8, %g2 | |
345 | siam 0x6 | |
346 | siam 0x5 | |
347 | xor %i0, 0x09F9, %o1 | |
348 | popc %o4, %l6 | |
349 | siam 0x1 | |
350 | siam 0x7 | |
351 | siam 0x7 | |
352 | siam 0x0 | |
353 | bvs,a,pt %icc, loop_6 | |
354 | movpos %xcc, %i4, %i7 | |
355 | sdivcc %i5, 0x0F6E, %o0 | |
356 | tle %icc, 0x1 | |
357 | loop_6: | |
358 | movneg %xcc, 0x760, %g5 | |
359 | tneg %icc, 0x4 | |
360 | siam 0x3 | |
361 | and %g7, %l5, %o3 | |
362 | siam 0x2 | |
363 | ba,a,pt %xcc, loop_7 | |
364 | mulscc %l2, 0x0707, %g1 | |
365 | movpos %icc, %l0, %i2 | |
366 | bvc,pn %xcc, loop_8 | |
367 | loop_7: | |
368 | siam 0x1 | |
369 | fba,pt %fcc1, loop_9 | |
370 | bl,a %icc, loop_10 | |
371 | loop_8: | |
372 | siam 0x5 | |
373 | bpos,a,pn %icc, loop_11 | |
374 | loop_9: | |
375 | movrlz %g6, %o6, %l4 | |
376 | loop_10: | |
377 | tvc %icc, 0x4 | |
378 | tvs %xcc, 0x1 | |
379 | loop_11: | |
380 | siam 0x3 | |
381 | siam 0x6 | |
382 | siam 0x6 | |
383 | siam 0x7 | |
384 | siam 0x7 | |
385 | membar 0x53 | |
386 | st %fsr, [%l7 + 0x24] | |
387 | smulcc %i6, %g3, %l3 | |
388 | fbue,a %fcc0, loop_12 | |
389 | membar 0x5C | |
390 | and %i3, 0x118E, %l1 | |
391 | mulscc %g4, %o2, %o5 | |
392 | loop_12: | |
393 | movcc %icc, 0x614, %i1 | |
394 | siam 0x2 | |
395 | sethi 0x00EC, %o7 | |
396 | bne,a %icc, loop_13 | |
397 | movrgz %i0, %o1, %g2 | |
398 | set 0x08, %g3 | |
399 | stda %i6, [%l7 + %g3] 0x22 | |
400 | membar #Sync | |
401 | loop_13: | |
402 | nop | |
403 | ||
404 | EXIT_GOOD | |
405 | ||
406 | ||
407 | ||
408 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
409 | ! | |
410 | ! Stats for Thread 0: | |
411 | ! | |
412 | ! Type l : 13 | |
413 | ! Type x : 6 | |
414 | ! Type cti : 13 | |
415 | ! Type f : 80 | |
416 | ! Type i : 88 | |
417 | ! | |
418 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
419 | ||
420 | ! | |
421 | ! Thread 1 Start | |
422 | ! | |
423 | main_t1: | |
424 | mov %l7, %g1 | |
425 | !# Set %cwp for 8 windows | |
426 | !# This threads memory space into each %l7 | |
427 | wrpr %g0, 0x7, %cwp | |
428 | mov %g1, %l7 | |
429 | wrpr %g0, 0x6, %cwp | |
430 | mov %g1, %l7 | |
431 | wrpr %g0, 0x5, %cwp | |
432 | mov %g1, %l7 | |
433 | wrpr %g0, 0x4, %cwp | |
434 | mov %g1, %l7 | |
435 | wrpr %g0, 0x3, %cwp | |
436 | mov %g1, %l7 | |
437 | wrpr %g0, 0x2, %cwp | |
438 | mov %g1, %l7 | |
439 | wrpr %g0, 0x1, %cwp | |
440 | mov %g1, %l7 | |
441 | wrpr %g0, 0x0, %cwp | |
442 | mov %g1, %l7 | |
443 | ||
444 | !# Set %fsr | |
445 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
446 | stx %l6, [%l7 + 0x0] !# no post process | |
447 | ldx [%l7 + 0x0], %fsr !# no post process | |
448 | ||
449 | !# Initialize registers .. | |
450 | ||
451 | !# Global registers | |
452 | set 0x9, %g1 | |
453 | set 0x1, %g2 | |
454 | set 0x7, %g3 | |
455 | set 0x6, %g4 | |
456 | set 0xD, %g5 | |
457 | set 0xD, %g6 | |
458 | set 0x2, %g7 | |
459 | !# Input registers | |
460 | set -0x2, %i0 | |
461 | set -0x7, %i1 | |
462 | set -0x2, %i2 | |
463 | set -0xD, %i3 | |
464 | set -0xE, %i4 | |
465 | set -0xB, %i5 | |
466 | set -0x7, %i6 | |
467 | set -0x9, %i7 | |
468 | !# Local registers | |
469 | set 0x5175F673, %l0 | |
470 | set 0x7EC05BEF, %l1 | |
471 | set 0x6A992E6C, %l2 | |
472 | set 0x31391331, %l3 | |
473 | set 0x10CCB3FD, %l4 | |
474 | set 0x7614D3AC, %l5 | |
475 | set 0x4B998D20, %l6 | |
476 | !# Output registers | |
477 | set -0x1B6A, %o0 | |
478 | set -0x10A0, %o1 | |
479 | set -0x1DB0, %o2 | |
480 | set -0x014F, %o3 | |
481 | set -0x1436, %o4 | |
482 | set -0x125A, %o5 | |
483 | set 0x183F, %o6 | |
484 | set 0x17CD, %o7 | |
485 | !# Float registers | |
486 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
487 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
488 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
489 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
490 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
491 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
492 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
493 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
494 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
495 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
496 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
497 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
498 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
499 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
500 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
501 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
502 | ||
503 | !# Execute Main Diag .. | |
504 | ||
505 | siam 0x5 | |
506 | brgz,pn %o4, loop_14 | |
507 | array32 %i7, %i5, %o0 | |
508 | srlx %g5, 0x19, %g7 | |
509 | movre %i4, 0x06A, %o3 | |
510 | loop_14: | |
511 | edge8l %l5, %g1, %l2 | |
512 | edge8l %l0, %i2, %g6 | |
513 | siam 0x2 | |
514 | fblg %fcc3, loop_15 | |
515 | siam 0x2 | |
516 | siam 0x5 | |
517 | siam 0x6 | |
518 | loop_15: | |
519 | tvc %icc, 0x3 | |
520 | srl %o6, %i6, %l4 | |
521 | siam 0x5 | |
522 | nop | |
523 | setx 0x1FF5, %l0, %i3 | |
524 | sdivcc %g3, %i3, %l3 | |
525 | siam 0x3 | |
526 | siam 0x4 | |
527 | siam 0x5 | |
528 | siam 0x0 | |
529 | xnorcc %g4, 0x171B, %l1 | |
530 | siam 0x2 | |
531 | siam 0x4 | |
532 | siam 0x1 | |
533 | siam 0x6 | |
534 | movvc %xcc, 0x292, %o5 | |
535 | movule %fcc2, 0x1F9, %o2 | |
536 | array16 %i1, %o7, %o1 | |
537 | movle %icc, %g2, %l6 | |
538 | siam 0x6 | |
539 | sethi 0x060B, %o4 | |
540 | fbne %fcc1, loop_16 | |
541 | brlz %i7, loop_17 | |
542 | ld [%l7 + 0x10], %f28 | |
543 | siam 0x7 | |
544 | loop_16: | |
545 | nop | |
546 | setx 0x09E7, %l0, %i0 | |
547 | udiv %i5, %i0, %o0 | |
548 | loop_17: | |
549 | tsubcctv %g7, %i4, %o3 | |
550 | sra %l5, 0x15, %g1 | |
551 | siam 0x2 | |
552 | siam 0x6 | |
553 | siam 0x6 | |
554 | set 0x0D, %o3 | |
555 | stba %g5, [%l7 + %o3] 0x18 | |
556 | siam 0x6 | |
557 | set 0x0C, %g7 | |
558 | lda [%l7 + %g7] 0x18, %f4 | |
559 | popc 0x04A4, %l0 | |
560 | siam 0x5 | |
561 | stx %l2, [%l7 + 0x60] | |
562 | siam 0x7 | |
563 | tvs %icc, 0x0 | |
564 | xor %i2, 0x1E2F, %o6 | |
565 | movg %xcc, 0x4EE, %i6 | |
566 | siam 0x1 | |
567 | movne %fcc2, 0x498, %g6 | |
568 | siam 0x0 | |
569 | mulscc %g3, %l4, %i3 | |
570 | movleu %icc, %l3, %g4 | |
571 | siam 0x3 | |
572 | sir 0x0AA2 | |
573 | taddcc %l1, %o5, %o2 | |
574 | alignaddr %i1, %o7, %o1 | |
575 | wr %g0, 0x88, %asi | |
576 | ldstuba [%l7 + 0x22] %asi, %l6 | |
577 | siam 0x6 | |
578 | siam 0x4 | |
579 | siam 0x6 | |
580 | movl %fcc3, %o4, %i7 | |
581 | siam 0x4 | |
582 | call loop_18 | |
583 | andcc %g2, 0x1DC4, %i5 | |
584 | siam 0x1 | |
585 | set 0x1C, %i7 | |
586 | lda [%l7 + %i7] 0x81, %f22 | |
587 | loop_18: | |
588 | siam 0x6 | |
589 | edge8ln %i0, %o0, %g7 | |
590 | ba,a,pt %xcc, loop_19 | |
591 | siam 0x6 | |
592 | siam 0x1 | |
593 | subcc %o3, %i4, %g1 | |
594 | loop_19: | |
595 | siam 0x0 | |
596 | edge8ln %g5, %l0, %l2 | |
597 | fbule,a,pt %fcc2, loop_20 | |
598 | nop | |
599 | set 0x28, %o5 | |
600 | ldsw [%l7 + %o5], %l5 | |
601 | siam 0x0 | |
602 | sir 0x0C3B | |
603 | loop_20: | |
604 | siam 0x3 | |
605 | siam 0x6 | |
606 | edge16n %i2, %i6, %g6 | |
607 | tge %xcc, 0x5 | |
608 | siam 0x6 | |
609 | movcs %icc, 0x701, %o6 | |
610 | add %l7, 0x74, %l6 | |
611 | wr %g0, 0x18, %asi | |
612 | lda [%l6] %asi, %l4 | |
613 | casa [%l6] 0x18, %l4, %i3 | |
614 | siam 0x2 | |
615 | andn %l3, 0x09F9, %g3 | |
616 | mulscc %g4, 0x18FC, %l1 | |
617 | udiv %o5, 0x05C5, %o2 | |
618 | nop | |
619 | setx 0x0961, %l0, %o7 | |
620 | udivcc %i1, %o7, %o1 | |
621 | udivcc %l6, 0x11BB, %i7 | |
622 | movl %icc, %o4, %g2 | |
623 | smul %i5, %i0, %g7 | |
624 | udivcc %o3, 0x067D, %o0 | |
625 | nop | |
626 | setx 0x0A32, %l0, %g5 | |
627 | sdivcc %g1, %g5, %i4 | |
628 | tgu %icc, 0x5 | |
629 | xorcc %l0, %l5, %i2 | |
630 | tleu %icc, 0x6 | |
631 | siam 0x1 | |
632 | lduw [%l7 + 0x6C], %l2 | |
633 | movrlz %i6, 0x201, %o6 | |
634 | xnor %g6, 0x139E, %i3 | |
635 | siam 0x6 | |
636 | movl %fcc1, %l3, %g3 | |
637 | edge32ln %l4, %g4, %l1 | |
638 | xor %o2, 0x094A, %o5 | |
639 | siam 0x2 | |
640 | siam 0x2 | |
641 | siam 0x1 | |
642 | siam 0x4 | |
643 | siam 0x0 | |
644 | movlg %fcc2, %o7, %o1 | |
645 | tsubcc %i1, %i7, %o4 | |
646 | srax %g2, %i5, %i0 | |
647 | tvc %xcc, 0x5 | |
648 | siam 0x1 | |
649 | siam 0x3 | |
650 | and %g7, 0x03FB, %o3 | |
651 | membar 0x76 | |
652 | tsubcctv %l6, 0x08A0, %o0 | |
653 | siam 0x7 | |
654 | siam 0x1 | |
655 | subccc %g5, 0x1924, %g1 | |
656 | siam 0x5 | |
657 | siam 0x3 | |
658 | siam 0x6 | |
659 | fbn,a,pn %fcc3, loop_21 | |
660 | tleu %xcc, 0x0 | |
661 | fbge,a,pt %fcc3, loop_22 | |
662 | tcc %icc, 0x7 | |
663 | loop_21: | |
664 | siam 0x6 | |
665 | wr %g0, 0x27, %asi | |
666 | stwa %l0, [%l7 + 0x38] %asi | |
667 | membar #Sync | |
668 | loop_22: | |
669 | bcs,pn %xcc, loop_23 | |
670 | stbar | |
671 | movrlz %l5, 0x37F, %i4 | |
672 | movo %fcc2, %l2, %i2 | |
673 | loop_23: | |
674 | movleu %xcc, %o6, %g6 | |
675 | set 0x34, %i4 | |
676 | ldsha [%l7 + %i4] 0x11, %i6 | |
677 | add %l7, 0x48, %l6 | |
678 | wr %g0, 0x80, %asi | |
679 | casa [%l6] 0x80, %i3, %l3 | |
680 | fbge %fcc1, loop_24 | |
681 | swap [%l7 + 0x20], %g3 | |
682 | siam 0x6 | |
683 | move %fcc3, %l4, %g4 | |
684 | loop_24: | |
685 | movneg %xcc, %o2, %o5 | |
686 | siam 0x7 | |
687 | fbug,pt %fcc0, loop_25 | |
688 | array32 %o7, %o1, %i1 | |
689 | addcc %l1, %o4, %g2 | |
690 | siam 0x3 | |
691 | loop_25: | |
692 | siam 0x5 | |
693 | siam 0x5 | |
694 | flushw | |
695 | taddcctv %i5, %i0, %i7 | |
696 | set 0x4C, %o4 | |
697 | ldswa [%l7 + %o4] 0x0c, %g7 | |
698 | saved | |
699 | rdpr %cwp, %g1 | |
700 | rdpr %cansave, %g2 | |
701 | rdpr %canrestore, %g3 | |
702 | rdpr %cleanwin, %g4 | |
703 | rdpr %otherwin, %g5 | |
704 | rdpr %wstate, %g6 | |
705 | edge32ln %l6, %o3, %g5 | |
706 | siam 0x4 | |
707 | bg,a %xcc, loop_26 | |
708 | srax %o0, %l0, %g1 | |
709 | siam 0x6 | |
710 | fblg,pt %fcc2, loop_27 | |
711 | loop_26: | |
712 | siam 0x1 | |
713 | siam 0x3 | |
714 | wr %g0, 0xf1, %asi | |
715 | stda %f16, [%l7 + 0x40] %asi | |
716 | membar #Sync | |
717 | loop_27: | |
718 | orncc %i4, 0x192F, %l5 | |
719 | edge16 %l2, %o6, %g6 | |
720 | siam 0x0 | |
721 | movrne %i6, 0x191, %i3 | |
722 | srax %i2, %g3, %l4 | |
723 | siam 0x6 | |
724 | siam 0x7 | |
725 | movlg %fcc2, 0x524, %l3 | |
726 | wr %g0, 0xeb, %asi | |
727 | stwa %g4, [%l7 + 0x5C] %asi | |
728 | membar #Sync | |
729 | xnorcc %o2, %o7, %o5 | |
730 | siam 0x3 | |
731 | call loop_28 | |
732 | brgez,pt %o1, loop_29 | |
733 | edge32 %i1, %o4, %g2 | |
734 | addcc %i5, %l1, %i0 | |
735 | loop_28: | |
736 | ba,a,pt %icc, loop_30 | |
737 | loop_29: | |
738 | siam 0x2 | |
739 | subc %i7, 0x08D8, %l6 | |
740 | array32 %o3, %g7, %g5 | |
741 | loop_30: | |
742 | bneg,pn %icc, loop_31 | |
743 | siam 0x5 | |
744 | loop_31: | |
745 | nop | |
746 | ||
747 | EXIT_GOOD | |
748 | ||
749 | ||
750 | ||
751 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
752 | ! | |
753 | ! Stats for Thread 1: | |
754 | ! | |
755 | ! Type l : 17 | |
756 | ! Type x : 11 | |
757 | ! Type cti : 18 | |
758 | ! Type f : 69 | |
759 | ! Type i : 85 | |
760 | ! | |
761 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
762 | ||
763 | ! | |
764 | ! Thread 2 Start | |
765 | ! | |
766 | main_t2: | |
767 | mov %l7, %g1 | |
768 | !# Set %cwp for 8 windows | |
769 | !# This threads memory space into each %l7 | |
770 | wrpr %g0, 0x7, %cwp | |
771 | mov %g1, %l7 | |
772 | wrpr %g0, 0x6, %cwp | |
773 | mov %g1, %l7 | |
774 | wrpr %g0, 0x5, %cwp | |
775 | mov %g1, %l7 | |
776 | wrpr %g0, 0x4, %cwp | |
777 | mov %g1, %l7 | |
778 | wrpr %g0, 0x3, %cwp | |
779 | mov %g1, %l7 | |
780 | wrpr %g0, 0x2, %cwp | |
781 | mov %g1, %l7 | |
782 | wrpr %g0, 0x1, %cwp | |
783 | mov %g1, %l7 | |
784 | wrpr %g0, 0x0, %cwp | |
785 | mov %g1, %l7 | |
786 | ||
787 | !# Set %fsr | |
788 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
789 | stx %l6, [%l7 + 0x0] !# no post process | |
790 | ldx [%l7 + 0x0], %fsr !# no post process | |
791 | ||
792 | !# Initialize registers .. | |
793 | ||
794 | !# Global registers | |
795 | set 0x0, %g1 | |
796 | set 0xC, %g2 | |
797 | set 0x2, %g3 | |
798 | set 0x2, %g4 | |
799 | set 0x4, %g5 | |
800 | set 0x9, %g6 | |
801 | set 0xD, %g7 | |
802 | !# Input registers | |
803 | set -0x5, %i0 | |
804 | set -0xF, %i1 | |
805 | set -0x9, %i2 | |
806 | set -0xA, %i3 | |
807 | set -0x0, %i4 | |
808 | set -0x1, %i5 | |
809 | set -0xF, %i6 | |
810 | set -0x3, %i7 | |
811 | !# Local registers | |
812 | set 0x1D165AC8, %l0 | |
813 | set 0x7CF15BEF, %l1 | |
814 | set 0x4FD69807, %l2 | |
815 | set 0x50286738, %l3 | |
816 | set 0x2CF22337, %l4 | |
817 | set 0x29734A62, %l5 | |
818 | set 0x3717B3D8, %l6 | |
819 | !# Output registers | |
820 | set -0x1936, %o0 | |
821 | set -0x0189, %o1 | |
822 | set -0x0ABC, %o2 | |
823 | set 0x165C, %o3 | |
824 | set 0x1AF3, %o4 | |
825 | set -0x1059, %o5 | |
826 | set 0x03F7, %o6 | |
827 | set -0x0C0D, %o7 | |
828 | !# Float registers | |
829 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
830 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
831 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
832 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
833 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
834 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
835 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
836 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
837 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
838 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
839 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
840 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
841 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
842 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
843 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
844 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
845 | ||
846 | !# Execute Main Diag .. | |
847 | ||
848 | siam 0x1 | |
849 | orncc %l0, 0x1244, %o0 | |
850 | movge %xcc, 0x77F, %i4 | |
851 | siam 0x5 | |
852 | siam 0x3 | |
853 | siam 0x0 | |
854 | movgu %xcc, %l5, %l2 | |
855 | siam 0x6 | |
856 | wr %g0, 0x04, %asi | |
857 | ldsha [%l7 + 0x30] %asi, %o6 | |
858 | sdivcc %g1, 0x17CA, %i6 | |
859 | siam 0x6 | |
860 | siam 0x6 | |
861 | siam 0x7 | |
862 | array32 %g6, %i2, %g3 | |
863 | edge16l %i3, %l4, %l3 | |
864 | siam 0x1 | |
865 | siam 0x6 | |
866 | ba,a,pn %icc, loop_32 | |
867 | siam 0x4 | |
868 | tleu %xcc, 0x0 | |
869 | array32 %g4, %o7, %o2 | |
870 | loop_32: | |
871 | siam 0x1 | |
872 | tle %xcc, 0x1 | |
873 | movpos %icc, 0x339, %o5 | |
874 | siam 0x3 | |
875 | siam 0x3 | |
876 | brlz,a %o1, loop_33 | |
877 | edge16 %i1, %o4, %g2 | |
878 | brz %l1, loop_34 | |
879 | siam 0x2 | |
880 | loop_33: | |
881 | sra %i0, 0x1F, %i5 | |
882 | tleu %xcc, 0x7 | |
883 | loop_34: | |
884 | siam 0x2 | |
885 | ld [%l7 + 0x4C], %f15 | |
886 | te %xcc, 0x6 | |
887 | movl %fcc0, %l6, %o3 | |
888 | movlg %fcc2, 0x3C8, %g7 | |
889 | siam 0x1 | |
890 | siam 0x7 | |
891 | bvc,a,pn %xcc, loop_35 | |
892 | siam 0x5 | |
893 | bvs %xcc, loop_36 | |
894 | siam 0x1 | |
895 | loop_35: | |
896 | siam 0x7 | |
897 | ta %xcc, 0x0 | |
898 | loop_36: | |
899 | siam 0x4 | |
900 | nop | |
901 | set 0x08, %i3 | |
902 | ldx [%l7 + %i3], %g5 | |
903 | andncc %i7, %o0, %i4 | |
904 | siam 0x1 | |
905 | nop | |
906 | set 0x78, %o0 | |
907 | stx %l0, [%l7 + %o0] | |
908 | bgu,pn %icc, loop_37 | |
909 | be,a %icc, loop_38 | |
910 | edge8 %l5, %o6, %l2 | |
911 | siam 0x1 | |
912 | loop_37: | |
913 | sll %g1, %g6, %i2 | |
914 | loop_38: | |
915 | siam 0x2 | |
916 | tge %xcc, 0x2 | |
917 | edge8n %g3, %i3, %l4 | |
918 | be %xcc, loop_39 | |
919 | udivcc %l3, 0x05D7, %g4 | |
920 | subc %o7, 0x01D1, %o2 | |
921 | sra %i6, %o5, %i1 | |
922 | loop_39: | |
923 | tneg %icc, 0x0 | |
924 | umulcc %o1, 0x03F3, %g2 | |
925 | siam 0x0 | |
926 | andncc %l1, 0x05F1, %o4 | |
927 | orn %i0, %l6, %o3 | |
928 | fbg,pt %fcc1, loop_40 | |
929 | siam 0x4 | |
930 | flush %l7 + 0x30 | |
931 | siam 0x0 | |
932 | loop_40: | |
933 | siam 0x7 | |
934 | siam 0x6 | |
935 | saved | |
936 | rdpr %cwp, %g1 | |
937 | rdpr %cansave, %g2 | |
938 | rdpr %canrestore, %g3 | |
939 | rdpr %cleanwin, %g4 | |
940 | rdpr %otherwin, %g5 | |
941 | rdpr %wstate, %g6 | |
942 | siam 0x5 | |
943 | siam 0x1 | |
944 | sll %g7, 0x09, %g5 | |
945 | subccc %i7, 0x1F99, %i5 | |
946 | tle %icc, 0x3 | |
947 | movrlez %o0, %i4, %l5 | |
948 | edge16n %o6, %l0, %g1 | |
949 | tn %icc, 0x5 | |
950 | stbar | |
951 | nop | |
952 | set 0x4C, %o1 | |
953 | swap [%l7 + %o1], %l2 | |
954 | brnz,a %i2, loop_41 | |
955 | siam 0x1 | |
956 | siam 0x7 | |
957 | ba %xcc, loop_42 | |
958 | loop_41: | |
959 | nop | |
960 | setx loop_43, %l0, %l1 | |
961 | jmpl %l1, %g3 | |
962 | siam 0x0 | |
963 | orcc %g6, %l4, %i3 | |
964 | loop_42: | |
965 | nop | |
966 | set 0x40, %g2 | |
967 | stda %f16, [%l7 + %g2] 0xcd | |
968 | loop_43: | |
969 | siam 0x7 | |
970 | siam 0x5 | |
971 | siam 0x7 | |
972 | brnz,pt %l3, loop_44 | |
973 | subccc %o7, 0x0D19, %o2 | |
974 | fbo,a %fcc1, loop_45 | |
975 | siam 0x2 | |
976 | loop_44: | |
977 | siam 0x2 | |
978 | alignaddr %g4, %o5, %i6 | |
979 | loop_45: | |
980 | andcc %o1, %i1, %l1 | |
981 | bcc,a %icc, loop_46 | |
982 | siam 0x1 | |
983 | restored | |
984 | rdpr %cwp, %g1 | |
985 | rdpr %cansave, %g2 | |
986 | rdpr %canrestore, %g3 | |
987 | rdpr %cleanwin, %g4 | |
988 | rdpr %otherwin, %g5 | |
989 | rdpr %wstate, %g6 | |
990 | siam 0x0 | |
991 | loop_46: | |
992 | movg %fcc2, 0x766, %o4 | |
993 | siam 0x4 | |
994 | siam 0x5 | |
995 | siam 0x2 | |
996 | bmask %g2, %i0, %l6 | |
997 | siam 0x1 | |
998 | andn %g7, 0x0FBA, %g5 | |
999 | siam 0x4 | |
1000 | add %o3, 0x0EF3, %i5 | |
1001 | siam 0x4 | |
1002 | movleu %icc, %o0, %i7 | |
1003 | tcc %icc, 0x2 | |
1004 | xorcc %l5, %o6, %l0 | |
1005 | siam 0x0 | |
1006 | siam 0x5 | |
1007 | edge16n %g1, %l2, %i2 | |
1008 | bvs,a,pt %xcc, loop_47 | |
1009 | tl %xcc, 0x7 | |
1010 | andncc %g3, 0x07AA, %i4 | |
1011 | siam 0x3 | |
1012 | loop_47: | |
1013 | subcc %l4, %i3, %g6 | |
1014 | siam 0x2 | |
1015 | siam 0x4 | |
1016 | siam 0x0 | |
1017 | siam 0x1 | |
1018 | sethi 0x11FB, %o7 | |
1019 | movlg %fcc0, 0x624, %o2 | |
1020 | bg %xcc, loop_48 | |
1021 | sub %g4, %l3, %i6 | |
1022 | siam 0x4 | |
1023 | edge8l %o5, %o1, %i1 | |
1024 | loop_48: | |
1025 | tvs %icc, 0x7 | |
1026 | ldx [%l7 + 0x68], %o4 | |
1027 | siam 0x0 | |
1028 | siam 0x7 | |
1029 | orncc %l1, 0x1B3C, %g2 | |
1030 | movue %fcc2, 0x0B1, %i0 | |
1031 | sir 0x014E | |
1032 | siam 0x7 | |
1033 | siam 0x0 | |
1034 | flushw | |
1035 | siam 0x4 | |
1036 | siam 0x2 | |
1037 | edge16n %g7, %l6, %o3 | |
1038 | siam 0x0 | |
1039 | siam 0x0 | |
1040 | subc %i5, %o0, %g5 | |
1041 | movrgz %i7, 0x110, %o6 | |
1042 | stx %fsr, [%l7 + 0x78] | |
1043 | siam 0x0 | |
1044 | sethi 0x08B3, %l5 | |
1045 | siam 0x0 | |
1046 | tvs %icc, 0x2 | |
1047 | addccc %l0, 0x0F59, %l2 | |
1048 | st %fsr, [%l7 + 0x18] | |
1049 | siam 0x6 | |
1050 | tsubcctv %i2, %g1, %g3 | |
1051 | siam 0x2 | |
1052 | siam 0x2 | |
1053 | fbn,a,pn %fcc3, loop_49 | |
1054 | edge16 %i4, %i3, %g6 | |
1055 | tle %xcc, 0x3 | |
1056 | tvc %xcc, 0x6 | |
1057 | loop_49: | |
1058 | siam 0x6 | |
1059 | udivx %l4, 0x0359, %o7 | |
1060 | std %g4, [%l7 + 0x68] | |
1061 | set 0x40, %l3 | |
1062 | stha %l3, [%l7 + %l3] 0xea | |
1063 | membar #Sync | |
1064 | tne %xcc, 0x3 | |
1065 | siam 0x5 | |
1066 | add %i6, %o5, %o1 | |
1067 | movleu %icc, 0x565, %o2 | |
1068 | siam 0x7 | |
1069 | sdivx %i1, 0x1F34, %o4 | |
1070 | siam 0x6 | |
1071 | siam 0x1 | |
1072 | movneg %icc, 0x030, %l1 | |
1073 | membar 0x5C | |
1074 | bvc,a %xcc, loop_50 | |
1075 | edge8n %i0, %g2, %g7 | |
1076 | ldsw [%l7 + 0x54], %l6 | |
1077 | edge8ln %i5, %o3, %o0 | |
1078 | loop_50: | |
1079 | movlg %fcc3, %g5, %i7 | |
1080 | siam 0x6 | |
1081 | movrne %o6, 0x038, %l5 | |
1082 | siam 0x5 | |
1083 | movne %fcc3, 0x291, %l0 | |
1084 | siam 0x0 | |
1085 | siam 0x4 | |
1086 | movpos %xcc, %i2, %g1 | |
1087 | siam 0x1 | |
1088 | fbe,a %fcc2, loop_51 | |
1089 | loop_51: | |
1090 | nop | |
1091 | ||
1092 | EXIT_GOOD | |
1093 | ||
1094 | ||
1095 | ||
1096 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1097 | ! | |
1098 | ! Stats for Thread 2: | |
1099 | ! | |
1100 | ! Type l : 14 | |
1101 | ! Type cti : 20 | |
1102 | ! Type x : 3 | |
1103 | ! Type f : 79 | |
1104 | ! Type i : 84 | |
1105 | ! | |
1106 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1107 | ||
1108 | ! | |
1109 | ! Thread 3 Start | |
1110 | ! | |
1111 | main_t3: | |
1112 | mov %l7, %g1 | |
1113 | !# Set %cwp for 8 windows | |
1114 | !# This threads memory space into each %l7 | |
1115 | wrpr %g0, 0x7, %cwp | |
1116 | mov %g1, %l7 | |
1117 | wrpr %g0, 0x6, %cwp | |
1118 | mov %g1, %l7 | |
1119 | wrpr %g0, 0x5, %cwp | |
1120 | mov %g1, %l7 | |
1121 | wrpr %g0, 0x4, %cwp | |
1122 | mov %g1, %l7 | |
1123 | wrpr %g0, 0x3, %cwp | |
1124 | mov %g1, %l7 | |
1125 | wrpr %g0, 0x2, %cwp | |
1126 | mov %g1, %l7 | |
1127 | wrpr %g0, 0x1, %cwp | |
1128 | mov %g1, %l7 | |
1129 | wrpr %g0, 0x0, %cwp | |
1130 | mov %g1, %l7 | |
1131 | ||
1132 | !# Set %fsr | |
1133 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
1134 | stx %l6, [%l7 + 0x0] !# no post process | |
1135 | ldx [%l7 + 0x0], %fsr !# no post process | |
1136 | ||
1137 | !# Initialize registers .. | |
1138 | ||
1139 | !# Global registers | |
1140 | set 0xA, %g1 | |
1141 | set 0xE, %g2 | |
1142 | set 0x4, %g3 | |
1143 | set 0xD, %g4 | |
1144 | set 0xA, %g5 | |
1145 | set 0xE, %g6 | |
1146 | set 0x5, %g7 | |
1147 | !# Input registers | |
1148 | set -0x3, %i0 | |
1149 | set -0x9, %i1 | |
1150 | set -0x9, %i2 | |
1151 | set -0x3, %i3 | |
1152 | set -0x6, %i4 | |
1153 | set -0x4, %i5 | |
1154 | set -0xA, %i6 | |
1155 | set -0x1, %i7 | |
1156 | !# Local registers | |
1157 | set 0x2767527B, %l0 | |
1158 | set 0x0B1A9E99, %l1 | |
1159 | set 0x548E2701, %l2 | |
1160 | set 0x7C392080, %l3 | |
1161 | set 0x45B21112, %l4 | |
1162 | set 0x25C4AA7C, %l5 | |
1163 | set 0x25F95F7F, %l6 | |
1164 | !# Output registers | |
1165 | set 0x12A7, %o0 | |
1166 | set -0x0C3E, %o1 | |
1167 | set 0x1A33, %o2 | |
1168 | set 0x08D6, %o3 | |
1169 | set 0x0EDA, %o4 | |
1170 | set -0x0E23, %o5 | |
1171 | set 0x1D42, %o6 | |
1172 | set 0x0333, %o7 | |
1173 | !# Float registers | |
1174 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
1175 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
1176 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
1177 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
1178 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
1179 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
1180 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
1181 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
1182 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
1183 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
1184 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
1185 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
1186 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
1187 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
1188 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
1189 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
1190 | ||
1191 | !# Execute Main Diag .. | |
1192 | ||
1193 | siam 0x6 | |
1194 | sir 0x0BFB | |
1195 | siam 0x7 | |
1196 | siam 0x5 | |
1197 | membar 0x43 | |
1198 | siam 0x3 | |
1199 | siam 0x1 | |
1200 | siam 0x5 | |
1201 | siam 0x7 | |
1202 | bn,a,pn %xcc, loop_52 | |
1203 | siam 0x4 | |
1204 | or %g3, 0x18CF, %i4 | |
1205 | sll %i3, 0x13, %l2 | |
1206 | loop_52: | |
1207 | std %l4, [%l7 + 0x20] | |
1208 | andncc %o7, %g6, %g4 | |
1209 | siam 0x1 | |
1210 | movo %fcc0, 0x694, %i6 | |
1211 | orn %l3, 0x0362, %o5 | |
1212 | siam 0x6 | |
1213 | siam 0x6 | |
1214 | fble,pt %fcc0, loop_53 | |
1215 | siam 0x2 | |
1216 | siam 0x4 | |
1217 | movug %fcc1, 0x714, %o1 | |
1218 | loop_53: | |
1219 | andncc %o2, 0x0A8C, %o4 | |
1220 | and %i1, %l1, %g2 | |
1221 | movgu %xcc, %g7, %l6 | |
1222 | siam 0x6 | |
1223 | siam 0x3 | |
1224 | smul %i5, 0x07E3, %o3 | |
1225 | fbo,a,pt %fcc2, loop_54 | |
1226 | bmask %i0, %o0, %g5 | |
1227 | popc %o6, %l5 | |
1228 | movrlez %l0, %i7, %i2 | |
1229 | loop_54: | |
1230 | fba,pn %fcc0, loop_55 | |
1231 | siam 0x7 | |
1232 | saved | |
1233 | rdpr %cwp, %g1 | |
1234 | rdpr %cansave, %g2 | |
1235 | rdpr %canrestore, %g3 | |
1236 | rdpr %cleanwin, %g4 | |
1237 | rdpr %otherwin, %g5 | |
1238 | rdpr %wstate, %g6 | |
1239 | siam 0x3 | |
1240 | loop_55: | |
1241 | bl,a,pt %icc, loop_56 | |
1242 | siam 0x1 | |
1243 | siam 0x1 | |
1244 | bg,a %xcc, loop_57 | |
1245 | loop_56: | |
1246 | siam 0x7 | |
1247 | edge32 %g1, %g3, %i3 | |
1248 | subccc %l2, 0x012A, %i4 | |
1249 | loop_57: | |
1250 | siam 0x6 | |
1251 | movcc %icc, 0x6A1, %o7 | |
1252 | siam 0x4 | |
1253 | siam 0x0 | |
1254 | array16 %l4, %g6, %i6 | |
1255 | siam 0x4 | |
1256 | sethi 0x1732, %g4 | |
1257 | siam 0x5 | |
1258 | siam 0x3 | |
1259 | bcs %xcc, loop_58 | |
1260 | edge32n %o5, %l3, %o1 | |
1261 | movre %o2, %i1, %o4 | |
1262 | taddcctv %l1, 0x1E54, %g7 | |
1263 | loop_58: | |
1264 | siam 0x2 | |
1265 | siam 0x6 | |
1266 | set 0x20, %g5 | |
1267 | prefetcha [%l7 + %g5] 0x81, 3 | |
1268 | edge32 %i5, %o3, %g2 | |
1269 | nop | |
1270 | set 0x21, %i5 | |
1271 | ldub [%l7 + %i5], %i0 | |
1272 | siam 0x2 | |
1273 | siam 0x3 | |
1274 | tn %icc, 0x4 | |
1275 | tvs %icc, 0x0 | |
1276 | movg %icc, %o0, %g5 | |
1277 | nop | |
1278 | setx 0xF08272939D30257C, %l0, %l6 | |
1279 | stx %l6, [%l7 + 0x68] | |
1280 | ldx [%l7 + 0x68], %fsr | |
1281 | flushw | |
1282 | orn %o6, %l0, %l5 | |
1283 | wr %g0, 0xeb, %asi | |
1284 | stxa %i2, [%l7 + 0x58] %asi | |
1285 | membar #Sync | |
1286 | siam 0x5 | |
1287 | wr %g0, 0x04, %asi | |
1288 | lduwa [%l7 + 0x58] %asi, %i7 | |
1289 | siam 0x4 | |
1290 | siam 0x4 | |
1291 | siam 0x6 | |
1292 | siam 0x7 | |
1293 | edge8 %g1, %g3, %l2 | |
1294 | fbe %fcc0, loop_59 | |
1295 | siam 0x0 | |
1296 | flushw | |
1297 | movrgez %i3, %o7, %i4 | |
1298 | loop_59: | |
1299 | siam 0x3 | |
1300 | nop | |
1301 | setx 0x714A76DF, %l0, %l6 | |
1302 | st %l6, [%l7 + 0x40] | |
1303 | ld [%l7 + 0x40], %fsr | |
1304 | xnorcc %l4, %g6, %g4 | |
1305 | bcs,pt %icc, loop_60 | |
1306 | siam 0x3 | |
1307 | siam 0x7 | |
1308 | fbuge %fcc1, loop_61 | |
1309 | loop_60: | |
1310 | movpos %xcc, 0x652, %o5 | |
1311 | udivx %i6, 0x07E4, %o1 | |
1312 | andn %o2, %l3, %o4 | |
1313 | loop_61: | |
1314 | siam 0x1 | |
1315 | bgu %xcc, loop_62 | |
1316 | add %i1, 0x10D2, %l1 | |
1317 | edge32 %g7, %i5, %o3 | |
1318 | array8 %l6, %g2, %o0 | |
1319 | loop_62: | |
1320 | umul %g5, %o6, %i0 | |
1321 | siam 0x7 | |
1322 | siam 0x4 | |
1323 | siam 0x4 | |
1324 | fba,a,pn %fcc3, loop_63 | |
1325 | lduh [%l7 + 0x36], %l0 | |
1326 | sethi 0x0D2A, %i2 | |
1327 | siam 0x2 | |
1328 | loop_63: | |
1329 | st %fsr, [%l7 + 0x30] | |
1330 | swap [%l7 + 0x50], %l5 | |
1331 | nop | |
1332 | set 0x58, %l1 | |
1333 | prefetch [%l7 + %l1], 4 | |
1334 | tgu %icc, 0x0 | |
1335 | siam 0x6 | |
1336 | nop | |
1337 | setx loop_64, %l0, %l1 | |
1338 | jmpl %l1, %g1 | |
1339 | siam 0x7 | |
1340 | nop | |
1341 | set 0x48, %l0 | |
1342 | ldsh [%l7 + %l0], %g3 | |
1343 | membar 0x37 | |
1344 | loop_64: | |
1345 | tle %xcc, 0x6 | |
1346 | siam 0x7 | |
1347 | movre %l2, 0x120, %i3 | |
1348 | bpos,a,pt %xcc, loop_65 | |
1349 | siam 0x0 | |
1350 | siam 0x0 | |
1351 | siam 0x7 | |
1352 | loop_65: | |
1353 | ba,pt %xcc, loop_66 | |
1354 | add %o7, %i7, %l4 | |
1355 | siam 0x2 | |
1356 | addcc %g6, 0x03E2, %i4 | |
1357 | loop_66: | |
1358 | subccc %o5, %g4, %o1 | |
1359 | fbu %fcc1, loop_67 | |
1360 | fbuge,a,pt %fcc3, loop_68 | |
1361 | fbge,a,pt %fcc2, loop_69 | |
1362 | array16 %o2, %l3, %o4 | |
1363 | loop_67: | |
1364 | movuge %fcc3, 0x3F6, %i6 | |
1365 | loop_68: | |
1366 | bge %xcc, loop_70 | |
1367 | loop_69: | |
1368 | siam 0x2 | |
1369 | movrgez %i1, 0x067, %l1 | |
1370 | siam 0x2 | |
1371 | loop_70: | |
1372 | andcc %g7, 0x1483, %o3 | |
1373 | siam 0x1 | |
1374 | siam 0x6 | |
1375 | siam 0x2 | |
1376 | tpos %icc, 0x7 | |
1377 | siam 0x3 | |
1378 | edge32ln %i5, %l6, %g2 | |
1379 | siam 0x4 | |
1380 | siam 0x3 | |
1381 | siam 0x2 | |
1382 | alignaddrl %o0, %o6, %g5 | |
1383 | siam 0x1 | |
1384 | siam 0x6 | |
1385 | tcc %icc, 0x5 | |
1386 | siam 0x5 | |
1387 | movg %fcc0, %l0, %i0 | |
1388 | sub %i2, %g1, %g3 | |
1389 | bcs %icc, loop_71 | |
1390 | siam 0x2 | |
1391 | srax %l5, 0x18, %i3 | |
1392 | sethi 0x09F3, %o7 | |
1393 | loop_71: | |
1394 | fbn %fcc2, loop_72 | |
1395 | siam 0x7 | |
1396 | siam 0x5 | |
1397 | siam 0x1 | |
1398 | loop_72: | |
1399 | nop | |
1400 | setx 0x0E13, %l0, %l2 | |
1401 | sdivx %i7, %l2, %g6 | |
1402 | siam 0x6 | |
1403 | siam 0x4 | |
1404 | siam 0x6 | |
1405 | bpos,a,pt %icc, loop_73 | |
1406 | siam 0x2 | |
1407 | movgu %xcc, 0x468, %i4 | |
1408 | restored | |
1409 | rdpr %cwp, %g1 | |
1410 | rdpr %cansave, %g2 | |
1411 | rdpr %canrestore, %g3 | |
1412 | rdpr %cleanwin, %g4 | |
1413 | rdpr %otherwin, %g5 | |
1414 | rdpr %wstate, %g6 | |
1415 | loop_73: | |
1416 | alignaddrl %l4, %g4, %o5 | |
1417 | popc %o2, %o1 | |
1418 | movcs %xcc, 0x608, %l3 | |
1419 | siam 0x5 | |
1420 | sdiv %o4, 0x080A, %i6 | |
1421 | ba %xcc, loop_74 | |
1422 | movl %xcc, 0x2E3, %i1 | |
1423 | wr %g0, 0x2c, %asi | |
1424 | ldda [%l7 + 0x70] %asi, %g6 | |
1425 | loop_74: | |
1426 | siam 0x2 | |
1427 | siam 0x7 | |
1428 | siam 0x1 | |
1429 | fbn,pn %fcc3, loop_75 | |
1430 | edge16n %l1, %o3, %i5 | |
1431 | siam 0x5 | |
1432 | brlz,a,pt %l6, loop_76 | |
1433 | loop_75: | |
1434 | bmask %g2, %o0, %g5 | |
1435 | nop | |
1436 | set 0x56, %l6 | |
1437 | ldstub [%l7 + %l6], %l0 | |
1438 | sir 0x0922 | |
1439 | loop_76: | |
1440 | movue %fcc2, 0x458, %o6 | |
1441 | siam 0x5 | |
1442 | sdiv %i2, 0x1C1B, %g1 | |
1443 | fbl %fcc3, loop_77 | |
1444 | movrgez %g3, %l5, %i3 | |
1445 | siam 0x0 | |
1446 | st %f19, [%l7 + 0x3C] | |
1447 | loop_77: | |
1448 | tsubcctv %i0, %o7, %l2 | |
1449 | sdiv %g6, 0x0DC6, %i7 | |
1450 | EXIT_GOOD | |
1451 | ||
1452 | ||
1453 | ||
1454 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1455 | ! | |
1456 | ! Stats for Thread 3: | |
1457 | ! | |
1458 | ! Type l : 15 | |
1459 | ! Type x : 4 | |
1460 | ! Type cti : 26 | |
1461 | ! Type f : 78 | |
1462 | ! Type i : 77 | |
1463 | ! | |
1464 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1465 | ||
1466 | ! | |
1467 | ! Thread 4 Start | |
1468 | ! | |
1469 | main_t4: | |
1470 | mov %l7, %g1 | |
1471 | !# Set %cwp for 8 windows | |
1472 | !# This threads memory space into each %l7 | |
1473 | wrpr %g0, 0x7, %cwp | |
1474 | mov %g1, %l7 | |
1475 | wrpr %g0, 0x6, %cwp | |
1476 | mov %g1, %l7 | |
1477 | wrpr %g0, 0x5, %cwp | |
1478 | mov %g1, %l7 | |
1479 | wrpr %g0, 0x4, %cwp | |
1480 | mov %g1, %l7 | |
1481 | wrpr %g0, 0x3, %cwp | |
1482 | mov %g1, %l7 | |
1483 | wrpr %g0, 0x2, %cwp | |
1484 | mov %g1, %l7 | |
1485 | wrpr %g0, 0x1, %cwp | |
1486 | mov %g1, %l7 | |
1487 | wrpr %g0, 0x0, %cwp | |
1488 | mov %g1, %l7 | |
1489 | ||
1490 | !# Set %fsr | |
1491 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
1492 | stx %l6, [%l7 + 0x0] !# no post process | |
1493 | ldx [%l7 + 0x0], %fsr !# no post process | |
1494 | ||
1495 | !# Initialize registers .. | |
1496 | ||
1497 | !# Global registers | |
1498 | set 0xA, %g1 | |
1499 | set 0x8, %g2 | |
1500 | set 0x6, %g3 | |
1501 | set 0xF, %g4 | |
1502 | set 0xA, %g5 | |
1503 | set 0x7, %g6 | |
1504 | set 0xD, %g7 | |
1505 | !# Input registers | |
1506 | set -0x1, %i0 | |
1507 | set -0x2, %i1 | |
1508 | set -0xC, %i2 | |
1509 | set -0x2, %i3 | |
1510 | set -0x4, %i4 | |
1511 | set -0x9, %i5 | |
1512 | set -0x2, %i6 | |
1513 | set -0x3, %i7 | |
1514 | !# Local registers | |
1515 | set 0x0FEBB093, %l0 | |
1516 | set 0x61C9C8C2, %l1 | |
1517 | set 0x7E672984, %l2 | |
1518 | set 0x40D95741, %l3 | |
1519 | set 0x5255560D, %l4 | |
1520 | set 0x783ED651, %l5 | |
1521 | set 0x609583A5, %l6 | |
1522 | !# Output registers | |
1523 | set 0x08BF, %o0 | |
1524 | set 0x1503, %o1 | |
1525 | set -0x1A05, %o2 | |
1526 | set -0x0033, %o3 | |
1527 | set -0x1E86, %o4 | |
1528 | set -0x1E1C, %o5 | |
1529 | set 0x06E9, %o6 | |
1530 | set -0x1764, %o7 | |
1531 | !# Float registers | |
1532 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
1533 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
1534 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
1535 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
1536 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
1537 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
1538 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
1539 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
1540 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
1541 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
1542 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
1543 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
1544 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
1545 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
1546 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
1547 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
1548 | ||
1549 | !# Execute Main Diag .. | |
1550 | ||
1551 | movn %icc, %i4, %l4 | |
1552 | siam 0x7 | |
1553 | flushw | |
1554 | siam 0x2 | |
1555 | siam 0x7 | |
1556 | fblg %fcc3, loop_78 | |
1557 | siam 0x7 | |
1558 | mulx %g4, %o2, %o5 | |
1559 | siam 0x6 | |
1560 | loop_78: | |
1561 | brlez,a,pn %l3, loop_79 | |
1562 | array8 %o1, %i6, %i1 | |
1563 | fba %fcc0, loop_80 | |
1564 | tpos %xcc, 0x7 | |
1565 | loop_79: | |
1566 | siam 0x3 | |
1567 | tge %icc, 0x1 | |
1568 | loop_80: | |
1569 | tle %xcc, 0x7 | |
1570 | taddcc %o4, %g7, %l1 | |
1571 | tgu %xcc, 0x1 | |
1572 | siam 0x7 | |
1573 | saved | |
1574 | rdpr %cwp, %g1 | |
1575 | rdpr %cansave, %g2 | |
1576 | rdpr %canrestore, %g3 | |
1577 | rdpr %cleanwin, %g4 | |
1578 | rdpr %otherwin, %g5 | |
1579 | rdpr %wstate, %g6 | |
1580 | siam 0x2 | |
1581 | movvs %icc, %o3, %l6 | |
1582 | addc %i5, %o0, %g5 | |
1583 | siam 0x6 | |
1584 | flushw | |
1585 | siam 0x1 | |
1586 | siam 0x6 | |
1587 | mulx %g2, %o6, %i2 | |
1588 | nop | |
1589 | setx loop_81, %l0, %l1 | |
1590 | wrpr 0x1, %tl | |
1591 | wrpr %l1, %tnpc | |
1592 | setx 0x021400001407, %l0, %l1 | |
1593 | wrpr %l1, %tstate | |
1594 | wrhpr 0x4, %htstate | |
1595 | rdpr %tt, %l1 | |
1596 | wrpr %g0, %l1, %tt | |
1597 | rdpr %pstate, %l1 | |
1598 | wrpr %g0, %l1, %pstate | |
1599 | rdpr %tl, %l1 | |
1600 | wrpr %g0, %l1, %tl | |
1601 | rdpr %tpc, %l1 | |
1602 | wrpr %g0, %l1, %tpc | |
1603 | rdpr %tnpc, %l1 | |
1604 | wrpr %g0, %l1, %tnpc | |
1605 | rdpr %tstate, %l1 | |
1606 | wrpr %g0, %l1, %tstate | |
1607 | rdpr %tba, %l1 | |
1608 | wrpr %g0, %l1, %tba | |
1609 | rdpr %tba, %l1 | |
1610 | wrpr %g0, %l1, %tba | |
1611 | rdhpr %hpstate, %l1 | |
1612 | wrhpr %g0, %l1, %hpstate | |
1613 | rdhpr %htstate, %l1 | |
1614 | wrhpr %g0, %l1, %htstate | |
1615 | rdhpr %hintp, %l1 | |
1616 | wrhpr %g0, %l1, %hintp | |
1617 | done | |
1618 | siam 0x5 | |
1619 | fbuge,pt %fcc2, loop_82 | |
1620 | movcs %icc, 0x1CF, %g1 | |
1621 | loop_81: | |
1622 | nop | |
1623 | setx loop_83, %l0, %l1 | |
1624 | wrpr 0x1, %tl | |
1625 | wrpr %l1, %tpc | |
1626 | add %l1, 0x4, %l1 | |
1627 | wrpr %l1, %tnpc | |
1628 | setx 0x034100001405, %l0, %l1 | |
1629 | wrpr %l1, %tstate | |
1630 | wrhpr 0x4, %htstate | |
1631 | retry | |
1632 | siam 0x7 | |
1633 | loop_82: | |
1634 | nop | |
1635 | set 0x20, %i1 | |
1636 | ldd [%l7 + %i1], %g2 | |
1637 | te %icc, 0x2 | |
1638 | loop_83: | |
1639 | siam 0x3 | |
1640 | siam 0x1 | |
1641 | wr %g0, 0x04, %asi | |
1642 | ldsba [%l7 + 0x26] %asi, %l0 | |
1643 | movrlez %l5, 0x26F, %i0 | |
1644 | edge16n %o7, %l2, %g6 | |
1645 | siam 0x1 | |
1646 | tsubcctv %i7, 0x07C1, %i4 | |
1647 | tcc %xcc, 0x7 | |
1648 | movvc %xcc, 0x072, %i3 | |
1649 | siam 0x6 | |
1650 | movge %fcc2, %l4, %o2 | |
1651 | andcc %o5, %l3, %o1 | |
1652 | siam 0x0 | |
1653 | siam 0x2 | |
1654 | siam 0x4 | |
1655 | siam 0x0 | |
1656 | nop | |
1657 | set 0x08, %o2 | |
1658 | stx %i6, [%l7 + %o2] | |
1659 | nop | |
1660 | setx loop_84, %l0, %l1 | |
1661 | jmpl %l1, %i1 | |
1662 | movcc %xcc, 0x2E9, %o4 | |
1663 | nop | |
1664 | set 0x1E, %l2 | |
1665 | lduh [%l7 + %l2], %g7 | |
1666 | movlg %fcc2, %g4, %l1 | |
1667 | loop_84: | |
1668 | edge8l %o3, %l6, %o0 | |
1669 | alignaddrl %i5, %g5, %o6 | |
1670 | movge %xcc, 0x68A, %g2 | |
1671 | sethi 0x1017, %i2 | |
1672 | set 0x38, %l5 | |
1673 | stda %g0, [%l7 + %l5] 0x2f | |
1674 | membar #Sync | |
1675 | siam 0x5 | |
1676 | nop | |
1677 | setx 0x15E1, %l0, %g3 | |
1678 | udivx %l0, %g3, %l5 | |
1679 | array16 %o7, %l2, %i0 | |
1680 | tsubcc %g6, 0x1870, %i7 | |
1681 | tn %xcc, 0x2 | |
1682 | siam 0x4 | |
1683 | ldx [%l7 + 0x20], %i3 | |
1684 | mova %icc, %i4, %l4 | |
1685 | edge16ln %o2, %l3, %o5 | |
1686 | siam 0x2 | |
1687 | movge %fcc1, 0x735, %i6 | |
1688 | siam 0x2 | |
1689 | nop | |
1690 | set 0x68, %i2 | |
1691 | stx %fsr, [%l7 + %i2] | |
1692 | movn %icc, 0x60E, %i1 | |
1693 | siam 0x2 | |
1694 | siam 0x6 | |
1695 | wr %g0, 0x04, %asi | |
1696 | lduba [%l7 + 0x6A] %asi, %o1 | |
1697 | srlx %o4, %g7, %g4 | |
1698 | addcc %o3, %l1, %o0 | |
1699 | xor %i5, 0x01D9, %l6 | |
1700 | siam 0x2 | |
1701 | nop | |
1702 | set 0x5C, %o6 | |
1703 | ldstub [%l7 + %o6], %g5 | |
1704 | movug %fcc0, 0x331, %g2 | |
1705 | siam 0x1 | |
1706 | edge16 %i2, %g1, %o6 | |
1707 | andncc %l0, %g3, %o7 | |
1708 | edge16 %l2, %i0, %g6 | |
1709 | siam 0x5 | |
1710 | siam 0x3 | |
1711 | bvs,a,pn %xcc, loop_85 | |
1712 | siam 0x4 | |
1713 | movre %l5, %i7, %i3 | |
1714 | siam 0x6 | |
1715 | loop_85: | |
1716 | movrgez %l4, %i4, %o2 | |
1717 | siam 0x1 | |
1718 | siam 0x3 | |
1719 | siam 0x7 | |
1720 | sethi 0x0E06, %o5 | |
1721 | std %f0, [%l7 + 0x70] | |
1722 | tpos %xcc, 0x0 | |
1723 | movle %icc, %l3, %i1 | |
1724 | siam 0x6 | |
1725 | siam 0x5 | |
1726 | movleu %icc, %i6, %o1 | |
1727 | bgu,a,pt %icc, loop_86 | |
1728 | siam 0x1 | |
1729 | edge8 %g7, %o4, %o3 | |
1730 | movge %fcc1, 0x34A, %l1 | |
1731 | loop_86: | |
1732 | siam 0x2 | |
1733 | siam 0x6 | |
1734 | fbul,a %fcc0, loop_87 | |
1735 | siam 0x1 | |
1736 | siam 0x1 | |
1737 | siam 0x5 | |
1738 | loop_87: | |
1739 | movre %o0, 0x159, %i5 | |
1740 | siam 0x3 | |
1741 | nop | |
1742 | setx 0x0407, %l0, %g5 | |
1743 | udivx %g4, %g5, %g2 | |
1744 | siam 0x2 | |
1745 | siam 0x0 | |
1746 | subccc %l6, %g1, %i2 | |
1747 | sdivx %l0, 0x172D, %g3 | |
1748 | xnor %o7, %o6, %l2 | |
1749 | tvs %xcc, 0x3 | |
1750 | siam 0x4 | |
1751 | smulcc %i0, 0x1894, %l5 | |
1752 | sllx %i7, %i3, %l4 | |
1753 | tvc %xcc, 0x0 | |
1754 | umulcc %g6, 0x113F, %i4 | |
1755 | siam 0x6 | |
1756 | siam 0x2 | |
1757 | tvc %icc, 0x0 | |
1758 | movle %xcc, %o2, %l3 | |
1759 | orncc %o5, 0x1315, %i1 | |
1760 | siam 0x3 | |
1761 | mulx %o1, %i6, %g7 | |
1762 | siam 0x7 | |
1763 | siam 0x5 | |
1764 | tcc %xcc, 0x5 | |
1765 | siam 0x6 | |
1766 | siam 0x7 | |
1767 | movcs %xcc, %o4, %o3 | |
1768 | bcc %xcc, loop_88 | |
1769 | bne,pt %xcc, loop_89 | |
1770 | siam 0x6 | |
1771 | siam 0x1 | |
1772 | loop_88: | |
1773 | alignaddrl %o0, %l1, %g4 | |
1774 | loop_89: | |
1775 | movl %xcc, 0x3CF, %g5 | |
1776 | siam 0x6 | |
1777 | set 0x40, %g4 | |
1778 | swapa [%l7 + %g4] 0x81, %g2 | |
1779 | addc %l6, 0x15B6, %g1 | |
1780 | brz,pn %i5, loop_90 | |
1781 | siam 0x3 | |
1782 | andncc %l0, %i2, %g3 | |
1783 | sub %o7, %o6, %i0 | |
1784 | loop_90: | |
1785 | edge32ln %l2, %l5, %i3 | |
1786 | edge32n %l4, %g6, %i7 | |
1787 | siam 0x2 | |
1788 | siam 0x6 | |
1789 | movvc %icc, 0x33D, %o2 | |
1790 | siam 0x6 | |
1791 | saved | |
1792 | rdpr %cwp, %g1 | |
1793 | rdpr %cansave, %g2 | |
1794 | rdpr %canrestore, %g3 | |
1795 | rdpr %cleanwin, %g4 | |
1796 | rdpr %otherwin, %g5 | |
1797 | rdpr %wstate, %g6 | |
1798 | siam 0x1 | |
1799 | tcc %icc, 0x2 | |
1800 | siam 0x3 | |
1801 | smulcc %i4, 0x0B8C, %o5 | |
1802 | siam 0x7 | |
1803 | siam 0x3 | |
1804 | subc %l3, 0x141D, %o1 | |
1805 | siam 0x1 | |
1806 | siam 0x7 | |
1807 | nop | |
1808 | set 0x40, %i0 | |
1809 | std %i6, [%l7 + %i0] | |
1810 | siam 0x3 | |
1811 | siam 0x0 | |
1812 | nop | |
1813 | setx 0x0BE6, %l0, %i1 | |
1814 | udiv %g7, %i1, %o3 | |
1815 | siam 0x0 | |
1816 | sub %o4, 0x03F3, %l1 | |
1817 | flushw | |
1818 | xnor %o0, %g4, %g2 | |
1819 | siam 0x1 | |
1820 | fbge,a %fcc3, loop_91 | |
1821 | nop | |
1822 | setx 0x1E29CBB6, %l0, %l6 | |
1823 | st %l6, [%l7 + 0x28] | |
1824 | ld [%l7 + 0x28], %fsr | |
1825 | movg %xcc, %g5, %g1 | |
1826 | siam 0x0 | |
1827 | loop_91: | |
1828 | movvs %icc, 0x753, %i5 | |
1829 | siam 0x3 | |
1830 | siam 0x1 | |
1831 | te %xcc, 0x0 | |
1832 | siam 0x3 | |
1833 | siam 0x1 | |
1834 | tpos %icc, 0x6 | |
1835 | edge16n %l6, %l0, %i2 | |
1836 | siam 0x6 | |
1837 | siam 0x4 | |
1838 | siam 0x2 | |
1839 | EXIT_GOOD | |
1840 | ||
1841 | ||
1842 | ||
1843 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1844 | ! | |
1845 | ! Stats for Thread 4: | |
1846 | ! | |
1847 | ! Type l : 13 | |
1848 | ! Type x : 4 | |
1849 | ! Type cti : 14 | |
1850 | ! Type f : 80 | |
1851 | ! Type i : 89 | |
1852 | ! | |
1853 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
1854 | ||
1855 | ! | |
1856 | ! Thread 5 Start | |
1857 | ! | |
1858 | main_t5: | |
1859 | mov %l7, %g1 | |
1860 | !# Set %cwp for 8 windows | |
1861 | !# This threads memory space into each %l7 | |
1862 | wrpr %g0, 0x7, %cwp | |
1863 | mov %g1, %l7 | |
1864 | wrpr %g0, 0x6, %cwp | |
1865 | mov %g1, %l7 | |
1866 | wrpr %g0, 0x5, %cwp | |
1867 | mov %g1, %l7 | |
1868 | wrpr %g0, 0x4, %cwp | |
1869 | mov %g1, %l7 | |
1870 | wrpr %g0, 0x3, %cwp | |
1871 | mov %g1, %l7 | |
1872 | wrpr %g0, 0x2, %cwp | |
1873 | mov %g1, %l7 | |
1874 | wrpr %g0, 0x1, %cwp | |
1875 | mov %g1, %l7 | |
1876 | wrpr %g0, 0x0, %cwp | |
1877 | mov %g1, %l7 | |
1878 | ||
1879 | !# Set %fsr | |
1880 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
1881 | stx %l6, [%l7 + 0x0] !# no post process | |
1882 | ldx [%l7 + 0x0], %fsr !# no post process | |
1883 | ||
1884 | !# Initialize registers .. | |
1885 | ||
1886 | !# Global registers | |
1887 | set 0xD, %g1 | |
1888 | set 0xF, %g2 | |
1889 | set 0xC, %g3 | |
1890 | set 0xC, %g4 | |
1891 | set 0x4, %g5 | |
1892 | set 0x7, %g6 | |
1893 | set 0x8, %g7 | |
1894 | !# Input registers | |
1895 | set -0x2, %i0 | |
1896 | set -0x8, %i1 | |
1897 | set -0x2, %i2 | |
1898 | set -0x4, %i3 | |
1899 | set -0x3, %i4 | |
1900 | set -0x2, %i5 | |
1901 | set -0xB, %i6 | |
1902 | set -0xC, %i7 | |
1903 | !# Local registers | |
1904 | set 0x02A4B6C0, %l0 | |
1905 | set 0x30F1F9C4, %l1 | |
1906 | set 0x585ADDFA, %l2 | |
1907 | set 0x19322758, %l3 | |
1908 | set 0x4823D7C1, %l4 | |
1909 | set 0x77780BFD, %l5 | |
1910 | set 0x61D40055, %l6 | |
1911 | !# Output registers | |
1912 | set 0x1146, %o0 | |
1913 | set 0x118A, %o1 | |
1914 | set 0x020E, %o2 | |
1915 | set 0x1F13, %o3 | |
1916 | set -0x1CDA, %o4 | |
1917 | set -0x11ED, %o5 | |
1918 | set -0x1C8D, %o6 | |
1919 | set -0x1E0E, %o7 | |
1920 | !# Float registers | |
1921 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
1922 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
1923 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
1924 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
1925 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
1926 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
1927 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
1928 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
1929 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
1930 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
1931 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
1932 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
1933 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
1934 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
1935 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
1936 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
1937 | ||
1938 | !# Execute Main Diag .. | |
1939 | ||
1940 | edge32n %o7, %o6, %i0 | |
1941 | siam 0x1 | |
1942 | alignaddr %l2, %l5, %i3 | |
1943 | add %l7, 0x30, %l6 | |
1944 | wr %g0, 0x81, %asi | |
1945 | ldxa [%l6] %asi, %l4 | |
1946 | casxa [%l6] 0x81, %l4, %g6 | |
1947 | siam 0x5 | |
1948 | and %g3, %o2, %i7 | |
1949 | siam 0x7 | |
1950 | fbl,a %fcc1, loop_92 | |
1951 | sra %o5, 0x09, %l3 | |
1952 | tcc %xcc, 0x1 | |
1953 | edge8n %i4, %i6, %g7 | |
1954 | loop_92: | |
1955 | siam 0x6 | |
1956 | siam 0x0 | |
1957 | siam 0x4 | |
1958 | movl %icc, %o1, %i1 | |
1959 | siam 0x7 | |
1960 | fbule,a,pn %fcc0, loop_93 | |
1961 | tsubcc %o4, 0x0EFC, %o3 | |
1962 | fbuge,pn %fcc0, loop_94 | |
1963 | siam 0x2 | |
1964 | loop_93: | |
1965 | edge32l %o0, %g4, %g2 | |
1966 | sdivcc %l1, 0x1F7D, %g5 | |
1967 | loop_94: | |
1968 | ldsh [%l7 + 0x24], %i5 | |
1969 | siam 0x4 | |
1970 | popc 0x1EAA, %l6 | |
1971 | add %l0, 0x0675, %i2 | |
1972 | sir 0x18D3 | |
1973 | xorcc %g1, 0x0129, %o6 | |
1974 | tg %icc, 0x2 | |
1975 | siam 0x5 | |
1976 | array16 %i0, %l2, %o7 | |
1977 | siam 0x6 | |
1978 | srl %i3, 0x07, %l4 | |
1979 | siam 0x0 | |
1980 | siam 0x4 | |
1981 | movrgz %l5, 0x1CA, %g6 | |
1982 | movl %icc, %o2, %g3 | |
1983 | addc %o5, 0x0BE2, %i7 | |
1984 | siam 0x6 | |
1985 | siam 0x1 | |
1986 | siam 0x0 | |
1987 | edge8 %i4, %i6, %l3 | |
1988 | siam 0x0 | |
1989 | be,a %icc, loop_95 | |
1990 | siam 0x0 | |
1991 | edge16l %o1, %g7, %o4 | |
1992 | ta %icc, 0x2 | |
1993 | loop_95: | |
1994 | sdiv %o3, 0x01F1, %o0 | |
1995 | siam 0x2 | |
1996 | siam 0x1 | |
1997 | ta %icc, 0x6 | |
1998 | popc %i1, %g2 | |
1999 | edge8l %l1, %g5, %i5 | |
2000 | array32 %l6, %l0, %i2 | |
2001 | siam 0x6 | |
2002 | set 0x74, %o7 | |
2003 | stwa %g1, [%l7 + %o7] 0xea | |
2004 | membar #Sync | |
2005 | movgu %icc, %g4, %i0 | |
2006 | siam 0x5 | |
2007 | movcc %icc, 0x5AF, %o6 | |
2008 | siam 0x1 | |
2009 | siam 0x6 | |
2010 | tcc %xcc, 0x3 | |
2011 | sir 0x073C | |
2012 | siam 0x7 | |
2013 | bgu,pt %xcc, loop_96 | |
2014 | ld [%l7 + 0x58], %f30 | |
2015 | siam 0x0 | |
2016 | tle %xcc, 0x4 | |
2017 | loop_96: | |
2018 | siam 0x2 | |
2019 | edge32n %l2, %o7, %i3 | |
2020 | siam 0x2 | |
2021 | siam 0x4 | |
2022 | sll %l4, %l5, %o2 | |
2023 | siam 0x2 | |
2024 | siam 0x7 | |
2025 | siam 0x1 | |
2026 | siam 0x0 | |
2027 | or %g6, %o5, %g3 | |
2028 | siam 0x4 | |
2029 | siam 0x3 | |
2030 | siam 0x2 | |
2031 | siam 0x2 | |
2032 | siam 0x5 | |
2033 | alignaddrl %i7, %i6, %i4 | |
2034 | set 0x58, %g6 | |
2035 | prefetcha [%l7 + %g6] 0x80, 2 | |
2036 | alignaddr %g7, %o4, %o3 | |
2037 | saved | |
2038 | rdpr %cwp, %g1 | |
2039 | rdpr %cansave, %g2 | |
2040 | rdpr %canrestore, %g3 | |
2041 | rdpr %cleanwin, %g4 | |
2042 | rdpr %otherwin, %g5 | |
2043 | rdpr %wstate, %g6 | |
2044 | siam 0x7 | |
2045 | nop | |
2046 | setx 0x18FB, %l0, %i1 | |
2047 | sdivcc %l3, %i1, %o0 | |
2048 | siam 0x3 | |
2049 | fbne,a,pt %fcc2, loop_97 | |
2050 | bmask %l1, %g2, %g5 | |
2051 | tsubcc %i5, %l6, %l0 | |
2052 | siam 0x6 | |
2053 | loop_97: | |
2054 | mova %icc, 0x141, %g1 | |
2055 | siam 0x5 | |
2056 | edge16 %i2, %g4, %i0 | |
2057 | nop | |
2058 | setx 0x05CA, %l0, %o7 | |
2059 | sdivcc %o6, %o7, %l2 | |
2060 | fbne,a %fcc0, loop_98 | |
2061 | siam 0x7 | |
2062 | bneg,pt %xcc, loop_99 | |
2063 | srlx %l4, %l5, %o2 | |
2064 | loop_98: | |
2065 | siam 0x6 | |
2066 | siam 0x1 | |
2067 | loop_99: | |
2068 | siam 0x3 | |
2069 | siam 0x5 | |
2070 | bge %xcc, loop_100 | |
2071 | siam 0x6 | |
2072 | wr %g0, 0x04, %asi | |
2073 | swapa [%l7 + 0x78] %asi, %g6 | |
2074 | loop_100: | |
2075 | siam 0x4 | |
2076 | add %l7, 0x14, %l6 | |
2077 | wr %g0, 0x18, %asi | |
2078 | casa [%l6] 0x18, %o5, %g3 | |
2079 | fbl,a %fcc1, loop_101 | |
2080 | siam 0x2 | |
2081 | edge32ln %i7, %i6, %i4 | |
2082 | fbuge,pt %fcc2, loop_102 | |
2083 | loop_101: | |
2084 | bpos,a,pn %xcc, loop_103 | |
2085 | tpos %icc, 0x5 | |
2086 | subcc %i3, %g7, %o1 | |
2087 | loop_102: | |
2088 | siam 0x1 | |
2089 | loop_103: | |
2090 | movrne %o4, 0x111, %l3 | |
2091 | ldx [%l7 + 0x68], %i1 | |
2092 | fbul %fcc2, loop_104 | |
2093 | array32 %o0, %l1, %g2 | |
2094 | fbule %fcc0, loop_105 | |
2095 | nop | |
2096 | set 0x7C, %l4 | |
2097 | lduw [%l7 + %l4], %o3 | |
2098 | loop_104: | |
2099 | array16 %i5, %g5, %l0 | |
2100 | ld [%l7 + 0x68], %f24 | |
2101 | loop_105: | |
2102 | brlez,a %l6, loop_106 | |
2103 | mulscc %g1, 0x1AA4, %i2 | |
2104 | siam 0x2 | |
2105 | move %icc, 0x79F, %i0 | |
2106 | loop_106: | |
2107 | siam 0x7 | |
2108 | tsubcctv %g4, %o6, %l2 | |
2109 | tg %xcc, 0x6 | |
2110 | siam 0x0 | |
2111 | subcc %o7, 0x072A, %l5 | |
2112 | movo %fcc2, 0x471, %o2 | |
2113 | siam 0x5 | |
2114 | sethi 0x107D, %l4 | |
2115 | array8 %o5, %g6, %g3 | |
2116 | siam 0x3 | |
2117 | siam 0x2 | |
2118 | movre %i7, %i4, %i6 | |
2119 | srl %g7, %i3, %o1 | |
2120 | xorcc %o4, %l3, %i1 | |
2121 | siam 0x3 | |
2122 | siam 0x5 | |
2123 | fbn,a,pt %fcc1, loop_107 | |
2124 | nop | |
2125 | setx loop_108, %l0, %l1 | |
2126 | wrpr 0x1, %tl | |
2127 | wrpr %l1, %tnpc | |
2128 | setx 0x001100001407, %l0, %l1 | |
2129 | wrpr %l1, %tstate | |
2130 | wrhpr 0x4, %htstate | |
2131 | rdpr %tt, %l1 | |
2132 | wrpr %g0, %l1, %tt | |
2133 | rdpr %pstate, %l1 | |
2134 | wrpr %g0, %l1, %pstate | |
2135 | rdpr %tl, %l1 | |
2136 | wrpr %g0, %l1, %tl | |
2137 | rdpr %tpc, %l1 | |
2138 | wrpr %g0, %l1, %tpc | |
2139 | rdpr %tnpc, %l1 | |
2140 | wrpr %g0, %l1, %tnpc | |
2141 | rdpr %tstate, %l1 | |
2142 | wrpr %g0, %l1, %tstate | |
2143 | rdpr %tba, %l1 | |
2144 | wrpr %g0, %l1, %tba | |
2145 | rdpr %tba, %l1 | |
2146 | wrpr %g0, %l1, %tba | |
2147 | rdhpr %hpstate, %l1 | |
2148 | wrhpr %g0, %l1, %hpstate | |
2149 | rdhpr %htstate, %l1 | |
2150 | wrhpr %g0, %l1, %htstate | |
2151 | rdhpr %hintp, %l1 | |
2152 | wrhpr %g0, %l1, %hintp | |
2153 | done | |
2154 | udiv %o0, 0x0C49, %g2 | |
2155 | edge8n %o3, %l1, %g5 | |
2156 | loop_107: | |
2157 | edge32ln %l0, %i5, %l6 | |
2158 | loop_108: | |
2159 | bge,pt %icc, loop_109 | |
2160 | siam 0x6 | |
2161 | siam 0x0 | |
2162 | siam 0x2 | |
2163 | loop_109: | |
2164 | srax %g1, %i0, %i2 | |
2165 | wr %g0, 0x89, %asi | |
2166 | ldsha [%l7 + 0x64] %asi, %o6 | |
2167 | siam 0x3 | |
2168 | mova %icc, %g4, %l2 | |
2169 | stx %l5, [%l7 + 0x68] | |
2170 | smulcc %o2, 0x1844, %o7 | |
2171 | movge %fcc2, 0x50B, %l4 | |
2172 | siam 0x1 | |
2173 | add %l7, 0x50, %l6 | |
2174 | wr %g0, 0x04, %asi | |
2175 | casxa [%l6] 0x04, %o5, %g6 | |
2176 | lduw [%l7 + 0x2C], %i7 | |
2177 | alignaddrl %g3, %i6, %i4 | |
2178 | srax %g7, %i3, %o4 | |
2179 | siam 0x5 | |
2180 | siam 0x4 | |
2181 | tleu %xcc, 0x0 | |
2182 | or %o1, 0x04F6, %l3 | |
2183 | movgu %icc, 0x158, %i1 | |
2184 | set 0x58, %i6 | |
2185 | stwa %o0, [%l7 + %i6] 0x80 | |
2186 | edge16 %o3, %l1, %g5 | |
2187 | bleu,a,pn %icc, loop_110 | |
2188 | movrgz %g2, %i5, %l6 | |
2189 | sth %l0, [%l7 + 0x70] | |
2190 | siam 0x5 | |
2191 | loop_110: | |
2192 | siam 0x6 | |
2193 | edge8ln %g1, %i0, %i2 | |
2194 | fbe,a %fcc2, loop_111 | |
2195 | movrgz %o6, %l2, %g4 | |
2196 | siam 0x1 | |
2197 | edge16n %o2, %l5, %o7 | |
2198 | loop_111: | |
2199 | siam 0x1 | |
2200 | edge16n %l4, %g6, %i7 | |
2201 | movvs %icc, 0x493, %o5 | |
2202 | and %i6, 0x0B1C, %g3 | |
2203 | siam 0x4 | |
2204 | movuge %fcc0, 0x231, %i4 | |
2205 | fbl,pn %fcc2, loop_112 | |
2206 | loop_112: | |
2207 | nop | |
2208 | ||
2209 | EXIT_GOOD | |
2210 | ||
2211 | ||
2212 | ||
2213 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2214 | ! | |
2215 | ! Stats for Thread 5: | |
2216 | ! | |
2217 | ! Type l : 16 | |
2218 | ! Type cti : 21 | |
2219 | ! Type x : 8 | |
2220 | ! Type f : 71 | |
2221 | ! Type i : 84 | |
2222 | ! | |
2223 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2224 | ||
2225 | ! | |
2226 | ! Thread 6 Start | |
2227 | ! | |
2228 | main_t6: | |
2229 | mov %l7, %g1 | |
2230 | !# Set %cwp for 8 windows | |
2231 | !# This threads memory space into each %l7 | |
2232 | wrpr %g0, 0x7, %cwp | |
2233 | mov %g1, %l7 | |
2234 | wrpr %g0, 0x6, %cwp | |
2235 | mov %g1, %l7 | |
2236 | wrpr %g0, 0x5, %cwp | |
2237 | mov %g1, %l7 | |
2238 | wrpr %g0, 0x4, %cwp | |
2239 | mov %g1, %l7 | |
2240 | wrpr %g0, 0x3, %cwp | |
2241 | mov %g1, %l7 | |
2242 | wrpr %g0, 0x2, %cwp | |
2243 | mov %g1, %l7 | |
2244 | wrpr %g0, 0x1, %cwp | |
2245 | mov %g1, %l7 | |
2246 | wrpr %g0, 0x0, %cwp | |
2247 | mov %g1, %l7 | |
2248 | ||
2249 | !# Set %fsr | |
2250 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
2251 | stx %l6, [%l7 + 0x0] !# no post process | |
2252 | ldx [%l7 + 0x0], %fsr !# no post process | |
2253 | ||
2254 | !# Initialize registers .. | |
2255 | ||
2256 | !# Global registers | |
2257 | set 0x2, %g1 | |
2258 | set 0x3, %g2 | |
2259 | set 0x0, %g3 | |
2260 | set 0x0, %g4 | |
2261 | set 0x4, %g5 | |
2262 | set 0x7, %g6 | |
2263 | set 0xF, %g7 | |
2264 | !# Input registers | |
2265 | set -0xB, %i0 | |
2266 | set -0xA, %i1 | |
2267 | set -0x1, %i2 | |
2268 | set -0x5, %i3 | |
2269 | set -0x5, %i4 | |
2270 | set -0xB, %i5 | |
2271 | set -0x5, %i6 | |
2272 | set -0xF, %i7 | |
2273 | !# Local registers | |
2274 | set 0x3E86528A, %l0 | |
2275 | set 0x502BDE1E, %l1 | |
2276 | set 0x05082E98, %l2 | |
2277 | set 0x6E5FB707, %l3 | |
2278 | set 0x7658068E, %l4 | |
2279 | set 0x2C6B47C6, %l5 | |
2280 | set 0x423AADD5, %l6 | |
2281 | !# Output registers | |
2282 | set 0x0AA5, %o0 | |
2283 | set 0x1131, %o1 | |
2284 | set 0x0152, %o2 | |
2285 | set 0x1E4A, %o3 | |
2286 | set 0x1D9F, %o4 | |
2287 | set -0x0CA7, %o5 | |
2288 | set -0x080A, %o6 | |
2289 | set -0x1F4F, %o7 | |
2290 | !# Float registers | |
2291 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
2292 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
2293 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
2294 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
2295 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
2296 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
2297 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
2298 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
2299 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
2300 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
2301 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
2302 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
2303 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
2304 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
2305 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
2306 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
2307 | ||
2308 | !# Execute Main Diag .. | |
2309 | ||
2310 | siam 0x2 | |
2311 | siam 0x6 | |
2312 | movo %fcc0, %g7, %i3 | |
2313 | movleu %icc, %o4, %o1 | |
2314 | set 0x40, %g3 | |
2315 | ldda [%l7 + %g3] 0x27, %l2 | |
2316 | fbo,pn %fcc3, loop_113 | |
2317 | fbge,a %fcc1, loop_114 | |
2318 | siam 0x4 | |
2319 | edge32ln %i1, %o3, %o0 | |
2320 | loop_113: | |
2321 | nop | |
2322 | set 0x7C, %o3 | |
2323 | stwa %l1, [%l7 + %o3] 0xe3 | |
2324 | membar #Sync | |
2325 | loop_114: | |
2326 | siam 0x4 | |
2327 | subccc %g2, 0x1AD9, %i5 | |
2328 | st %f2, [%l7 + 0x54] | |
2329 | addccc %l6, 0x0BEC, %g5 | |
2330 | bn,a %xcc, loop_115 | |
2331 | siam 0x5 | |
2332 | siam 0x0 | |
2333 | siam 0x1 | |
2334 | loop_115: | |
2335 | bl,pt %icc, loop_116 | |
2336 | bcc,a,pn %icc, loop_117 | |
2337 | siam 0x1 | |
2338 | bpos %xcc, loop_118 | |
2339 | loop_116: | |
2340 | tvs %xcc, 0x7 | |
2341 | loop_117: | |
2342 | nop | |
2343 | set 0x70, %g1 | |
2344 | ldda [%l7 + %g1] 0x19, %l0 | |
2345 | loop_118: | |
2346 | udiv %g1, 0x1995, %i0 | |
2347 | movue %fcc0, %i2, %o6 | |
2348 | movule %fcc0, %l2, %o2 | |
2349 | siam 0x5 | |
2350 | siam 0x2 | |
2351 | sra %l5, %o7, %g4 | |
2352 | tg %icc, 0x7 | |
2353 | movn %xcc, 0x120, %l4 | |
2354 | siam 0x1 | |
2355 | addccc %g6, %i7, %i6 | |
2356 | alignaddrl %o5, %i4, %g3 | |
2357 | siam 0x1 | |
2358 | siam 0x5 | |
2359 | tl %icc, 0x6 | |
2360 | movul %fcc2, 0x45A, %g7 | |
2361 | nop | |
2362 | set 0x78, %g7 | |
2363 | ldsh [%l7 + %g7], %o4 | |
2364 | siam 0x5 | |
2365 | siam 0x1 | |
2366 | movvs %icc, 0x603, %o1 | |
2367 | umulcc %l3, %i3, %o3 | |
2368 | srl %o0, 0x15, %l1 | |
2369 | subc %i1, 0x02E0, %g2 | |
2370 | edge8l %l6, %i5, %l0 | |
2371 | siam 0x1 | |
2372 | siam 0x0 | |
2373 | orn %g5, 0x116C, %g1 | |
2374 | tle %xcc, 0x2 | |
2375 | siam 0x4 | |
2376 | fbul,pt %fcc1, loop_119 | |
2377 | be,a %icc, loop_120 | |
2378 | siam 0x3 | |
2379 | fbuge,pt %fcc3, loop_121 | |
2380 | loop_119: | |
2381 | ta %icc, 0x6 | |
2382 | loop_120: | |
2383 | edge16ln %i0, %i2, %l2 | |
2384 | siam 0x0 | |
2385 | loop_121: | |
2386 | siam 0x7 | |
2387 | flushw | |
2388 | siam 0x3 | |
2389 | siam 0x6 | |
2390 | brlez,a %o6, loop_122 | |
2391 | movlg %fcc1, 0x0DE, %l5 | |
2392 | movrgez %o7, 0x193, %o2 | |
2393 | tleu %icc, 0x5 | |
2394 | loop_122: | |
2395 | siam 0x2 | |
2396 | mulscc %g4, 0x1AD5, %g6 | |
2397 | st %fsr, [%l7 + 0x64] | |
2398 | srax %i7, %l4, %i6 | |
2399 | siam 0x5 | |
2400 | siam 0x1 | |
2401 | siam 0x3 | |
2402 | siam 0x2 | |
2403 | siam 0x4 | |
2404 | mova %icc, %o5, %i4 | |
2405 | tge %xcc, 0x5 | |
2406 | st %f24, [%l7 + 0x30] | |
2407 | siam 0x4 | |
2408 | movrgez %g3, %g7, %o4 | |
2409 | siam 0x3 | |
2410 | tg %xcc, 0x1 | |
2411 | siam 0x0 | |
2412 | lduh [%l7 + 0x5A], %l3 | |
2413 | nop | |
2414 | set 0x10, %i7 | |
2415 | ldsh [%l7 + %i7], %i3 | |
2416 | siam 0x3 | |
2417 | array32 %o3, %o0, %l1 | |
2418 | stbar | |
2419 | movrlz %o1, 0x074, %i1 | |
2420 | tge %xcc, 0x7 | |
2421 | siam 0x7 | |
2422 | movule %fcc0, 0x418, %g2 | |
2423 | tsubcctv %l6, 0x0901, %i5 | |
2424 | edge8n %g5, %l0, %i0 | |
2425 | siam 0x1 | |
2426 | movne %fcc2, 0x640, %i2 | |
2427 | tneg %icc, 0x1 | |
2428 | mova %fcc3, 0x294, %g1 | |
2429 | std %f16, [%l7 + 0x08] | |
2430 | fbg,pt %fcc1, loop_123 | |
2431 | movrlz %o6, 0x0AD, %l5 | |
2432 | xor %o7, 0x0457, %o2 | |
2433 | siam 0x7 | |
2434 | loop_123: | |
2435 | sra %l2, %g4, %i7 | |
2436 | wr %g0, 0x04, %asi | |
2437 | stda %g6, [%l7 + 0x60] %asi | |
2438 | siam 0x1 | |
2439 | siam 0x1 | |
2440 | siam 0x7 | |
2441 | ldx [%l7 + 0x78], %l4 | |
2442 | sll %o5, 0x13, %i6 | |
2443 | bl,pt %xcc, loop_124 | |
2444 | sethi 0x152A, %g3 | |
2445 | siam 0x5 | |
2446 | membar 0x73 | |
2447 | loop_124: | |
2448 | edge8n %i4, %g7, %o4 | |
2449 | umul %l3, %o3, %o0 | |
2450 | saved | |
2451 | rdpr %cwp, %g1 | |
2452 | rdpr %cansave, %g2 | |
2453 | rdpr %canrestore, %g3 | |
2454 | rdpr %cleanwin, %g4 | |
2455 | rdpr %otherwin, %g5 | |
2456 | rdpr %wstate, %g6 | |
2457 | siam 0x3 | |
2458 | siam 0x5 | |
2459 | siam 0x1 | |
2460 | siam 0x5 | |
2461 | movrlz %l1, 0x3A9, %o1 | |
2462 | brgez,a %i3, loop_125 | |
2463 | siam 0x7 | |
2464 | movvc %xcc, 0x0B5, %g2 | |
2465 | wr %g0, 0x20, %asi | |
2466 | stxa %i1, [%g0 + 0x38] %asi | |
2467 | loop_125: | |
2468 | siam 0x0 | |
2469 | siam 0x6 | |
2470 | movleu %icc, %i5, %g5 | |
2471 | brgez,pt %l6, loop_126 | |
2472 | siam 0x0 | |
2473 | movcs %icc, %l0, %i0 | |
2474 | sub %g1, %i2, %o6 | |
2475 | loop_126: | |
2476 | siam 0x6 | |
2477 | siam 0x4 | |
2478 | nop | |
2479 | set 0x10, %i4 | |
2480 | ldx [%l7 + %i4], %l5 | |
2481 | siam 0x3 | |
2482 | siam 0x2 | |
2483 | siam 0x7 | |
2484 | addc %o2, %l2, %o7 | |
2485 | siam 0x6 | |
2486 | edge32 %i7, %g4, %l4 | |
2487 | fbge,pt %fcc2, loop_127 | |
2488 | siam 0x3 | |
2489 | movlg %fcc3, 0x767, %o5 | |
2490 | subc %g6, %g3, %i6 | |
2491 | loop_127: | |
2492 | array32 %g7, %o4, %l3 | |
2493 | siam 0x7 | |
2494 | edge8ln %o3, %i4, %o0 | |
2495 | tl %icc, 0x7 | |
2496 | bcc,pn %xcc, loop_128 | |
2497 | siam 0x2 | |
2498 | movrlz %l1, %i3, %g2 | |
2499 | srl %o1, %i1, %g5 | |
2500 | loop_128: | |
2501 | st %f1, [%l7 + 0x38] | |
2502 | nop | |
2503 | setx 0x0671, %l0, %l6 | |
2504 | sdivcc %i5, %l6, %i0 | |
2505 | andcc %l0, 0x0322, %i2 | |
2506 | siam 0x1 | |
2507 | siam 0x7 | |
2508 | siam 0x2 | |
2509 | srlx %o6, 0x0B, %l5 | |
2510 | set 0x58, %o4 | |
2511 | ldstuba [%l7 + %o4] 0x80, %o2 | |
2512 | tgu %icc, 0x7 | |
2513 | saved | |
2514 | rdpr %cwp, %g1 | |
2515 | rdpr %cansave, %g2 | |
2516 | rdpr %canrestore, %g3 | |
2517 | rdpr %cleanwin, %g4 | |
2518 | rdpr %otherwin, %g5 | |
2519 | rdpr %wstate, %g6 | |
2520 | set 0x68, %o5 | |
2521 | stwa %g1, [%l7 + %o5] 0x2b | |
2522 | membar #Sync | |
2523 | siam 0x0 | |
2524 | smul %l2, 0x134C, %i7 | |
2525 | udivcc %g4, 0x1255, %l4 | |
2526 | fbn,a %fcc3, loop_129 | |
2527 | siam 0x3 | |
2528 | bmask %o7, %g6, %o5 | |
2529 | movleu %icc, %i6, %g7 | |
2530 | loop_129: | |
2531 | siam 0x3 | |
2532 | movvs %xcc, %o4, %l3 | |
2533 | tvs %icc, 0x0 | |
2534 | flushw | |
2535 | siam 0x3 | |
2536 | wr %g0, 0x11, %asi | |
2537 | stwa %o3, [%l7 + 0x6C] %asi | |
2538 | siam 0x2 | |
2539 | bne,pn %icc, loop_130 | |
2540 | subc %i4, 0x1EFC, %g3 | |
2541 | siam 0x7 | |
2542 | siam 0x0 | |
2543 | loop_130: | |
2544 | addcc %l1, 0x0366, %i3 | |
2545 | movcc %xcc, 0x68D, %o0 | |
2546 | siam 0x4 | |
2547 | siam 0x5 | |
2548 | movl %xcc, 0x4C1, %o1 | |
2549 | siam 0x4 | |
2550 | andn %g2, 0x005F, %i1 | |
2551 | siam 0x3 | |
2552 | EXIT_GOOD | |
2553 | ||
2554 | ||
2555 | ||
2556 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2557 | ! | |
2558 | ! Stats for Thread 6: | |
2559 | ! | |
2560 | ! Type l : 19 | |
2561 | ! Type cti : 18 | |
2562 | ! Type x : 8 | |
2563 | ! Type f : 71 | |
2564 | ! Type i : 84 | |
2565 | ! | |
2566 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2567 | ||
2568 | ! | |
2569 | ! Thread 7 Start | |
2570 | ! | |
2571 | main_t7: | |
2572 | mov %l7, %g1 | |
2573 | !# Set %cwp for 8 windows | |
2574 | !# This threads memory space into each %l7 | |
2575 | wrpr %g0, 0x7, %cwp | |
2576 | mov %g1, %l7 | |
2577 | wrpr %g0, 0x6, %cwp | |
2578 | mov %g1, %l7 | |
2579 | wrpr %g0, 0x5, %cwp | |
2580 | mov %g1, %l7 | |
2581 | wrpr %g0, 0x4, %cwp | |
2582 | mov %g1, %l7 | |
2583 | wrpr %g0, 0x3, %cwp | |
2584 | mov %g1, %l7 | |
2585 | wrpr %g0, 0x2, %cwp | |
2586 | mov %g1, %l7 | |
2587 | wrpr %g0, 0x1, %cwp | |
2588 | mov %g1, %l7 | |
2589 | wrpr %g0, 0x0, %cwp | |
2590 | mov %g1, %l7 | |
2591 | ||
2592 | !# Set %fsr | |
2593 | setx 0x0000000000000000, %l0, %l6 !# no post process | |
2594 | stx %l6, [%l7 + 0x0] !# no post process | |
2595 | ldx [%l7 + 0x0], %fsr !# no post process | |
2596 | ||
2597 | !# Initialize registers .. | |
2598 | ||
2599 | !# Global registers | |
2600 | set 0x1, %g1 | |
2601 | set 0xD, %g2 | |
2602 | set 0x7, %g3 | |
2603 | set 0xD, %g4 | |
2604 | set 0x8, %g5 | |
2605 | set 0x0, %g6 | |
2606 | set 0x4, %g7 | |
2607 | !# Input registers | |
2608 | set -0x7, %i0 | |
2609 | set -0x4, %i1 | |
2610 | set -0xA, %i2 | |
2611 | set -0x1, %i3 | |
2612 | set -0x8, %i4 | |
2613 | set -0xF, %i5 | |
2614 | set -0xB, %i6 | |
2615 | set -0x2, %i7 | |
2616 | !# Local registers | |
2617 | set 0x7B2FE57F, %l0 | |
2618 | set 0x0CF95C1B, %l1 | |
2619 | set 0x51EE7B71, %l2 | |
2620 | set 0x72C4168E, %l3 | |
2621 | set 0x1AF307F1, %l4 | |
2622 | set 0x71D6C9FD, %l5 | |
2623 | set 0x353A638C, %l6 | |
2624 | !# Output registers | |
2625 | set 0x13FC, %o0 | |
2626 | set -0x0A2A, %o1 | |
2627 | set 0x077B, %o2 | |
2628 | set 0x0CB9, %o3 | |
2629 | set -0x08C9, %o4 | |
2630 | set -0x1E86, %o5 | |
2631 | set 0x1F31, %o6 | |
2632 | set -0x179B, %o7 | |
2633 | !# Float registers | |
2634 | INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF) | |
2635 | INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4) | |
2636 | INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23) | |
2637 | INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F) | |
2638 | INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D) | |
2639 | INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB) | |
2640 | INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48) | |
2641 | INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13) | |
2642 | INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D) | |
2643 | INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99) | |
2644 | INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2) | |
2645 | INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A) | |
2646 | INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D) | |
2647 | INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8) | |
2648 | INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E) | |
2649 | INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468) | |
2650 | ||
2651 | !# Execute Main Diag .. | |
2652 | ||
2653 | siam 0x3 | |
2654 | siam 0x0 | |
2655 | array8 %g5, %l6, %i5 | |
2656 | siam 0x6 | |
2657 | siam 0x4 | |
2658 | subc %l0, %i2, %o6 | |
2659 | siam 0x4 | |
2660 | siam 0x3 | |
2661 | siam 0x0 | |
2662 | siam 0x6 | |
2663 | udivcc %l5, 0x00A3, %o2 | |
2664 | siam 0x2 | |
2665 | siam 0x1 | |
2666 | bpos,pt %icc, loop_131 | |
2667 | movcc %icc, %i0, %l2 | |
2668 | orcc %i7, 0x1077, %g4 | |
2669 | edge16 %g1, %l4, %g6 | |
2670 | loop_131: | |
2671 | nop | |
2672 | setx 0x00F2, %l0, %i6 | |
2673 | udivcc %o7, %i6, %g7 | |
2674 | tsubcctv %o4, 0x1C35, %o5 | |
2675 | bl,pn %icc, loop_132 | |
2676 | siam 0x1 | |
2677 | orn %o3, %l3, %g3 | |
2678 | siam 0x6 | |
2679 | loop_132: | |
2680 | siam 0x7 | |
2681 | siam 0x5 | |
2682 | movgu %xcc, %l1, %i3 | |
2683 | siam 0x6 | |
2684 | siam 0x7 | |
2685 | nop | |
2686 | setx loop_133, %l0, %l1 | |
2687 | wrpr 0x1, %tl | |
2688 | wrpr %l1, %tpc | |
2689 | add %l1, 0x4, %l1 | |
2690 | wrpr %l1, %tnpc | |
2691 | setx 0x001400001403, %l0, %l1 | |
2692 | wrpr %l1, %tstate | |
2693 | wrhpr 0x4, %htstate | |
2694 | retry | |
2695 | siam 0x7 | |
2696 | ba,a %xcc, loop_134 | |
2697 | movl %fcc1, %i4, %o0 | |
2698 | loop_133: | |
2699 | siam 0x3 | |
2700 | fble,pt %fcc1, loop_135 | |
2701 | loop_134: | |
2702 | siam 0x6 | |
2703 | stw %g2, [%l7 + 0x58] | |
2704 | saved | |
2705 | rdpr %cwp, %g1 | |
2706 | rdpr %cansave, %g2 | |
2707 | rdpr %canrestore, %g3 | |
2708 | rdpr %cleanwin, %g4 | |
2709 | rdpr %otherwin, %g5 | |
2710 | rdpr %wstate, %g6 | |
2711 | loop_135: | |
2712 | bgu %xcc, loop_136 | |
2713 | xorcc %o1, 0x04F4, %g5 | |
2714 | movpos %icc, 0x25C, %i1 | |
2715 | set 0x28, %o0 | |
2716 | prefetcha [%l7 + %o0] 0x18, 1 | |
2717 | loop_136: | |
2718 | alignaddrl %l0, %i2, %l6 | |
2719 | siam 0x0 | |
2720 | siam 0x2 | |
2721 | nop | |
2722 | setx 0x1E13, %l0, %o2 | |
2723 | udivcc %l5, %o2, %o6 | |
2724 | movvc %icc, 0x332, %i0 | |
2725 | siam 0x0 | |
2726 | fbuge,pt %fcc3, loop_137 | |
2727 | popc 0x1F25, %l2 | |
2728 | tvs %xcc, 0x4 | |
2729 | xnorcc %g4, %g1, %i7 | |
2730 | loop_137: | |
2731 | siam 0x3 | |
2732 | siam 0x1 | |
2733 | siam 0x6 | |
2734 | siam 0x3 | |
2735 | brlz,a,pt %l4, loop_138 | |
2736 | siam 0x0 | |
2737 | siam 0x1 | |
2738 | siam 0x2 | |
2739 | loop_138: | |
2740 | taddcctv %g6, 0x082B, %o7 | |
2741 | siam 0x3 | |
2742 | siam 0x4 | |
2743 | siam 0x6 | |
2744 | edge8ln %i6, %g7, %o5 | |
2745 | siam 0x7 | |
2746 | siam 0x6 | |
2747 | siam 0x4 | |
2748 | sethi 0x17A5, %o4 | |
2749 | te %xcc, 0x0 | |
2750 | addccc %o3, %g3, %l3 | |
2751 | siam 0x5 | |
2752 | siam 0x4 | |
2753 | siam 0x2 | |
2754 | movrlz %i3, 0x140, %i4 | |
2755 | siam 0x3 | |
2756 | xnor %o0, %g2, %l1 | |
2757 | subcc %g5, 0x002D, %o1 | |
2758 | ld [%l7 + 0x40], %f29 | |
2759 | siam 0x6 | |
2760 | tsubcc %i1, %l0, %i5 | |
2761 | nop | |
2762 | setx loop_139, %l0, %l1 | |
2763 | wrpr 0x1, %tl | |
2764 | wrpr %l1, %tpc | |
2765 | add %l1, 0x4, %l1 | |
2766 | wrpr %l1, %tnpc | |
2767 | setx 0x031100001405, %l0, %l1 | |
2768 | wrpr %l1, %tstate | |
2769 | wrhpr 0x4, %htstate | |
2770 | retry | |
2771 | movre %l6, %l5, %i2 | |
2772 | siam 0x5 | |
2773 | tsubcc %o2, 0x13F7, %o6 | |
2774 | loop_139: | |
2775 | andn %l2, 0x0C2B, %i0 | |
2776 | fble,a,pt %fcc1, loop_140 | |
2777 | siam 0x0 | |
2778 | nop | |
2779 | setx loop_141, %l0, %l1 | |
2780 | jmpl %l1, %g4 | |
2781 | lduw [%l7 + 0x7C], %g1 | |
2782 | loop_140: | |
2783 | brlz,a %l4, loop_142 | |
2784 | siam 0x7 | |
2785 | loop_141: | |
2786 | siam 0x5 | |
2787 | edge16n %i7, %o7, %g6 | |
2788 | loop_142: | |
2789 | movre %i6, %o5, %g7 | |
2790 | movne %icc, %o4, %g3 | |
2791 | nop | |
2792 | set 0x2C, %o1 | |
2793 | swap [%l7 + %o1], %o3 | |
2794 | siam 0x3 | |
2795 | nop | |
2796 | setx loop_143, %l0, %l1 | |
2797 | jmpl %l1, %i3 | |
2798 | siam 0x7 | |
2799 | edge32ln %i4, %l3, %g2 | |
2800 | taddcc %o0, %l1, %o1 | |
2801 | loop_143: | |
2802 | siam 0x1 | |
2803 | xorcc %g5, %i1, %l0 | |
2804 | siam 0x3 | |
2805 | st %fsr, [%l7 + 0x14] | |
2806 | edge32 %i5, %l6, %i2 | |
2807 | te %icc, 0x7 | |
2808 | movrne %o2, %o6, %l5 | |
2809 | mulscc %l2, %g4, %i0 | |
2810 | movpos %xcc, %l4, %g1 | |
2811 | siam 0x0 | |
2812 | nop | |
2813 | setx 0x41B0B9AB, %l0, %l6 | |
2814 | st %l6, [%l7 + 0x54] | |
2815 | ld [%l7 + 0x54], %fsr | |
2816 | ld [%l7 + 0x4C], %f1 | |
2817 | set 0x10, %i3 | |
2818 | ldda [%l7 + %i3] 0x2e, %o6 | |
2819 | te %icc, 0x3 | |
2820 | bleu,a %icc, loop_144 | |
2821 | siam 0x5 | |
2822 | sllx %g6, %i6, %o5 | |
2823 | siam 0x2 | |
2824 | loop_144: | |
2825 | tvs %xcc, 0x2 | |
2826 | siam 0x5 | |
2827 | movpos %xcc, %i7, %g7 | |
2828 | tcc %xcc, 0x1 | |
2829 | alignaddr %g3, %o3, %i3 | |
2830 | std %i4, [%l7 + 0x28] | |
2831 | ld [%l7 + 0x64], %f23 | |
2832 | brlz,a,pt %o4, loop_145 | |
2833 | and %l3, 0x11F4, %o0 | |
2834 | xnorcc %g2, 0x0B27, %l1 | |
2835 | movrlez %o1, %g5, %l0 | |
2836 | loop_145: | |
2837 | siam 0x0 | |
2838 | mova %xcc, 0x454, %i5 | |
2839 | edge8l %l6, %i2, %o2 | |
2840 | edge8 %i1, %l5, %l2 | |
2841 | add %g4, 0x0250, %o6 | |
2842 | nop | |
2843 | setx 0x0D58, %l0, %g1 | |
2844 | udivx %i0, %g1, %o7 | |
2845 | tsubcctv %g6, %l4, %i6 | |
2846 | xnorcc %i7, %g7, %g3 | |
2847 | siam 0x1 | |
2848 | bleu %xcc, loop_146 | |
2849 | siam 0x1 | |
2850 | edge32n %o3, %o5, %i4 | |
2851 | nop | |
2852 | setx 0x2E0AC738, %l0, %l6 | |
2853 | st %l6, [%l7 + 0x48] | |
2854 | ld [%l7 + 0x48], %fsr | |
2855 | loop_146: | |
2856 | tle %icc, 0x0 | |
2857 | array32 %o4, %i3, %l3 | |
2858 | alignaddrl %g2, %o0, %o1 | |
2859 | movrlz %l1, 0x399, %g5 | |
2860 | bvc,a,pn %icc, loop_147 | |
2861 | siam 0x2 | |
2862 | wr %g0, 0x26, %asi | |
2863 | ldda [%l7 + 0x10] %asi, %i4 | |
2864 | loop_147: | |
2865 | be,a %xcc, loop_148 | |
2866 | movue %fcc0, 0x4E1, %l0 | |
2867 | fbge,a %fcc3, loop_149 | |
2868 | movleu %xcc, %l6, %o2 | |
2869 | loop_148: | |
2870 | sdivcc %i1, 0x0595, %l5 | |
2871 | siam 0x5 | |
2872 | loop_149: | |
2873 | umulcc %i2, 0x19D7, %l2 | |
2874 | orncc %o6, %i0, %g4 | |
2875 | movle %fcc1, 0x01E, %o7 | |
2876 | movvc %xcc, 0x316, %g1 | |
2877 | movpos %icc, %l4, %g6 | |
2878 | brlez %i6, loop_150 | |
2879 | movleu %xcc, 0x1DE, %g7 | |
2880 | siam 0x0 | |
2881 | siam 0x6 | |
2882 | loop_150: | |
2883 | siam 0x5 | |
2884 | siam 0x4 | |
2885 | brgez,a %g3, loop_151 | |
2886 | siam 0x0 | |
2887 | siam 0x4 | |
2888 | siam 0x7 | |
2889 | loop_151: | |
2890 | siam 0x6 | |
2891 | tvs %xcc, 0x2 | |
2892 | srax %o3, 0x1C, %i7 | |
2893 | siam 0x6 | |
2894 | brnz,pt %o5, loop_152 | |
2895 | movle %xcc, %i4, %o4 | |
2896 | siam 0x5 | |
2897 | addccc %i3, 0x1854, %g2 | |
2898 | loop_152: | |
2899 | fbule %fcc1, loop_153 | |
2900 | siam 0x4 | |
2901 | wr %g0, 0x89, %asi | |
2902 | ldda [%l7 + 0x40] %asi, %f0 | |
2903 | loop_153: | |
2904 | andn %o0, 0x170C, %o1 | |
2905 | siam 0x7 | |
2906 | movre %l3, 0x075, %g5 | |
2907 | tneg %icc, 0x2 | |
2908 | siam 0x2 | |
2909 | tge %icc, 0x0 | |
2910 | movug %fcc0, 0x299, %l1 | |
2911 | tgu %icc, 0x6 | |
2912 | mova %xcc, 0x48B, %i5 | |
2913 | edge8 %l6, %l0, %o2 | |
2914 | movo %fcc0, %i1, %l5 | |
2915 | srax %l2, %i2, %o6 | |
2916 | tn %icc, 0x5 | |
2917 | bl,a %icc, loop_154 | |
2918 | loop_154: | |
2919 | nop | |
2920 | ||
2921 | EXIT_GOOD | |
2922 | ||
2923 | ||
2924 | ||
2925 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2926 | ! | |
2927 | ! Stats for Thread 7: | |
2928 | ! | |
2929 | ! Type l : 14 | |
2930 | ! Type x : 4 | |
2931 | ! Type cti : 24 | |
2932 | ! Type f : 70 | |
2933 | ! Type i : 88 | |
2934 | ! | |
2935 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
2936 | ||
2937 | ||
2938 | EXIT_GOOD /* test finish */ | |
2939 | ||
2940 | /************************************************************************ | |
2941 | Test case data start | |
2942 | ************************************************************************/ | |
2943 | .data | |
2944 | user_data_start: | |
2945 | scratch_area: | |
2946 | .word 0x9549A190 | |
2947 | .word 0xA7F50A25 | |
2948 | .word 0x139F6605 | |
2949 | .word 0xFEDD69CF | |
2950 | .word 0x7437294E | |
2951 | .word 0x2FD2AA43 | |
2952 | .word 0x83750DE4 | |
2953 | .word 0x25BE83F3 | |
2954 | .word 0x1811E0DE | |
2955 | .word 0xDC49C7DE | |
2956 | .word 0x9CC6E755 | |
2957 | .word 0x51A17BBA | |
2958 | .word 0xAD1D0C52 | |
2959 | .word 0x0B7F69E4 | |
2960 | .word 0xF6E8B32C | |
2961 | .word 0x9323E262 | |
2962 | .word 0xFB395369 | |
2963 | .word 0xBD9D00A9 | |
2964 | .word 0x69F6F298 | |
2965 | .word 0x0A5EC3BD | |
2966 | .word 0x77C72659 | |
2967 | .word 0x08CDECDD | |
2968 | .word 0x6E50B9F0 | |
2969 | .word 0x981ED681 | |
2970 | .word 0x87BC0742 | |
2971 | .word 0x5B5B3C2C | |
2972 | .word 0xCB537FDD | |
2973 | .word 0x42AA77DC | |
2974 | .word 0x48FDE722 | |
2975 | .word 0xC72C2223 | |
2976 | .word 0x457332ED | |
2977 | .word 0x87F485AD | |
2978 | .word 0x8E0C8AEE | |
2979 | .word 0xD7EE5DB2 | |
2980 | .word 0x3AF0FBE5 | |
2981 | .word 0x7E3AD9A4 | |
2982 | .word 0x37018EFE | |
2983 | .word 0xE2899ED9 | |
2984 | .word 0x0B2CEC72 | |
2985 | .word 0x99700961 | |
2986 | .word 0xB3D0CEA7 | |
2987 | .word 0x6C324F6D | |
2988 | .word 0x02BD9086 | |
2989 | .word 0x6EF8AFE1 | |
2990 | .word 0x6286DDFC | |
2991 | .word 0x7128EDA5 | |
2992 | .word 0x66BCC183 | |
2993 | .word 0x60A88FFE | |
2994 | .word 0x342607FD | |
2995 | .word 0x8957CF11 | |
2996 | .word 0x3834451C | |
2997 | .word 0xACAE942E | |
2998 | .word 0xC8807BCB | |
2999 | .word 0x5C2CE788 | |
3000 | .word 0xCD1874B6 | |
3001 | .word 0xAE756617 | |
3002 | .word 0x29539634 | |
3003 | .word 0x8EFEA2D2 | |
3004 | .word 0x5C166293 | |
3005 | .word 0xD75F031C | |
3006 | .word 0xCB338818 | |
3007 | .word 0x823C7006 | |
3008 | .word 0xD29A690A | |
3009 | .word 0xF9495767 | |
3010 | .end |