Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / fgu / fgu_stfsr_traps_22.s
/*
* ========== Copyright Header Begin ==========================================
*
* OpenSPARC T2 Processor File: fgu_stfsr_traps_22.s
* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* For the avoidance of doubt, and except that if any non-GPL license
* choice is available it will apply instead, Sun elects to use only
* the General Public License version 2 (GPLv2) at this time for any
* software where a choice of GPL license versions is made
* available with the language indicating that GPLv2 or any later version
* may be used, or where a choice of which version of the GPL is applied is
* otherwise unspecified.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*
* ========== Copyright Header End ============================================
*/
.ident "FOCUSCASE: focus.pm,v 1.1 2003/04/23 17:53:39 somePerson Exp somePerson $ spc_basic_isa3.pl FOCUS_SEED=12387"
.ident "Mon Dec 8 19:56:04 CST 2003"
.ident "Using Instruction Hash for Focus :$Id: fgu_stfsr_traps_22.s,v 1.4 2007/07/27 21:45:32 drp Exp $"
#include "defines.h"
#include "nmacros.h"
#include "old_boot.s"
/************************************************************************
Test case code start
************************************************************************/
.text
.global main
main: /* test begin */
! Get TID/DIAG DATA AREA. Separate memory for each thread.
ta T_RD_THID
mov %o1, %l6
umul %l6, 256, %l7
setx DIAG_DATA_AREA, %g1, %g3
add %l7, %g3, %l7
cmp %l6, 0x0
be main_t0
nop
cmp %l6, 0x1
be main_t1
nop
cmp %l6, 0x2
be main_t2
nop
cmp %l6, 0x3
be main_t3
nop
cmp %l6, 0x4
be main_t4
nop
cmp %l6, 0x5
be main_t5
nop
cmp %l6, 0x6
be main_t6
nop
cmp %l6, 0x7
be main_t7
nop
EXIT_GOOD
!
! Thread 0 Start
!
main_t0:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0x2, %g1
set 0x4, %g2
set 0x1, %g3
set 0xD, %g4
set 0x6, %g5
set 0x8, %g6
set 0x6, %g7
!# Input registers
set -0x2, %i0
set -0x3, %i1
set -0x5, %i2
set -0x3, %i3
set -0x4, %i4
set -0xA, %i5
set -0xD, %i6
set -0xE, %i7
!# Local registers
set 0x6B73716B, %l0
set 0x05EB1F11, %l1
set 0x6C42EC90, %l2
set 0x646E48A5, %l3
set 0x4A6774DB, %l4
set 0x5A204DA8, %l5
set 0x1CD90970, %l6
!# Output registers
set -0x137F, %o0
set -0x1D16, %o1
set -0x0049, %o2
set -0x0998, %o3
set 0x0213, %o4
set 0x0400, %o5
set -0x1BEB, %o6
set -0x00F7, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
tcc %icc, 0x5
fpadd32 %f18, %f2, %f2
alignaddr %l1, %l0, %g3
swap [%l7 + 0x0C], %i3
fmovrslz %i7, %f30, %f24
fbe,a %fcc1, loop_1
tge %xcc, 0x4
st %fsr, [%l7 + 0x0C]
alignaddrl %l3, %i0, %o5
loop_1:
nop
setx 0xAE6F8A512DD43C0F, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f14
fsqrtd %f14, %f4
fzero %f30
fmovduge %fcc3, %f30, %f26
fnot1 %f24, %f10
fabsd %f0, %f30
movre %g4, 0x052, %g2
fnands %f0, %f16, %f1
fmuld8ulx16 %f15, %f13, %f18
edge32ln %o7, %i1, %o2
set 0x78, %l2
stda %g6, [%l7 + %l2] 0xeb
membar #Sync
st %fsr, [%l7 + 0x64]
orcc %o1, 0x1BE8, %l5
rdhpr %hpstate, %i5
edge8l %g1, %o3, %i2
add %g5, 0x068F, %o0
fsrc1s %f5, %f29
subc %g7, 0x1A7F, %o4
saved
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
movrne %l2, 0x04F, %l4
sllx %i4, %o6, %l6
nop
set 0x50, %l1
stx %i6, [%l7 + %l1]
fbue,pt %fcc2, loop_2
addcc %l1, %l0, %i3
movcc %xcc, 0x538, %i7
add %l3, %i0, %o5
loop_2:
st %fsr, [%l7 + 0x0C]
nop
fitos %f9, %f31
fstod %f31, %f20
fmovdvc %icc, %f4, %f10
fpsub32 %f24, %f6, %f12
rdpr %wstate, %g4
st %fsr, [%l7 + 0x0C]
wrpr %g0, 0x0, %gl
st %fsr, [%l7 + 0x4C]
mulx %o7, %i1, %g3
st %fsr, [%l7 + 0x48]
orcc %o2, 0x0987, %g6
st %fsr, [%l7 + 0x70]
addc %o1, %i5, %l5
rd %y, %g1
tsubcc %i2, 0x18FB, %g5
fmovsge %xcc, %f20, %f13
fmuld8ulx16 %f24, %f5, %f20
sll %o0, 0x1C, %o3
popc %o4, %l2
mova %fcc1, 0x07E, %l4
fmovrslz %g7, %f2, %f6
movcc %icc, 0x54D, %o6
bshuffle %f8, %f10, %f16
fmovsvs %xcc, %f15, %f12
st %fsr, [%l7 + 0x24]
st %fsr, [%l7 + 0x28]
fmul8ulx16 %f6, %f6, %f22
fxnor %f2, %f6, %f6
fmovrslz %l6, %f17, %f25
nop
set 0x72, %l6
sth %i4, [%l7 + %l6]
movg %fcc0, %i6, %l1
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xDC2, %hsys_tick_cmpr
st %f9, [%l7 + 0x70]
andncc %l3, 0x143F, %i0
ldd [%l7 + 0x40], %f18
st %fsr, [%l7 + 0x58]
st %fsr, [%l7 + 0x78]
membar 0x2F
st %fsr, [%l7 + 0x50]
fmovdvc %icc, %f8, %f2
st %fsr, [%l7 + 0x50]
stbar
brgz,a,pn %l0, loop_3
st %fsr, [%l7 + 0x44]
edge8l %g4, %g2, %o7
movo %fcc0, %i1, %o5
loop_3:
fcmpne16 %f4, %f12, %o2
st %fsr, [%l7 + 0x7C]
movneg %xcc, 0x331, %g3
fmovdule %fcc3, %f26, %f20
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, %g0, %hsys_tick_cmpr
nop
set 0x39, %o7
ldstub [%l7 + %o7], %i5
movl %icc, 0x5C3, %g6
st %fsr, [%l7 + 0x38]
movcc %xcc, %l5, %i2
movug %fcc1, 0x346, %g5
membar 0x46
fnot1s %f18, %f13
movge %xcc, %g1, %o3
st %fsr, [%l7 + 0x60]
sethi 0x00BF, %o4
st %fsr, [%l7 + 0x38]
fmovdcs %icc, %f20, %f28
fbn,a %fcc3, loop_4
brlz,a,pn %o0, loop_5
rdpr %gl, %l2
srl %g7, %o6, %l4
loop_4:
fmul8x16au %f23, %f21, %f28
loop_5:
saved
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
movrgez %l6, %i4, %i6
or %l1, 0x128B, %i7
movneg %icc, 0x7B9, %l3
nop
set 0x58, %l3
stx %fsr, [%l7 + %l3]
st %fsr, [%l7 + 0x1C]
st %fsr, [%l7 + 0x18]
subc %i0, 0x014A, %l0
fmovrse %g4, %f4, %f21
movge %xcc, %i3, %o7
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
fmovdn %fcc2, %f0, %f30
fpmerge %f15, %f6, %f24
nop
setx 0x126920DF7CB7F5E4, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f26
setx 0x0EB397608DCB85F4, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f24
fmuld %f24, %f26, %f6
st %fsr, [%l7 + 0x50]
rdpr %cansave, %g2
wr %g0, 0x50, %asi
ldxa [%g0 + 0x30] %asi, %o5
fpsub16s %f18, %f31, %f12
fmovsn %fcc1, %f21, %f19
movuge %fcc2, %i1, %g3
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
fandnot2s %f5, %f26, %f21
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wr %l0, 0xCF9, %tick_cmpr
edge8l %o1, %i5, %g6
fmovscs %xcc, %f15, %f27
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0x2E1, %hsys_tick_cmpr
st %fsr, [%l7 + 0x28]
st %fsr, [%l7 + 0x5C]
st %fsr, [%l7 + 0x34]
movrgz %g5, 0x0DB, %g1
fmovduge %fcc3, %f2, %f12
fnot2 %f0, %f6
fmovrdne %o3, %f26, %f4
ldub [%l7 + 0x4B], %o4
edge16ln %i2, %l2, %g7
bvs,a %xcc, loop_6
fmovdge %xcc, %f24, %f12
st %fsr, [%l7 + 0x58]
xnorcc %o0, 0x072F, %o6
loop_6:
stb %l4, [%l7 + 0x54]
brz,a %l6, loop_7
fmovdneg %xcc, %f2, %f14
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
nop
fitod %f10, %f12
fdtox %f12, %f4
fxtod %f4, %f20
loop_7:
tge %xcc, 0x4
fmovsvc %xcc, %f26, %f13
nop
set 0x6B, %g4
stb %i6, [%l7 + %g4]
array8 %i4, %i7, %l1
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xFE1, %hsys_tick_cmpr
andcc %i0, %l0, %i3
movrlz %g4, %o7, %o5
wr %g0, 0xd1, %asi
ldda [%l7 + 0x40] %asi, %f0
popc %g2, %g3
nop
setx 0x16C0, %l0, %o1
sdivx %i1, %o1, %i5
fmovsul %fcc0, %f6, %f11
fble,pn %fcc1, loop_8
fmovsule %fcc2, %f4, %f27
fba %fcc1, loop_9
srlx %g6, 0x0F, %o2
loop_8:
tg %icc, 0x5
fpadd16 %f8, %f12, %f12
loop_9:
flushw
bgu,a,pt %icc, loop_10
fpadd16s %f9, %f15, %f1
st %fsr, [%l7 + 0x38]
st %fsr, [%l7 + 0x24]
loop_10:
st %fsr, [%l7 + 0x1C]
st %fsr, [%l7 + 0x10]
fmovsule %fcc1, %f7, %f8
st %fsr, [%l7 + 0x50]
movneg %xcc, %l5, %g5
st %fsr, [%l7 + 0x2C]
st %fsr, [%l7 + 0x4C]
st %fsr, [%l7 + 0x2C]
st %fsr, [%l7 + 0x30]
sir 0x0820
sll %g1, %o3, %i2
tpos %xcc, 0x4
fnor %f8, %f16, %f28
st %fsr, [%l7 + 0x5C]
bvc,pn %icc, loop_11
addccc %l2, 0x07CF, %o4
fone %f14
set 0x40, %o0
stha %g7, [%l7 + %o0] 0x2f
membar #Sync
loop_11:
st %fsr, [%l7 + 0x30]
st %fsr, [%l7 + 0x24]
nop
setx 0x063D, %l0, %o6
sdivcc %o0, %o6, %l4
sll %i6, %i4, %i7
movl %fcc3, 0x674, %l6
st %fsr, [%l7 + 0x24]
st %fsr, [%l7 + 0x7C]
st %fsr, [%l7 + 0x48]
nop
fitos %f9, %f25
wrpr %l1, 0x08ED, %cwp
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 0:
!
! Type l : 55
! Type a : 12
! Type x : 4
! Type cti : 11
! Type f : 50
! Type i : 68
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 1 Start
!
main_t1:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0xD, %g1
set 0x5, %g2
set 0x8, %g3
set 0x4, %g4
set 0x9, %g5
set 0xA, %g6
set 0x7, %g7
!# Input registers
set -0x6, %i0
set -0xB, %i1
set -0xB, %i2
set -0x9, %i3
set -0x0, %i4
set -0x5, %i5
set -0xE, %i6
set -0x3, %i7
!# Local registers
set 0x7685806A, %l0
set 0x37E7DC2B, %l1
set 0x71FF9317, %l2
set 0x41ACEFDD, %l3
set 0x0EB9C626, %l4
set 0x78C202D8, %l5
set 0x48628AB1, %l6
!# Output registers
set 0x0A0A, %o0
set 0x0842, %o1
set 0x1810, %o2
set 0x1296, %o3
set 0x1A32, %o4
set -0x16CE, %o5
set 0x1AF4, %o6
set -0x08D0, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
bgu,pn %xcc, loop_12
st %fsr, [%l7 + 0x38]
fmovsu %fcc2, %f11, %f16
nop
setx 0x1D1D, %l0, %l3
sdivcc %i0, %l3, %l0
loop_12:
st %fsr, [%l7 + 0x4C]
rd %asi, %g4
fbo,a,pn %fcc1, loop_13
fmovdpos %icc, %f2, %f30
edge32l %o7, %o5, %i3
nop
setx 0x9972168E7072D22D, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f4
fsqrtd %f4, %f18
loop_13:
wrpr %g2, %i1, %cwp
rd %softint, %o1
st %fsr, [%l7 + 0x7C]
fmovduge %fcc1, %f12, %f16
st %fsr, [%l7 + 0x20]
movrne %i5, %g3, %o2
fmovdvc %xcc, %f6, %f0
wr %l5, 0x0EEC, %ccr
tgu %xcc, 0x2
rdpr %pil, %g5
swap [%l7 + 0x58], %g1
ta %icc, 0x6
move %xcc, %g6, %o3
st %fsr, [%l7 + 0x44]
fmovdu %fcc0, %f12, %f30
st %fsr, [%l7 + 0x34]
movue %fcc1, 0x4B1, %i2
st %fsr, [%l7 + 0x28]
addc %l2, 0x0BDE, %o4
pdist %f12, %f18, %f8
movue %fcc2, %g7, %o6
fmovsule %fcc3, %f1, %f12
fpadd32s %f29, %f14, %f21
rd %asi, %o0
fpadd32 %f4, %f22, %f22
movgu %icc, %l4, %i4
tsubcctv %i6, %l6, %i7
set 0x6A, %i5
stha %l1, [%l7 + %i5] 0x10
fmovscs %xcc, %f7, %f25
st %fsr, [%l7 + 0x48]
nop
setx 0xAC49407F09B6DC6A, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f28
fsqrtd %f28, %f26
st %fsr, [%l7 + 0x74]
brlez,pn %i0, loop_14
nop
set 0x38, %l4
ldd [%l7 + %l4], %f10
st %fsr, [%l7 + 0x48]
fnot1 %f16, %f30
loop_14:
wr %l0, %g4, %softint
movcc %icc, %o7, %l3
set 0x40, %g6
ldda [%l7 + %g6] 0xd9, %f0
movu %fcc0, 0x31B, %o5
st %fsr, [%l7 + 0x18]
fornot2 %f6, %f20, %f24
fble %fcc1, loop_15
bgu,pn %icc, loop_16
taddcctv %g2, 0x1371, %i3
fmovrdne %i1, %f24, %f28
loop_15:
wrpr %i5, %o1, %pil
loop_16:
rd %pc, %g3
st %fsr, [%l7 + 0x1C]
nop
set 0x10, %i0
stx %fsr, [%l7 + %i0]
rd %asi, %l5
tneg %icc, 0x2
bgu,a,pn %icc, loop_17
edge8 %g5, %o2, %g6
ta %xcc, 0x1
and %g1, %i2, %l2
loop_17:
st %fsr, [%l7 + 0x60]
st %fsr, [%l7 + 0x40]
ldsb [%l7 + 0x61], %o3
fmul8sux16 %f14, %f20, %f18
fble,a %fcc3, loop_18
stw %o4, [%l7 + 0x44]
st %fsr, [%l7 + 0x08]
fbule %fcc2, loop_19
loop_18:
st %fsr, [%l7 + 0x58]
fmovdcc %icc, %f8, %f0
nop
setx 0x2CE9C0DB22627062, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f22
setx 0x1EE9BED3B923B078, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f0
fsubd %f0, %f22, %f2
loop_19:
st %fsr, [%l7 + 0x1C]
tg %icc, 0x7
st %fsr, [%l7 + 0x58]
fcmple32 %f26, %f14, %o6
fmovdneg %icc, %f8, %f0
st %fsr, [%l7 + 0x30]
stbar
fone %f24
st %fsr, [%l7 + 0x5C]
rd %y, %g7
st %fsr, [%l7 + 0x70]
st %fsr, [%l7 + 0x20]
alignaddr %o0, %i4, %i6
wr %l6, %i7, %sys_tick
fand %f30, %f24, %f0
st %fsr, [%l7 + 0x7C]
fmovsneg %xcc, %f16, %f2
stx %l1, [%l7 + 0x70]
wr %g0, 0x10, %asi
sta %f22, [%l7 + 0x08] %asi
addcc %l4, 0x0977, %i0
fmovdle %xcc, %f8, %f6
st %fsr, [%l7 + 0x70]
brgez %l0, loop_20
st %fsr, [%l7 + 0x5C]
fpsub16s %f7, %f26, %f20
movcc %icc, %g4, %l3
loop_20:
edge16n %o7, %o5, %i3
rdpr %tl, %i1
fxor %f10, %f2, %f16
nop
setx 0x2C19EB62211A325E, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f20
setx 0x6A228ABD79DC21DA, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f26
fsubd %f26, %f20, %f4
fbl,pn %fcc0, loop_21
fbuge,pn %fcc2, loop_22
st %fsr, [%l7 + 0x20]
move %fcc0, %i5, %g2
loop_21:
alignaddr %o1, %g3, %l5
loop_22:
tcc %icc, 0x5
tg %icc, 0x5
orncc %o2, 0x1F6D, %g5
fmovdo %fcc3, %f20, %f26
orncc %g6, %g1, %i2
movrgz %l2, 0x152, %o3
rdhpr %hpstate, %o6
smulcc %o4, %g7, %o0
nop
set 0x58, %o5
ldd [%l7 + %o5], %f4
fnot1s %f5, %f3
or %i4, %i6, %l6
movpos %xcc, 0x2BE, %l1
st %fsr, [%l7 + 0x38]
fands %f24, %f7, %f12
orcc %l4, %i0, %l0
st %fsr, [%l7 + 0x58]
movpos %icc, %g4, %l3
fmovse %fcc2, %f12, %f8
fmovrde %i7, %f30, %f10
fmovdule %fcc0, %f6, %f4
nop
set 0x28, %i6
ldd [%l7 + %i6], %o6
st %fsr, [%l7 + 0x2C]
alignaddr %i3, %i1, %o5
fmovdu %fcc0, %f16, %f4
fmovsvs %xcc, %f0, %f22
fmovscc %xcc, %f8, %f14
fcmps %fcc3, %f17, %f15
st %fsr, [%l7 + 0x5C]
addc %g2, %i5, %o1
movre %l5, 0x271, %g3
bleu,pt %icc, loop_23
st %fsr, [%l7 + 0x14]
st %fsr, [%l7 + 0x6C]
fmovsa %xcc, %f25, %f27
loop_23:
edge32n %g5, %g6, %o2
nop
setx 0x1274, %l0, %l2
udivcc %i2, %l2, %o3
st %fsr, [%l7 + 0x14]
set 0x4A, %l0
lduha [%l7 + %l0] 0x81, %g1
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x28]
orn %o6, %g7, %o4
smul %i4, 0x1C13, %o0
fmovs %f25, %f6
fmovdule %fcc1, %f0, %f4
fsrc2 %f22, %f26
movvc %xcc, %l6, %l1
orncc %l4, %i6, %l0
nop
fitos %f8, %f9
edge32ln %g4, %l3, %i7
rdpr %otherwin, %i0
tcs %xcc, 0x4
fzero %f26
rd %ccr, %i3
fzero %f6
st %fsr, [%l7 + 0x7C]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0x556, %hsys_tick_cmpr
wrpr %g0, 0x2, %gl
rd %sys_tick_cmpr, %o1
fxnors %f7, %f1, %f4
st %fsr, [%l7 + 0x28]
fmovsneg %xcc, %f21, %f27
fmovsleu %xcc, %f16, %f25
st %fsr, [%l7 + 0x34]
edge32l %l5, %g3, %o5
nop
setx 0x32D19367, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f0
setx 0xF9B5E97B, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f23
fmuls %f23, %f0, %f25
bn,pt %xcc, loop_24
st %fsr, [%l7 + 0x08]
ldx [%l7 + 0x78], %g6
fmovrse %g5, %f22, %f0
loop_24:
nop
fitos %f5, %f5
fstoi %f5, %f6
udiv %o2, 0x165A, %i2
st %fsr, [%l7 + 0x28]
alignaddrl %l2, %o3, %o6
st %fsr, [%l7 + 0x2C]
rdpr %canrestore, %g1
fmovrsgez %g7, %f9, %f26
st %fsr, [%l7 + 0x3C]
fmul8x16au %f30, %f15, %f12
add %i4, %o0, %o4
st %fsr, [%l7 + 0x50]
tvc %icc, 0x2
tpos %icc, 0x2
mova %icc, 0x603, %l6
add %l4, %l1, %l0
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 1:
!
! Type l : 57
! Type a : 20
! Type x : 4
! Type cti : 13
! Type f : 52
! Type i : 54
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 2 Start
!
main_t2:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0xA, %g1
set 0x0, %g2
set 0xF, %g3
set 0x1, %g4
set 0x8, %g5
set 0xA, %g6
set 0x4, %g7
!# Input registers
set -0x2, %i0
set -0x6, %i1
set -0x2, %i2
set -0xA, %i3
set -0xB, %i4
set -0xD, %i5
set -0x3, %i6
set -0x9, %i7
!# Local registers
set 0x5039558F, %l0
set 0x6680A21B, %l1
set 0x4BF3CDDC, %l2
set 0x0F3E6246, %l3
set 0x656510D6, %l4
set 0x582FE47A, %l5
set 0x12B916C3, %l6
!# Output registers
set -0x0680, %o0
set -0x1C4C, %o1
set 0x0643, %o2
set -0x1FE5, %o3
set -0x0040, %o4
set 0x1E70, %o5
set -0x0D6F, %o6
set -0x1034, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
fcmps %fcc2, %f21, %f9
srl %i6, %l3, %g4
fnot2s %f24, %f12
edge8l %i0, %i7, %i3
subcc %o7, 0x0BEF, %g2
movrlz %i1, %o1, %i5
tvs %xcc, 0x4
fmovsgu %icc, %f2, %f5
movrlez %g3, %o5, %g6
st %fsr, [%l7 + 0x38]
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x1C]
ldx [%l7 + 0x20], %g5
fmovs %f15, %f31
st %fsr, [%l7 + 0x70]
fmovslg %fcc1, %f31, %f25
nop
fitos %f14, %f5
fstox %f5, %f12
fxtos %f12, %f14
st %fsr, [%l7 + 0x70]
rd %softint, %l5
fmovsug %fcc0, %f4, %f11
ldsw [%l7 + 0x70], %i2
bcs,a,pt %xcc, loop_25
st %fsr, [%l7 + 0x58]
fand %f30, %f26, %f2
nop
set 0x5A, %i1
stb %o2, [%l7 + %i1]
loop_25:
subccc %o3, %o6, %g1
stbar
st %fsr, [%l7 + 0x40]
udiv %l2, 0x14E1, %g7
fmovse %fcc2, %f23, %f15
mulscc %o0, 0x1BFC, %o4
fmovrse %i4, %f24, %f16
st %fsr, [%l7 + 0x48]
wrpr %l4, 0x1B7E, %pil
st %fsr, [%l7 + 0x34]
movuge %fcc3, %l6, %l1
tgu %icc, 0x4
wrpr %l0, 0x0B1C, %tick
sll %i6, %l3, %g4
alignaddr %i0, %i7, %o7
fpadd16 %f28, %f30, %f30
prefetch [%l7 + 0x14], 3
fbg,a,pt %fcc0, loop_26
sub %i3, %g2, %i1
st %fsr, [%l7 + 0x58]
fmovsvc %xcc, %f27, %f13
loop_26:
nop
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, %g0, %hsys_tick_cmpr
st %fsr, [%l7 + 0x40]
fcmple16 %f22, %f26, %i5
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x4C]
fmovdne %fcc3, %f10, %f6
fands %f26, %f1, %f13
st %fsr, [%l7 + 0x50]
nop
setx 0x0290, %l0, %g5
udiv %g6, %g5, %l5
fxors %f23, %f2, %f30
nop
fitos %f8, %f1
fstox %f1, %f18
fxtos %f18, %f22
fmovd %f10, %f4
array8 %o5, %i2, %o3
movrlz %o6, %g1, %o2
movrgz %g7, %o0, %o4
sllx %l2, %i4, %l4
st %fsr, [%l7 + 0x08]
wr %g0, 0x80, %asi
ldda [%l7 + 0x50] %asi, %i6
st %fsr, [%l7 + 0x68]
tle %icc, 0x7
fones %f25
alignaddr %l1, %i6, %l3
edge8 %g4, %i0, %l0
st %fsr, [%l7 + 0x7C]
movcc %xcc, 0x2FB, %i7
fmovrde %i3, %f0, %f2
tgu %icc, 0x3
st %fsr, [%l7 + 0x24]
fbuge,a %fcc3, loop_27
fmovdne %icc, %f28, %f18
wrpr %g2, %i1, %pil
st %fsr, [%l7 + 0x2C]
loop_27:
fmovdl %xcc, %f26, %f0
nop
setx 0x63A72EFA427D853E, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f24
setx 0x2D131417, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f16
fsmuld %f16, %f24, %f28
fmovsgu %icc, %f0, %f23
fmovsne %fcc3, %f17, %f21
movul %fcc3, %o7, %o1
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x44]
st %fsr, [%l7 + 0x7C]
bcs,a %xcc, loop_28
ldub [%l7 + 0x45], %g3
wr %g6, %i5, %clear_softint
rd %asi, %l5
loop_28:
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x10]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wr %l0, %g0, %sys_tick_cmpr
st %fsr, [%l7 + 0x74]
fcmped %fcc1, %f30, %f10
rdpr %tl, %g5
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x60]
fmovso %fcc0, %f12, %f23
movn %fcc2, %o3, %o6
fmovdle %fcc3, %f14, %f0
st %fsr, [%l7 + 0x78]
fabsd %f4, %f18
st %fsr, [%l7 + 0x54]
st %fsr, [%l7 + 0x58]
fmovsul %fcc0, %f26, %f5
movre %g1, 0x305, %i2
st %fsr, [%l7 + 0x3C]
st %fsr, [%l7 + 0x74]
rdhpr %ver, %g7
st %fsr, [%l7 + 0x40]
tneg %xcc, 0x1
fmovsue %fcc0, %f11, %f11
fba %fcc3, loop_29
nop
fitod %f12, %f16
fdtox %f16, %f24
fxtod %f24, %f2
fpsub16s %f2, %f24, %f28
st %fsr, [%l7 + 0x44]
loop_29:
wrpr %g0, 0x1, %gl
nop
fitod %f27, %f18
movvs %icc, 0x33D, %o4
fmovrslez %o2, %f4, %f12
nop
set 0x40, %g3
ldsw [%l7 + %g3], %i4
movrne %l2, %l6, %l1
fandnot1 %f28, %f20, %f30
fmovrslez %i6, %f0, %f17
st %fsr, [%l7 + 0x18]
rd %fprs, %l4
rdpr %otherwin, %g4
fnegd %f8, %f26
movvs %icc, 0x0FB, %i0
wr %l3, %l0, %sys_tick
rdpr %canrestore, %i7
st %fsr, [%l7 + 0x08]
fmovdu %fcc3, %f6, %f4
st %fsr, [%l7 + 0x1C]
tge %xcc, 0x2
st %fsr, [%l7 + 0x50]
nop
setx 0xC2892534, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f10
setx 0x629BFC8F, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f3
fadds %f3, %f10, %f14
or %g2, %i1, %i3
fxnors %f8, %f6, %f25
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x38]
bvs,a,pt %icc, loop_30
te %xcc, 0x5
st %fsr, [%l7 + 0x20]
nop
fitos %f8, %f16
fstox %f16, %f14
loop_30:
st %fsr, [%l7 + 0x08]
bmask %o1, %o7, %g3
tg %icc, 0x6
addcc %i5, 0x1B5F, %g6
edge32n %o5, %g5, %o3
fpadd32 %f6, %f20, %f30
fbe,pn %fcc0, loop_31
st %fsr, [%l7 + 0x24]
mova %fcc1, %o6, %l5
nop
setx 0x0474, %l0, %g7
udivx %g1, %g7, %o0
loop_31:
fands %f0, %f12, %f2
movug %fcc0, 0x29A, %i2
fnegs %f8, %f15
st %fsr, [%l7 + 0x70]
st %fsr, [%l7 + 0x28]
fnegd %f26, %f14
mova %fcc3, %o4, %o2
st %fsr, [%l7 + 0x28]
fmovs %f30, %f25
fnot1s %f28, %f19
edge32n %l2, %l6, %i4
rdpr %tl, %l1
fmovsu %fcc0, %f0, %f5
edge16n %l4, %g4, %i0
nop
setx loop_32, %l0, %l1
wrpr 0x1, %tl
wrpr %l1, %tnpc
setx 0x022100001405, %l0, %l1
wrpr %l1, %tstate
wrhpr 0x4, %htstate
rdpr %tt, %l1
wrpr %g0, %l1, %tt
rdpr %pstate, %l1
wrpr %g0, %l1, %pstate
rdpr %tl, %l1
wrpr %g0, %l1, %tl
rdpr %tpc, %l1
wrpr %g0, %l1, %tpc
rdpr %tnpc, %l1
wrpr %g0, %l1, %tnpc
rdpr %tstate, %l1
wrpr %g0, %l1, %tstate
rdpr %tba, %l1
wrpr %g0, %l1, %tba
rdpr %tba, %l1
wrpr %g0, %l1, %tba
rdhpr %hpstate, %l1
wrhpr %g0, %l1, %hpstate
rdhpr %htstate, %l1
wrhpr %g0, %l1, %htstate
rdhpr %hintp, %l1
wrhpr %g0, %l1, %hintp
done
st %fsr, [%l7 + 0x74]
st %fsr, [%l7 + 0x4C]
fmovdleu %xcc, %f8, %f28
loop_32:
st %fsr, [%l7 + 0x14]
alignaddr %l3, %i6, %l0
tcs %icc, 0x7
fmovdlg %fcc2, %f14, %f0
st %fsr, [%l7 + 0x34]
nop
setx 0x19B9, %l0, %i7
udivx %g2, %i7, %i3
st %fsr, [%l7 + 0x68]
move %xcc, 0x04A, %o1
st %fsr, [%l7 + 0x08]
st %fsr, [%l7 + 0x34]
st %fsr, [%l7 + 0x3C]
flushw
fcmpne32 %f30, %f20, %o7
tsubcc %g3, %i1, %i5
fbne,pt %fcc0, loop_33
fmovsule %fcc0, %f10, %f31
tle %icc, 0x5
fornot2 %f6, %f2, %f2
loop_33:
fpsub16s %f25, %f24, %f27
fabss %f6, %f31
edge8l %o5, %g6, %g5
fblg %fcc1, loop_34
st %fsr, [%l7 + 0x60]
fba,a,pn %fcc3, loop_35
movlg %fcc3, %o3, %o6
loop_34:
nop
loop_35:
nop
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 2:
!
! Type l : 63
! Type a : 16
! Type x : 1
! Type cti : 11
! Type f : 56
! Type i : 53
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 3 Start
!
main_t3:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0x6, %g1
set 0x9, %g2
set 0x0, %g3
set 0x6, %g4
set 0x0, %g5
set 0x7, %g6
set 0xB, %g7
!# Input registers
set -0x6, %i0
set -0x4, %i1
set -0x3, %i2
set -0x2, %i3
set -0x2, %i4
set -0xE, %i5
set -0xD, %i6
set -0x4, %i7
!# Local registers
set 0x694911C5, %l0
set 0x47689B72, %l1
set 0x60FE1226, %l2
set 0x72D2B397, %l3
set 0x7A053B7F, %l4
set 0x5702EF7D, %l5
set 0x647F50FB, %l6
!# Output registers
set -0x0F74, %o0
set -0x0851, %o1
set -0x179D, %o2
set 0x1DC6, %o3
set -0x1D95, %o4
set 0x1FA1, %o5
set -0x1BE2, %o6
set 0x1E91, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
nop
setx 0xDA9A3E5DD9D6CA39, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f6
setx 0x780E3EE8, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f28
fsmuld %f28, %f6, %f22
st %fsr, [%l7 + 0x3C]
fmovrse %g1, %f8, %f5
st %fsr, [%l7 + 0x10]
fcmpgt16 %f0, %f8, %g7
fnot2 %f16, %f26
andcc %l5, 0x04B4, %o0
st %fsr, [%l7 + 0x68]
nop
setx 0xDE33AF3F, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f11
setx 0xE66FEC9F, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f28
fdivs %f28, %f11, %f23
array16 %o4, %o2, %l2
fmovse %fcc3, %f28, %f14
fxors %f28, %f18, %f28
st %fsr, [%l7 + 0x70]
st %fsr, [%l7 + 0x30]
fpackfix %f0, %f17
mova %icc, 0x312, %l6
fmovdne %fcc0, %f26, %f0
srl %i4, %i2, %l1
st %fsr, [%l7 + 0x74]
fnand %f6, %f10, %f12
bl,a %icc, loop_36
st %fsr, [%l7 + 0x48]
nop
setx 0xC6955B340DE70A0F, %l0, %l6
stx %l6, [%l7 + 0x50]
ldx [%l7 + 0x50], %fsr
fone %f16
loop_36:
fcmpne16 %f4, %f14, %l4
st %fsr, [%l7 + 0x50]
addccc %g4, 0x0DA2, %l3
rdhpr %hpstate, %i0
edge16n %i6, %l0, %i7
te %icc, 0x2
subccc %i3, %o1, %g2
or %g3, 0x1BD4, %o7
xorcc %i1, 0x06D9, %o5
st %fsr, [%l7 + 0x38]
st %fsr, [%l7 + 0x30]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, %g0, %hsys_tick_cmpr
fpack16 %f22, %f13
fmovdcs %xcc, %f0, %f16
wr %o3, %g5, %pic
nop
setx 0x38D8B4DF, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f1
setx 0xB53982C6, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f1
fadds %f1, %f1, %f17
saved
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
wr %g0, 0x2f, %asi
stda %g0, [%l7 + 0x20] %asi
membar #Sync
nop
setx 0x9EDF1B12, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f27
setx 0x474C3123, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f0
fdivs %f0, %f27, %f11
fmovdge %fcc1, %f26, %f20
mulx %o6, 0x0945, %l5
fornot1s %f30, %f1, %f31
ldsw [%l7 + 0x14], %g7
fmovdne %xcc, %f20, %f18
st %fsr, [%l7 + 0x38]
st %fsr, [%l7 + 0x3C]
wrpr %o0, %o4, %tick
st %fsr, [%l7 + 0x6C]
orncc %l2, 0x0E3B, %l6
move %fcc2, 0x672, %o2
st %fsr, [%l7 + 0x2C]
st %fsr, [%l7 + 0x40]
st %fsr, [%l7 + 0x60]
fmovrse %i2, %f19, %f5
fabss %f18, %f24
brlez %i4, loop_37
rd %tick_cmpr, %l1
st %fsr, [%l7 + 0x14]
st %fsr, [%l7 + 0x48]
loop_37:
fmovrslz %l4, %f17, %f24
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x14]
siam 0x0
fmovdue %fcc3, %f2, %f20
nop
setx 0x23D321BB0DDDB048, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f12
fsqrtd %f12, %f8
st %fsr, [%l7 + 0x20]
tl %xcc, 0x4
fmovscs %xcc, %f0, %f23
st %fsr, [%l7 + 0x24]
andcc %l3, 0x10BE, %i0
movcs %icc, 0x4DA, %i6
wr %g0, 0x88, %asi
lduha [%l7 + 0x44] %asi, %l0
fcmpgt16 %f2, %f6, %g4
nop
setx 0x776EB75C, %l0, %l6
st %l6, [%l7 + 0x24]
ld [%l7 + 0x24], %fsr
andn %i7, 0x1411, %i3
st %fsr, [%l7 + 0x34]
add %l7, 0x40, %l6
wr %g0, 0x04, %asi
lda [%l6] %asi, %o1
casa [%l6] %asi, %o1, %g2
edge16l %o7, %i1, %g3
bne,a,pn %xcc, loop_38
siam 0x7
bn,pt %icc, loop_39
fbug %fcc0, loop_40
loop_38:
rd %pc, %o5
tsubcc %g6, 0x0CE8, %i5
loop_39:
nop
setx 0xCDDB3F25, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f3
setx 0x0F2EA867, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f19
fadds %f19, %f3, %f3
loop_40:
fmovrse %g5, %f4, %f16
st %fsr, [%l7 + 0x78]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xA04, %hsys_tick_cmpr
st %fsr, [%l7 + 0x44]
fabss %f14, %f16
saved
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
fmovdgu %xcc, %f2, %f6
taddcctv %l5, %g7, %o6
st %fsr, [%l7 + 0x6C]
movrlz %o4, %o0, %l2
tpos %icc, 0x3
tsubcctv %o2, %i2, %l6
tsubcc %l1, %i4, %l4
rd %ccr, %l3
wr %i0, %l0, %sys_tick
st %fsr, [%l7 + 0x08]
st %fsr, [%l7 + 0x54]
st %fsr, [%l7 + 0x70]
st %fsr, [%l7 + 0x5C]
st %fsr, [%l7 + 0x1C]
sra %g4, 0x14, %i7
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, %g0, %hsys_tick_cmpr
fmovsl %fcc3, %f8, %f19
xorcc %o1, 0x0929, %i6
nop
setx 0x05B1, %l0, %i1
sdiv %o7, %i1, %g3
tcs %icc, 0x1
array32 %o5, %g2, %i5
movrne %g6, 0x3C9, %g5
st %fsr, [%l7 + 0x70]
fmul8x16au %f8, %f9, %f4
tvc %icc, 0x7
st %fsr, [%l7 + 0x34]
bcs,a %xcc, loop_41
fpsub32 %f30, %f0, %f16
bg,pt %xcc, loop_42
wr %g1, %o3, %sys_tick
loop_41:
fbule,pt %fcc2, loop_43
fone %f2
loop_42:
fmovd %f4, %f8
fmovda %fcc2, %f8, %f18
loop_43:
fnand %f2, %f12, %f24
st %fsr, [%l7 + 0x74]
fors %f13, %f9, %f6
smul %g7, 0x0465, %o6
nop
set 0x5C, %i7
prefetch [%l7 + %i7], 2
fmovsne %fcc1, %f13, %f26
movvs %xcc, %l5, %o0
nop
setx 0x40A060E8, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f10
setx 0x8F6D1168, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f17
fdivs %f17, %f10, %f20
rd %tick_cmpr, %l2
st %fsr, [%l7 + 0x74]
st %fsr, [%l7 + 0x1C]
tn %xcc, 0x0
st %fsr, [%l7 + 0x34]
edge16n %o4, %i2, %l6
nop
fitod %f10, %f22
fdtoi %f22, %f4
fmovsue %fcc0, %f23, %f23
st %fsr, [%l7 + 0x3C]
movrgez %o2, %i4, %l1
smulcc %l4, 0x0CC9, %l3
fmovsge %fcc0, %f8, %f15
stbar
fandnot1s %f6, %f10, %f13
st %fsr, [%l7 + 0x08]
nop
setx 0x1954, %l1, %l0
sdivx %i0, %l0, %g4
movrlz %i3, 0x3DB, %o1
st %fsr, [%l7 + 0x3C]
fmovrslz %i6, %f8, %f9
udivcc %o7, 0x192D, %i7
rdhpr %hintp, %i1
fmovsg %fcc0, %f10, %f15
fmovrdlz %g3, %f22, %f6
st %fsr, [%l7 + 0x30]
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
bmask %o5, %i5, %g2
udiv %g6, 0x0433, %g5
wr %g1, 0x025E, %softint
fmovrsgz %g7, %f5, %f10
st %fsr, [%l7 + 0x30]
nop
fitod %f0, %f14
fdtox %f14, %f28
fxtod %f28, %f30
nop
setx 0xA73EB7C207ACA7B5, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f18
setx 0xDE339ED29062DC17, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f14
fdivd %f14, %f18, %f2
movpos %xcc, 0x484, %o6
tle %icc, 0x5
faligndata %f24, %f6, %f12
fmovrdlez %l5, %f8, %f26
array32 %o0, %o3, %l2
set 0x74, %o1
ldsha [%l7 + %o1] 0x88, %o4
fors %f8, %f4, %f11
movule %fcc1, %l6, %o2
fmovde %fcc3, %f30, %f6
udiv %i4, 0x148C, %i2
fcmpd %fcc2, %f18, %f30
tleu %xcc, 0x5
te %xcc, 0x6
edge32n %l4, %l1, %l3
umul %i0, 0x136C, %g4
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x48]
bne,pn %xcc, loop_44
fornot1 %f22, %f10, %f10
st %fsr, [%l7 + 0x0C]
rd %y, %i3
loop_44:
xor %l0, 0x1E62, %o1
fornot1s %f29, %f3, %f17
udivcc %o7, 0x1882, %i7
stx %fsr, [%l7 + 0x68]
movpos %xcc, 0x52D, %i6
st %fsr, [%l7 + 0x58]
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 3:
!
! Type l : 56
! Type a : 15
! Type x : 4
! Type cti : 9
! Type f : 59
! Type i : 57
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 4 Start
!
main_t4:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0x2, %g1
set 0xF, %g2
set 0xE, %g3
set 0x1, %g4
set 0x5, %g5
set 0x8, %g6
set 0x6, %g7
!# Input registers
set -0x8, %i0
set -0x3, %i1
set -0xD, %i2
set -0x5, %i3
set -0xE, %i4
set -0x8, %i5
set -0x3, %i6
set -0xB, %i7
!# Local registers
set 0x601417E0, %l0
set 0x651D0D4D, %l1
set 0x683B4593, %l2
set 0x26CD6757, %l3
set 0x540B50BC, %l4
set 0x0BFEBCE5, %l5
set 0x24EF1243, %l6
!# Output registers
set -0x0746, %o0
set -0x1C76, %o1
set -0x0AD5, %o2
set 0x1F9C, %o3
set 0x18D6, %o4
set -0x0279, %o5
set 0x0DF0, %o6
set 0x18E1, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
fmovsul %fcc3, %f20, %f27
andncc %i1, %o5, %i5
srl %g3, 0x0A, %g2
fmovsule %fcc1, %f16, %f6
st %fsr, [%l7 + 0x6C]
rd %asi, %g6
st %fsr, [%l7 + 0x7C]
bshuffle %f28, %f20, %f14
st %fsr, [%l7 + 0x6C]
st %fsr, [%l7 + 0x70]
fone %f6
fbule,a,pt %fcc3, loop_45
xnorcc %g5, %g7, %g1
st %fsr, [%l7 + 0x50]
sdivcc %o6, 0x10A1, %l5
loop_45:
fandnot2s %f8, %f6, %f5
nop
fitos %f6, %f26
fstoi %f26, %f21
st %fsr, [%l7 + 0x34]
st %fsr, [%l7 + 0x28]
fmovdlg %fcc0, %f24, %f16
fmovdule %fcc3, %f16, %f14
st %fsr, [%l7 + 0x40]
set 0x40, %g2
stda %f0, [%l7 + %g2] 0xc2
nop
fitos %f12, %f30
fmovdvs %xcc, %f26, %f28
st %fsr, [%l7 + 0x1C]
fmovsle %fcc1, %f1, %f21
membar 0x59
fpackfix %f22, %f16
movne %fcc0, %o3, %l2
fmovsue %fcc0, %f31, %f24
srlx %o0, 0x0A, %l6
fnands %f4, %f13, %f1
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x2C]
fmovrslez %o2, %f13, %f30
fmovdue %fcc0, %f28, %f0
st %fsr, [%l7 + 0x40]
st %fsr, [%l7 + 0x40]
fcmpeq32 %f8, %f0, %o4
nop
fitos %f6, %f3
fstoi %f3, %f28
st %fsr, [%l7 + 0x78]
fornot2 %f26, %f2, %f20
fmovrdlz %i2, %f4, %f4
fnot1 %f8, %f24
rdpr %otherwin, %i4
fzero %f18
tvc %icc, 0x1
for %f6, %f28, %f18
st %fsr, [%l7 + 0x64]
st %fsr, [%l7 + 0x64]
bl,a,pt %icc, loop_46
st %fsr, [%l7 + 0x38]
smulcc %l4, 0x1695, %l1
wr %g0, 0xd2, %asi
ldda [%l7 + 0x40] %asi, %f16
loop_46:
tgu %xcc, 0x4
fmovdn %fcc1, %f24, %f30
fxors %f29, %f8, %f2
array8 %i0, %g4, %i3
fpack16 %f24, %f11
fsrc2 %f4, %f2
fmovsu %fcc2, %f15, %f10
nop
fitos %f1, %f30
fstod %f30, %f28
fornot1 %f2, %f28, %f28
st %fsr, [%l7 + 0x40]
st %fsr, [%l7 + 0x78]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0x3FE, %hsys_tick_cmpr
andncc %o7, %i7, %i6
st %fsr, [%l7 + 0x0C]
wrpr %g0, 0x2, %gl
fpsub16 %f20, %f16, %f14
st %fsr, [%l7 + 0x74]
srl %i1, %i5, %o5
st %fsr, [%l7 + 0x6C]
nop
set 0x40, %o6
std %g2, [%l7 + %o6]
bgu %icc, loop_47
fmovdge %xcc, %f24, %f24
st %fsr, [%l7 + 0x28]
st %fsr, [%l7 + 0x28]
loop_47:
fnot2 %f2, %f16
fnands %f12, %f28, %f2
sethi 0x0A7D, %g6
bshuffle %f18, %f20, %f8
fabss %f13, %f13
movleu %xcc, 0x4D4, %g5
nop
fitod %f8, %f8
fdtoi %f8, %f13
tle %icc, 0x3
st %fsr, [%l7 + 0x4C]
umulcc %g7, %g1, %o6
rdhpr %hsys_tick_cmpr, %g2
st %fsr, [%l7 + 0x0C]
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x54]
fmovdu %fcc2, %f20, %f20
movrne %l5, %l2, %o0
fmovdlg %fcc0, %f28, %f4
fmovsuge %fcc0, %f14, %f24
nop
setx 0x205753CC, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f17
fsqrts %f17, %f7
movl %xcc, 0x382, %l6
edge8n %o3, %o4, %o2
wr %g0, 0x2a, %asi
stda %i4, [%l7 + 0x28] %asi
membar #Sync
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xC35, %hsys_tick_cmpr
fcmple16 %f16, %f18, %l1
st %fsr, [%l7 + 0x14]
nop
fitos %f2, %f8
fstod %f8, %f2
fzero %f24
or %l4, 0x109C, %g4
movrgez %i3, 0x072, %i0
set 0x61, %l5
ldsba [%l7 + %l5] 0x89, %l3
movvc %xcc, %o7, %l0
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x08]
st %fsr, [%l7 + 0x34]
ta %icc, 0x4
st %fsr, [%l7 + 0x5C]
fba,a %fcc0, loop_48
st %fsr, [%l7 + 0x60]
tsubcctv %i7, 0x10A0, %o1
movrne %i1, %i6, %i5
loop_48:
fmovdcc %xcc, %f6, %f2
rdpr %canrestore, %g3
st %fsr, [%l7 + 0x10]
rd %pc, %g6
st %fsr, [%l7 + 0x2C]
sra %g5, 0x01, %o5
fcmple16 %f20, %f22, %g1
st %fsr, [%l7 + 0x30]
st %fsr, [%l7 + 0x58]
nop
set 0x47, %o3
ldub [%l7 + %o3], %o6
bge %icc, loop_49
fmovsg %icc, %f3, %f10
andn %g2, 0x0C6B, %l5
st %fsr, [%l7 + 0x28]
loop_49:
rd %ccr, %g7
st %fsr, [%l7 + 0x34]
fmovrdlz %l2, %f20, %f0
nop
setx loop_50, %l0, %l1
jmpl %l1, %l6
tsubcctv %o0, %o4, %o2
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x54]
loop_50:
st %fsr, [%l7 + 0x2C]
lduw [%l7 + 0x74], %o3
st %fsr, [%l7 + 0x5C]
fmovdo %fcc2, %f30, %f30
st %fsr, [%l7 + 0x2C]
orn %i4, 0x1CD3, %l1
fsrc1 %f2, %f14
st %fsr, [%l7 + 0x34]
fpack32 %f0, %f30, %f16
st %fsr, [%l7 + 0x68]
st %fsr, [%l7 + 0x0C]
smul %i2, 0x1737, %l4
movo %fcc2, 0x78D, %g4
nop
fitos %f11, %f20
fstox %f20, %f2
st %fsr, [%l7 + 0x68]
andncc %i3, 0x12CB, %i0
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
brz,a,pt %l3, loop_51
st %fsr, [%l7 + 0x68]
st %fsr, [%l7 + 0x6C]
st %fsr, [%l7 + 0x3C]
loop_51:
bgu,a,pt %xcc, loop_52
fmovsgu %xcc, %f22, %f2
st %fsr, [%l7 + 0x54]
nop
setx 0x6A19815C, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f23
fsqrts %f23, %f10
loop_52:
fmul8sux16 %f24, %f18, %f12
movle %fcc3, %o7, %i7
fornot1s %f6, %f15, %f17
fmovsvc %xcc, %f4, %f15
sethi 0x178C, %o1
rdhpr %hpstate, %i1
fxors %f1, %f16, %f12
edge32n %l0, %i6, %i5
fmovsl %fcc3, %f21, %f24
bleu,a,pt %xcc, loop_53
tvs %icc, 0x7
bn %xcc, loop_54
fmovrdne %g3, %f26, %f26
loop_53:
st %fsr, [%l7 + 0x54]
fcmped %fcc0, %f24, %f20
loop_54:
fmovsvc %xcc, %f4, %f23
wr %g0, 0xeb, %asi
stda %g4, [%l7 + 0x58] %asi
membar #Sync
and %g6, %o5, %g1
fmovsvc %icc, %f6, %f5
prefetch [%l7 + 0x34], 4
ta %xcc, 0x0
st %fsr, [%l7 + 0x30]
tcs %xcc, 0x2
st %fsr, [%l7 + 0x0C]
fcmpes %fcc2, %f3, %f20
st %fsr, [%l7 + 0x58]
fpadd16s %f8, %f5, %f20
movleu %xcc, %o6, %g2
st %fsr, [%l7 + 0x10]
st %fsr, [%l7 + 0x14]
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 4:
!
! Type l : 68
! Type a : 10
! Type x : 5
! Type cti : 10
! Type f : 65
! Type i : 42
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 5 Start
!
main_t5:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0xE, %g1
set 0x2, %g2
set 0x7, %g3
set 0xD, %g4
set 0x6, %g5
set 0x8, %g6
set 0x5, %g7
!# Input registers
set -0x3, %i0
set -0xC, %i1
set -0xD, %i2
set -0x1, %i3
set -0xC, %i4
set -0x3, %i5
set -0x8, %i6
set -0xD, %i7
!# Local registers
set 0x6FD1168D, %l0
set 0x5010DD63, %l1
set 0x111C2379, %l2
set 0x581CD540, %l3
set 0x7F96D71E, %l4
set 0x0A40B6F7, %l5
set 0x1CD88ACB, %l6
!# Output registers
set -0x12D0, %o0
set -0x1F78, %o1
set -0x117D, %o2
set -0x171E, %o3
set -0x10E2, %o4
set 0x1E29, %o5
set 0x0316, %o6
set -0x156D, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
rd %y, %l5
pdist %f24, %f16, %f0
subcc %l2, %g7, %l6
edge16n %o0, %o2, %o3
nop
fitod %f18, %f16
st %fsr, [%l7 + 0x7C]
fmovsule %fcc3, %f22, %f17
fmul8ulx16 %f8, %f20, %f8
saved
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
st %fsr, [%l7 + 0x58]
st %fsr, [%l7 + 0x60]
st %fsr, [%l7 + 0x30]
st %fsr, [%l7 + 0x6C]
nop
fitod %f2, %f6
fdtox %f6, %f14
sub %o4, 0x0F01, %i4
umul %i2, 0x0755, %l1
st %fsr, [%l7 + 0x44]
movre %g4, %l4, %i3
bcc %xcc, loop_55
st %fsr, [%l7 + 0x64]
st %fsr, [%l7 + 0x78]
movre %l3, 0x17E, %i0
loop_55:
st %fsr, [%l7 + 0x7C]
array32 %o7, %i7, %i1
array32 %o1, %i6, %i5
st %fsr, [%l7 + 0x20]
fpack16 %f24, %f26
fble %fcc0, loop_56
st %fsr, [%l7 + 0x20]
fnot2s %f25, %f28
fxors %f4, %f28, %f20
loop_56:
fmovsuge %fcc0, %f1, %f29
st %fsr, [%l7 + 0x1C]
movre %l0, 0x3E0, %g3
fmovdpos %icc, %f28, %f30
fnors %f8, %f24, %f24
st %fsr, [%l7 + 0x20]
sth %g6, [%l7 + 0x16]
edge16 %o5, %g1, %o6
fmovsvc %icc, %f25, %f8
membar 0x09
edge8 %g2, %l5, %l2
fmovsne %xcc, %f14, %f29
orn %g5, %g7, %l6
mulscc %o0, 0x0E18, %o3
fcmple32 %f22, %f22, %o4
fbue %fcc3, loop_57
st %fsr, [%l7 + 0x70]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wr %l0, %g0, %tick_cmpr
nop
setx 0x668DA4375D8E9520, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f4
setx 0xA66F82BA3E3FCC86, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f30
faddd %f30, %f4, %f16
loop_57:
add %i2, %g4, %l4
st %fsr, [%l7 + 0x48]
alignaddr %i3, %l1, %l3
st %fsr, [%l7 + 0x2C]
wr %g0, 0x0c, %asi
lduwa [%l7 + 0x18] %asi, %i0
bgu,pn %icc, loop_58
st %fsr, [%l7 + 0x34]
nop
setx 0xC9FE439E, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f18
fsqrts %f18, %f9
fpackfix %f4, %f31
loop_58:
fmovscc %xcc, %f6, %f31
fone %f0
st %fsr, [%l7 + 0x28]
fmovdcc %icc, %f28, %f0
movug %fcc0, %o7, %i1
ldub [%l7 + 0x41], %i7
alignaddrl %i6, %i5, %l0
addcc %g3, %o1, %g6
srlx %o5, %o6, %g2
wr %g0, 0x10, %asi
prefetcha [%l7 + 0x18] %asi, 0
st %fsr, [%l7 + 0x40]
fzero %f8
tl %xcc, 0x4
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x50]
st %fsr, [%l7 + 0x38]
nop
set 0x4C, %g1
stw %l2, [%l7 + %g1]
nop
setx 0x17A6, %l0, %g7
sdivcc %g1, %g7, %l6
ta %xcc, 0x6
st %fsr, [%l7 + 0x2C]
st %fsr, [%l7 + 0x0C]
st %fsr, [%l7 + 0x5C]
st %fsr, [%l7 + 0x20]
rdhpr %hpstate, %o0
rd %sys_tick_cmpr, %g5
fmovduge %fcc0, %f16, %f6
xnorcc %o4, 0x0C0F, %o3
bgu %icc, loop_59
fbge,a %fcc3, loop_60
st %fsr, [%l7 + 0x40]
bmask %o2, %i4, %i2
loop_59:
st %fsr, [%l7 + 0x40]
loop_60:
sethi 0x1F0E, %g4
fandnot1s %f17, %f2, %f9
wrpr %g0, 0x2, %gl
fmovrse %l1, %f31, %f7
st %fsr, [%l7 + 0x68]
ld [%l7 + 0x40], %f25
fmovscc %xcc, %f29, %f30
andn %l4, %i0, %l3
movle %fcc0, 0x557, %i1
fbe,pn %fcc3, loop_61
fnands %f30, %f18, %f18
fmovsleu %icc, %f19, %f8
andcc %i7, %i6, %o7
loop_61:
movrgz %i5, 0x309, %g3
sllx %o1, %g6, %l0
wr %g0, 0x52, %asi
ldxa [%g0 + 0x220] %asi, %o5
movrne %g2, %l5, %o6
fone %f26
fpack16 %f16, %f0
movue %fcc2, %l2, %g1
fpadd32 %f28, %f26, %f30
st %fsr, [%l7 + 0x68]
membar 0x79
st %fsr, [%l7 + 0x70]
fmovdu %fcc3, %f4, %f18
fmovrdgez %g7, %f22, %f22
st %fsr, [%l7 + 0x78]
st %fsr, [%l7 + 0x54]
rdhpr %ver, %l6
st %fsr, [%l7 + 0x34]
fnegs %f6, %f10
st %fsr, [%l7 + 0x6C]
fbul %fcc2, loop_62
edge32l %g5, %o4, %o3
prefetch [%l7 + 0x30], 1
st %fsr, [%l7 + 0x4C]
loop_62:
rdhpr %hintp, %o0
fmovdgu %xcc, %f28, %f28
nop
fitod %f6, %f20
fdtoi %f20, %f1
tleu %icc, 0x2
st %fsr, [%l7 + 0x08]
st %fsr, [%l7 + 0x18]
fbuge %fcc1, loop_63
fzero %f18
movne %xcc, 0x349, %i4
taddcctv %o2, 0x1D57, %i2
loop_63:
fsrc1s %f3, %f15
ld [%l7 + 0x5C], %f19
st %fsr, [%l7 + 0x24]
edge8l %g4, %l1, %l4
wr %i3, 0x1225, %ccr
st %fsr, [%l7 + 0x74]
lduw [%l7 + 0x14], %i0
st %fsr, [%l7 + 0x14]
movpos %icc, 0x22C, %i1
array32 %l3, %i7, %o7
st %fsr, [%l7 + 0x2C]
st %fsr, [%l7 + 0x48]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0x4D0, %hsys_tick_cmpr
or %i5, %g6, %l0
nop
fitod %f2, %f6
fdtox %f6, %f0
fxtod %f0, %f6
st %fsr, [%l7 + 0x48]
fmovspos %xcc, %f30, %f28
nop
fitos %f12, %f21
fstox %f21, %f10
fxtos %f10, %f2
st %fsr, [%l7 + 0x64]
st %fsr, [%l7 + 0x78]
nop
setx 0x7ACC8DB8, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f28
setx 0x37C4EF7D, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f23
fmuls %f23, %f28, %f3
fandnot1s %f22, %f20, %f27
fbul,a %fcc1, loop_64
popc 0x06ED, %o5
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x58]
loop_64:
st %f17, [%l7 + 0x14]
nop
set 0x1C, %o4
ldsw [%l7 + %o4], %o1
tvs %icc, 0x4
fmovsvc %icc, %f9, %f23
wrpr %g2, %o6, %cwp
rd %tick_cmpr, %l2
wr %g0, 0x5, %fprs
udivcc %g1, 0x1F05, %g7
fandnot1s %f30, %f17, %f13
fcmpd %fcc3, %f24, %f28
st %fsr, [%l7 + 0x48]
movrgz %g5, 0x316, %o4
wrpr %g0, 0x0, %gl
edge32l %i4, %o2, %o0
movule %fcc1, 0x564, %i2
set 0x24, %g7
ldsba [%l7 + %g7] 0x0c, %g4
fmovdo %fcc2, %f30, %f14
fbn,pt %fcc2, loop_65
movrgz %l1, %i3, %l4
st %fsr, [%l7 + 0x78]
nop
fitod %f8, %f10
fdtos %f10, %f26
loop_65:
fmovdgu %icc, %f18, %f24
st %fsr, [%l7 + 0x68]
tleu %xcc, 0x2
fnot1 %f26, %f30
st %fsr, [%l7 + 0x4C]
rdhpr %hintp, %i1
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wr %l0, 0x3D1, %sys_tick_cmpr
st %fsr, [%l7 + 0x40]
fmovdue %fcc2, %f10, %f0
fand %f30, %f30, %f4
st %fsr, [%l7 + 0x38]
wr %o7, %i7, %sys_tick
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 5:
!
! Type l : 67
! Type a : 16
! Type x : 4
! Type cti : 11
! Type f : 51
! Type i : 51
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 6 Start
!
main_t6:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0x3, %g1
set 0xE, %g2
set 0xC, %g3
set 0x2, %g4
set 0x5, %g5
set 0x2, %g6
set 0xB, %g7
!# Input registers
set -0xF, %i0
set -0x1, %i1
set -0x9, %i2
set -0xC, %i3
set -0x7, %i4
set -0x5, %i5
set -0x2, %i6
set -0x0, %i7
!# Local registers
set 0x2112852E, %l0
set 0x752E1CAF, %l1
set 0x238EE386, %l2
set 0x48907B13, %l3
set 0x4D5A19D7, %l4
set 0x759655FF, %l5
set 0x4A9B080A, %l6
!# Output registers
set -0x19A0, %o0
set 0x0042, %o1
set 0x0A12, %o2
set -0x12C9, %o3
set 0x06FF, %o4
set -0x19AA, %o5
set 0x0D5B, %o6
set -0x11BB, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
fmul8ulx16 %f0, %f22, %f12
movleu %xcc, %i6, %i5
fzeros %f30
st %fsr, [%l7 + 0x5C]
st %fsr, [%l7 + 0x0C]
brgez,a,pn %g6, loop_66
rdpr %gl, %g3
fmovsule %fcc0, %f15, %f7
edge16n %o5, %l0, %g2
loop_66:
st %fsr, [%l7 + 0x70]
sra %o6, 0x03, %l2
st %fsr, [%l7 + 0x74]
movvs %xcc, %o1, %g1
fmovsvc %xcc, %f15, %f17
st %fsr, [%l7 + 0x54]
nop
fitod %f14, %f30
st %fsr, [%l7 + 0x5C]
movuge %fcc1, %g7, %g5
array32 %o4, %l5, %l6
movge %xcc, 0x59F, %o3
st %fsr, [%l7 + 0x08]
wrpr %i4, 0x1769, %pil
ldsb [%l7 + 0x5D], %o2
fmovslg %fcc1, %f11, %f30
st %fsr, [%l7 + 0x74]
fmovdvc %xcc, %f2, %f10
bshuffle %f22, %f18, %f18
rd %fprs, %i2
fmovdle %icc, %f30, %f0
st %fsr, [%l7 + 0x78]
fbue,a %fcc1, loop_67
st %fsr, [%l7 + 0x20]
rdhpr %hintp, %o0
st %fsr, [%l7 + 0x3C]
loop_67:
st %fsr, [%l7 + 0x20]
st %fsr, [%l7 + 0x08]
fandnot1 %f28, %f24, %f10
smul %l1, 0x0579, %g4
st %fsr, [%l7 + 0x64]
wrpr %g0, 0x2, %gl
fnands %f18, %f30, %f28
st %fsr, [%l7 + 0x7C]
faligndata %f6, %f0, %f26
set 0x54, %i3
lduwa [%l7 + %i3] 0x19, %l3
fnot1 %f8, %f14
st %fsr, [%l7 + 0x40]
alignaddrl %i1, %i0, %o7
edge16n %i6, %i5, %g6
rd %sys_tick_cmpr, %g3
fbge,a %fcc3, loop_68
movrne %o5, %l0, %g2
edge32n %i7, %o6, %o1
nop
set 0x60, %i4
stx %fsr, [%l7 + %i4]
loop_68:
andncc %l2, 0x1008, %g1
bcc,pt %xcc, loop_69
lduh [%l7 + 0x54], %g5
st %fsr, [%l7 + 0x3C]
tsubcc %o4, %l5, %g7
loop_69:
mova %xcc, 0x39A, %o3
nop
setx 0x7820D755, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f21
setx 0x5E3E6C2D, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f29
fdivs %f29, %f21, %f25
movg %fcc0, %i4, %l6
fmovdcs %icc, %f18, %f18
fmuld8ulx16 %f28, %f5, %f6
tneg %icc, 0x5
fpmerge %f18, %f13, %f8
rd %y, %o2
sllx %o0, 0x15, %i2
fmovsvs %xcc, %f14, %f0
stbar
fornot2 %f24, %f30, %f28
fcmpd %fcc3, %f2, %f12
mulscc %l1, %i3, %g4
nop
fitos %f9, %f28
fstox %f28, %f8
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
edge16l %l3, %i1, %l4
st %fsr, [%l7 + 0x08]
fmovdle %icc, %f10, %f0
fand %f30, %f28, %f22
nop
fitod %f2, %f8
fdtos %f8, %f9
edge8n %o7, %i0, %i5
xnor %g6, 0x0DB6, %g3
alignaddr %o5, %l0, %g2
fmovrdlez %i7, %f2, %f26
umul %i6, 0x10B2, %o6
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, %g0, %hsys_tick_cmpr
st %fsr, [%l7 + 0x14]
bvs %xcc, loop_70
fmovsug %fcc3, %f31, %f4
fandnot2s %f3, %f19, %f13
st %fsr, [%l7 + 0x7C]
loop_70:
srax %g1, 0x13, %g5
rd %fprs, %l2
nop
set 0x3C, %g5
stw %l5, [%l7 + %g5]
add %o4, 0x1C30, %o3
nop
fitod %f0, %f18
fdtos %f18, %f15
taddcctv %i4, %l6, %g7
edge8ln %o2, %o0, %l1
st %fsr, [%l7 + 0x3C]
fbu %fcc2, loop_71
fbn %fcc1, loop_72
st %fsr, [%l7 + 0x10]
st %fsr, [%l7 + 0x0C]
loop_71:
rdhpr %hpstate, %i3
loop_72:
nop
set 0x7C, %o2
lduw [%l7 + %o2], %i2
nop
set 0x50, %l2
ldd [%l7 + %l2], %f18
addc %l3, %g4, %i1
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x28]
taddcctv %o7, 0x06FB, %l4
ble,a %icc, loop_73
brz %i0, loop_74
nop
setx 0xFAD4CA632B8C5474, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f6
setx 0xE1178B6AB0186909, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f8
faddd %f8, %f6, %f16
te %icc, 0x4
loop_73:
nop
setx 0x17ED, %l0, %g3
udivx %i5, %g3, %g6
loop_74:
std %f30, [%l7 + 0x30]
nop
setx 0x7A0A557B, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f2
setx 0x568564A7, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f27
fadds %f27, %f2, %f6
fmul8x16au %f20, %f1, %f24
fmovsneg %icc, %f31, %f18
nop
setx 0x0898, %l1, %l0
udiv %o5, %l0, %g2
fexpand %f30, %f12
fpadd16s %f7, %f22, %f13
st %fsr, [%l7 + 0x54]
fcmpne32 %f20, %f4, %i6
st %fsr, [%l7 + 0x7C]
st %fsr, [%l7 + 0x1C]
fmovrdgz %o6, %f20, %f14
st %fsr, [%l7 + 0x38]
st %fsr, [%l7 + 0x34]
taddcc %i7, 0x10C8, %g1
st %fsr, [%l7 + 0x24]
rdpr %gl, %o1
fpsub32 %f22, %f0, %f8
st %fsr, [%l7 + 0x58]
st %fsr, [%l7 + 0x78]
fmovdl %fcc3, %f2, %f22
st %fsr, [%l7 + 0x10]
fmovdge %fcc3, %f8, %f16
st %fsr, [%l7 + 0x1C]
st %fsr, [%l7 + 0x10]
edge16 %l2, %l5, %g5
movul %fcc1, %o3, %o4
movrlz %l6, %g7, %i4
fcmpd %fcc1, %f18, %f14
nop
setx loop_75, %l0, %l1
jmpl %l1, %o0
fors %f26, %f26, %f19
fmovscc %xcc, %f18, %f11
movneg %xcc, %l1, %o2
loop_75:
umul %i3, %i2, %g4
st %fsr, [%l7 + 0x08]
fand %f10, %f14, %f12
fbe,a %fcc2, loop_76
fmovdule %fcc0, %f20, %f28
nop
setx 0x99586FC0, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f8
setx 0x8C8638FD, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f3
fdivs %f3, %f8, %f2
st %fsr, [%l7 + 0x40]
loop_76:
nop
set 0x48, %i2
sth %l3, [%l7 + %i2]
fbo,a %fcc3, loop_77
st %fsr, [%l7 + 0x54]
movle %fcc3, %o7, %i1
fmovsuge %fcc2, %f17, %f8
loop_77:
fpsub32 %f0, %f8, %f30
ble,a %icc, loop_78
edge8 %i0, %i5, %l4
st %fsr, [%l7 + 0x48]
fones %f17
loop_78:
movl %icc, 0x07E, %g6
nop
setx 0x5144C81C, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f19
setx 0x73D10D47, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f7
fadds %f7, %f19, %f31
st %fsr, [%l7 + 0x40]
andncc %g3, 0x00E1, %o5
fmovrdne %l0, %f10, %f10
st %fsr, [%l7 + 0x1C]
tsubcc %g2, %i6, %i7
nop
fitos %f20, %f3
fmovde %fcc3, %f12, %f24
fmovsuge %fcc1, %f2, %f9
andn %g1, %o1, %o6
addc %l2, 0x1265, %l5
st %fsr, [%l7 + 0x7C]
subccc %o3, %g5, %l6
nop
setx loop_79, %l0, %l1
wrpr 0x1, %tl
wrpr %l1, %tpc
add %l1, 0x4, %l1
wrpr %l1, %tnpc
setx 0x034400001402, %l0, %l1
wrpr %l1, %tstate
wrhpr 0x4, %htstate
retry
movre %o4, 0x1C9, %i4
fmovrdne %g7, %f28, %f12
st %fsr, [%l7 + 0x6C]
loop_79:
nop
wr %g0, 0x11, %asi
stwa %l1, [%l7 + 0x18] %asi
xorcc %o2, %i3, %o0
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xE9C, %hsys_tick_cmpr
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
fmovsue %fcc0, %f5, %f20
orncc %l3, %g4, %o7
movrgz %i1, %i0, %l4
bneg %icc, loop_80
st %fsr, [%l7 + 0x58]
fandnot1 %f4, %f8, %f28
fbue,a,pt %fcc0, loop_81
loop_80:
st %fsr, [%l7 + 0x6C]
fabss %f30, %f25
add %g6, %i5, %o5
loop_81:
st %fsr, [%l7 + 0x44]
fmovsa %xcc, %f30, %f15
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 6:
!
! Type l : 58
! Type a : 12
! Type x : 2
! Type cti : 16
! Type f : 58
! Type i : 54
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Thread 7 Start
!
main_t7:
mov %l7, %g1
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
wrpr %g0, 0x7, %cwp
mov %g1, %l7
wrpr %g0, 0x6, %cwp
mov %g1, %l7
wrpr %g0, 0x5, %cwp
mov %g1, %l7
wrpr %g0, 0x4, %cwp
mov %g1, %l7
wrpr %g0, 0x3, %cwp
mov %g1, %l7
wrpr %g0, 0x2, %cwp
mov %g1, %l7
wrpr %g0, 0x1, %cwp
mov %g1, %l7
wrpr %g0, 0x0, %cwp
mov %g1, %l7
!# Set %fsr
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
!# Global registers
set 0x7, %g1
set 0x4, %g2
set 0xB, %g3
set 0x1, %g4
set 0xA, %g5
set 0xB, %g6
set 0xE, %g7
!# Input registers
set -0xB, %i0
set -0x3, %i1
set -0x8, %i2
set -0x8, %i3
set -0x5, %i4
set -0x9, %i5
set -0x3, %i6
set -0xC, %i7
!# Local registers
set 0x5DDA7069, %l0
set 0x2245D858, %l1
set 0x564DB3B0, %l2
set 0x14C86928, %l3
set 0x41500F72, %l4
set 0x043D8F9F, %l5
set 0x4D841C51, %l6
!# Output registers
set 0x16DD, %o0
set 0x074A, %o1
set -0x1F93, %o2
set -0x0B06, %o3
set -0x05E5, %o4
set 0x1754, %o5
set -0x1326, %o6
set -0x1C37, %o7
!# Float registers
INIT_TH_FP_REG(%l7,%f0,0xCC8D0620E2DA3693)
INIT_TH_FP_REG(%l7,%f2,0xFA244F23DF29DB54)
INIT_TH_FP_REG(%l7,%f4,0xB3D57F1FD825C368)
INIT_TH_FP_REG(%l7,%f6,0xD424E498A853CE5F)
INIT_TH_FP_REG(%l7,%f8,0x977F0E2124D33F26)
INIT_TH_FP_REG(%l7,%f10,0xA0B27E8022DAD6F1)
INIT_TH_FP_REG(%l7,%f12,0x0E18BA3EE2FD2B03)
INIT_TH_FP_REG(%l7,%f14,0x82E2F7E67C833C90)
INIT_TH_FP_REG(%l7,%f16,0xB89D0594757DA2EA)
INIT_TH_FP_REG(%l7,%f18,0x13FED6033727FCD0)
INIT_TH_FP_REG(%l7,%f20,0x07AF4B2FEA0A7C57)
INIT_TH_FP_REG(%l7,%f22,0xF9469CA7B8499B25)
INIT_TH_FP_REG(%l7,%f24,0x44BC25C38BAFF430)
INIT_TH_FP_REG(%l7,%f26,0x93A19EEFE466340C)
INIT_TH_FP_REG(%l7,%f28,0xAAE03C1EEE40660C)
INIT_TH_FP_REG(%l7,%f30,0x355FB97FCC4E55E9)
!# Execute Main Diag ..
nop
setx 0xB02FBBF9, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f15
setx 0x9770274D, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f14
fsubs %f14, %f15, %f16
add %l0, %g2, %i6
std %g2, [%l7 + 0x20]
st %fsr, [%l7 + 0x30]
taddcc %i7, %g1, %o1
tne %xcc, 0x5
wr %o6, %l5, %ccr
fmovrslz %l2, %f27, %f5
fmovsleu %xcc, %f2, %f22
mulx %g5, 0x08E6, %o3
nop
setx 0xA55E23FDF05AC1A1, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f2
setx 0xF5C5304A, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f22
fsmuld %f22, %f2, %f24
fbge %fcc2, loop_82
rdhpr %hsys_tick_cmpr, %o4
movcc %xcc, %l6, %i4
st %fsr, [%l7 + 0x10]
loop_82:
ldub [%l7 + 0x0F], %g7
st %fsr, [%l7 + 0x14]
brgez,a,pn %o2, loop_83
orcc %i3, %l1, %i2
st %fsr, [%l7 + 0x64]
rdpr %otherwin, %o0
loop_83:
fcmpes %fcc3, %f18, %f9
st %fsr, [%l7 + 0x2C]
movuge %fcc2, %g4, %l3
st %fsr, [%l7 + 0x28]
alignaddr %o7, %i0, %l4
sethi 0x1246, %i1
st %fsr, [%l7 + 0x5C]
tsubcctv %i5, 0x17CC, %g6
rdpr %wstate, %l0
fpadd16s %f13, %f12, %f5
andn %o5, 0x19C0, %i6
st %fsr, [%l7 + 0x6C]
fpsub16s %f19, %f18, %f22
fmovdug %fcc3, %f24, %f2
rd %tick_cmpr, %g2
bmask %g3, %i7, %o1
ta %xcc, 0x2
nop
setx 0x782DD334EE84254E, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f28
fsqrtd %f28, %f10
rdpr %wstate, %o6
wr %l5, %g1, %sys_tick
nop
setx 0x3C997840E1EA1B55, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f24
fsqrtd %f24, %f20
st %fsr, [%l7 + 0x48]
tvs %icc, 0x5
st %fsr, [%l7 + 0x7C]
st %fsr, [%l7 + 0x34]
fcmped %fcc1, %f20, %f24
bg,pn %xcc, loop_84
array16 %l2, %g5, %o3
fcmpes %fcc2, %f17, %f14
tn %icc, 0x2
loop_84:
taddcctv %o4, %i4, %g7
nop
setx 0x3586122081AEBDC8, %l0, %l6
stx %l6, [%l7 + 0x58]
ldx [%l7 + 0x58], %fsr
edge8 %l6, %i3, %o2
st %fsr, [%l7 + 0x64]
st %fsr, [%l7 + 0x30]
fmovslg %fcc2, %f5, %f24
fmovsue %fcc1, %f0, %f0
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
fcmpne32 %f18, %f6, %i2
edge32ln %l1, %g4, %o0
fbl,pn %fcc1, loop_85
st %fsr, [%l7 + 0x78]
nop
setx 0x1137, %l0, %o7
sdivx %l3, %o7, %l4
fpsub32s %f12, %f17, %f0
loop_85:
fzero %f16
ldd [%l7 + 0x38], %f24
fmovsuge %fcc0, %f10, %f18
smulcc %i1, %i5, %g6
umulcc %i0, 0x1B5C, %l0
fmovrdlz %o5, %f24, %f8
subc %i6, 0x03ED, %g3
st %fsr, [%l7 + 0x1C]
wrpr %i7, %o1, %tick
sethi 0x1681, %g2
st %fsr, [%l7 + 0x34]
st %fsr, [%l7 + 0x34]
tneg %xcc, 0x5
mulscc %o6, 0x08F9, %l5
movn %icc, 0x6CB, %g1
fmovsne %fcc1, %f17, %f2
fpackfix %f14, %f31
st %fsr, [%l7 + 0x10]
tle %icc, 0x5
wr %g0, 0x80, %asi
stwa %g5, [%l7 + 0x70] %asi
st %fsr, [%l7 + 0x48]
st %fsr, [%l7 + 0x28]
fxnors %f29, %f21, %f9
nop
setx 0x82857030FE441B96, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f16
setx 0x247CEEE2, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f30
fsmuld %f30, %f16, %f10
st %fsr, [%l7 + 0x54]
fmovrdlz %o3, %f30, %f8
fmovsue %fcc0, %f12, %f30
st %fsr, [%l7 + 0x40]
st %fsr, [%l7 + 0x50]
st %fsr, [%l7 + 0x38]
andcc %o4, 0x054C, %i4
movue %fcc2, 0x040, %g7
fmul8x16 %f14, %f2, %f12
fmovsuge %fcc3, %f0, %f6
st %fsr, [%l7 + 0x10]
nop
setx 0x13DC, %l0, %i3
udiv %l2, %i3, %o2
fmovdcs %icc, %f4, %f24
fmovdneg %icc, %f16, %f30
stw %i2, [%l7 + 0x2C]
st %fsr, [%l7 + 0x4C]
nop
setx 0x08A6, %l0, %g4
sdivcc %l6, %g4, %l1
st %fsr, [%l7 + 0x58]
st %fsr, [%l7 + 0x6C]
fmovse %fcc3, %f29, %f15
movul %fcc2, %o0, %o7
st %fsr, [%l7 + 0x30]
edge32ln %l3, %l4, %i5
st %fsr, [%l7 + 0x6C]
fbue,a %fcc0, loop_86
movre %g6, %i0, %i1
st %fsr, [%l7 + 0x48]
fpadd32 %f24, %f10, %f12
loop_86:
st %fsr, [%l7 + 0x60]
set 0x32, %l6
lduha [%l7 + %l6] 0x19, %l0
fpadd16 %f20, %f24, %f8
st %fsr, [%l7 + 0x28]
siam 0x3
movvs %icc, 0x115, %o5
restored
rdpr %cwp, %g1
rdpr %cansave, %g2
rdpr %canrestore, %g3
rdpr %cleanwin, %g4
rdpr %otherwin, %g5
rdpr %wstate, %g6
orn %i6, %i7, %g3
st %fsr, [%l7 + 0x14]
movcs %xcc, %o1, %g2
nop
setx 0xEA8921BA, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f27
setx 0xF0DBBDF4, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f7
fmuls %f7, %f27, %f1
fmovdul %fcc3, %f18, %f6
st %fsr, [%l7 + 0x54]
movneg %icc, %l5, %o6
andn %g1, 0x011A, %o3
movn %fcc0, 0x7E7, %o4
st %fsr, [%l7 + 0x18]
fbue,a %fcc1, loop_87
stx %fsr, [%l7 + 0x58]
st %fsr, [%l7 + 0x68]
edge16n %g5, %i4, %g7
loop_87:
nop
setx 0x1B29, %l0, %o2
udivx %i3, %o2, %l2
st %fsr, [%l7 + 0x18]
st %fsr, [%l7 + 0x40]
fmuld8sux16 %f6, %f15, %f4
fbe,a,pt %fcc1, loop_88
array8 %i2, %g4, %l1
st %fsr, [%l7 + 0x38]
ldub [%l7 + 0x26], %l6
loop_88:
nop
fitod %f4, %f10
fdtox %f10, %f8
fxtod %f8, %f4
st %fsr, [%l7 + 0x68]
movrlz %o7, %l3, %o0
st %fsr, [%l7 + 0x34]
st %fsr, [%l7 + 0x5C]
st %fsr, [%l7 + 0x60]
fmul8sux16 %f22, %f6, %f16
movrlez %i5, %g6, %l4
membar #Sync
set 0x40, %l1
ldda [%l7 + %l1] 0xf8, %f0
fxnor %f16, %f30, %f12
fmovdpos %icc, %f22, %f14
or %i1, %i0, %o5
set 0x40, %l3
stda %f0, [%l7 + %l3] 0xc1
st %fsr, [%l7 + 0x64]
or %g0, 0x8, %l0
sllx %l0, 0x3c, %l0
wrhpr %l0, 0xD0F, %hsys_tick_cmpr
fmovso %fcc1, %f12, %f24
nop
fitod %f0, %f6
prefetch [%l7 + 0x2C], 3
faligndata %f22, %f2, %f24
st %fsr, [%l7 + 0x08]
tcc %icc, 0x3
fmovspos %xcc, %f12, %f0
fbule,a,pn %fcc2, loop_89
st %fsr, [%l7 + 0x70]
fabss %f22, %f4
st %fsr, [%l7 + 0x60]
loop_89:
nop
setx 0x6A0250869ECAE2B2, %l0, %l6
stx %l6, [%l7 + 0x28]
ldd [%l7 + 0x28], %f12
setx 0xC8FE7DA7FF149BB6, %l1, %l5
stx %l5, [%l7 + 0x10]
ldd [%l7 + 0x10], %f14
faddd %f14, %f12, %f12
flush %l7 + 0x44
bleu %xcc, loop_90
nop
set 0x40, %o7
std %f8, [%l7 + %o7]
fpackfix %f12, %f20
sub %g3, 0x0E0C, %i7
loop_90:
tl %icc, 0x3
fmovsu %fcc1, %f27, %f4
array8 %o1, %g2, %o6
movre %l5, %g1, %o3
fcmpd %fcc2, %f4, %f4
wr %g0, 0x11, %asi
lduha [%l7 + 0x66] %asi, %o4
fmovrdgez %g5, %f4, %f30
brlez,a %g7, loop_91
st %fsr, [%l7 + 0x10]
fmovduge %fcc2, %f24, %f4
nop
setx 0x0935, %l0, %i4
udivcc %i3, %i4, %o2
loop_91:
movge %fcc3, 0x590, %i2
fmovdcc %icc, %f28, %f0
st %fsr, [%l7 + 0x54]
fmovsge %icc, %f5, %f13
st %fsr, [%l7 + 0x60]
nop
setx 0xBA728830, %l0, %l6
st %l6, [%l7 + 0x28]
ld [%l7 + 0x28], %f20
setx 0x5BF76D90, %l1, %l5
st %l5, [%l7 + 0x10]
ld [%l7 + 0x10], %f27
fsubs %f27, %f20, %f27
EXIT_GOOD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Stats for Thread 7:
!
! Type l : 66
! Type a : 9
! Type x : 5
! Type cti : 10
! Type f : 54
! Type i : 56
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EXIT_GOOD /* test finish */
/************************************************************************
Test case data start
************************************************************************/
.data
user_data_start:
scratch_area:
.word 0xF5681776
.word 0x885F1365
.word 0xA2754697
.word 0xED619F24
.word 0xCE7CC31B
.word 0x67367937
.word 0xE1DFFE70
.word 0xB1C3F371
.word 0x52D43409
.word 0x23A7D161
.word 0x95E6AC99
.word 0x1ADD80DB
.word 0x9275C51E
.word 0x7244D468
.word 0x998C82B6
.word 0xC68B0EC9
.word 0xC633A9E5
.word 0x82AB8B81
.word 0x02203605
.word 0x8BF40F64
.word 0x581784BC
.word 0x6BE48BF2
.word 0x36B0857B
.word 0x09F35909
.word 0x18BD51A9
.word 0xB99B0817
.word 0xCBD4BFFF
.word 0x0DD99D0B
.word 0x31FDBC62
.word 0x2E4AC7BE
.word 0x00920AB0
.word 0x72F91BF5
.word 0x16AA0AF2
.word 0x155F9687
.word 0x1AB46A47
.word 0xDF134426
.word 0xE0499366
.word 0x439E716A
.word 0x8FDC773F
.word 0x79AD1E25
.word 0x7A29D6AE
.word 0x53E9F36A
.word 0x4EC5F198
.word 0x2010033A
.word 0xCAA06637
.word 0xD59BC676
.word 0x8C651B87
.word 0x5711061E
.word 0x11CDB84D
.word 0x2800A008
.word 0xF437927A
.word 0x440BBD19
.word 0xAF570264
.word 0x25CE52E7
.word 0xCD4E3A38
.word 0xB1015F98
.word 0xD8FA9405
.word 0xAD455F5B
.word 0xA8105A1F
.word 0xB1642078
.word 0xD754725F
.word 0x76E21C51
.word 0x1DF32B80
.word 0x07A1AAAF
.end