* ========== Copyright Header Begin ==========================================
* OpenSPARC T2 Processor File: fgu_siam_traps_21.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
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* ========== 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=1234"
.ident "Mon Dec 8 19:51:05 CST 2003"
.ident "Using Instruction Hash for Focus :$Id: fgu_siam_traps_21.s,v 1.4 2007/07/27 21:45:32 drp Exp $"
/************************************************************************
************************************************************************/
! Get TID/DIAG DATA AREA. Separate memory for each thread.
setx DIAG_DATA_AREA, %g1, %g3
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
setx 0x8235415133403864, %l0, %l6
ldda [%l7 + %i0] 0xea, %g6
ldswa [%l7 + %g4] 0x89, %g4
stba %l0, [%l7 + %o7] 0x2f
ldstuba [%l7 + 0x5F] %asi, %i6
ldda [%l7 + 0x40] %asi, %f16
stda %i6, [%l7 + %g3] 0x22
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
stba %g5, [%l7 + %o3] 0x18
lda [%l7 + %g7] 0x18, %f4
ldstuba [%l7 + 0x22] %asi, %l6
lda [%l7 + %i7] 0x81, %f22
fbule,a,pt %fcc2, loop_20
casa [%l6] 0x18, %l4, %i3
tsubcctv %l6, 0x08A0, %o0
stwa %l0, [%l7 + 0x38] %asi
ldsha [%l7 + %i4] 0x11, %i6
casa [%l6] 0x80, %i3, %l3
ldswa [%l7 + %o4] 0x0c, %g7
stda %f16, [%l7 + 0x40] %asi
stwa %g4, [%l7 + 0x5C] %asi
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
ldsha [%l7 + 0x30] %asi, %o6
stda %f16, [%l7 + %g2] 0xcd
stha %l3, [%l7 + %l3] 0xea
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
taddcctv %l1, 0x1E54, %g7
prefetcha [%l7 + %g5] 0x81, 3
setx 0xF08272939D30257C, %l0, %l6
stxa %i2, [%l7 + 0x58] %asi
lduwa [%l7 + 0x58] %asi, %i7
setx 0x714A76DF, %l0, %l6
fbuge,a,pt %fcc3, loop_68
ldda [%l7 + 0x70] %asi, %g6
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
setx 0x021400001407, %l0, %l1
setx 0x034100001405, %l0, %l1
ldsba [%l7 + 0x26] %asi, %l0
tsubcctv %i7, 0x07C1, %i4
stda %g0, [%l7 + %l5] 0x2f
lduba [%l7 + 0x6A] %asi, %o1
swapa [%l7 + %g4] 0x81, %g2
setx 0x1E29CBB6, %l0, %l6
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
casxa [%l6] 0x81, %l4, %g6
fbule,a,pn %fcc0, loop_93
stwa %g1, [%l7 + %o7] 0xea
prefetcha [%l7 + %g6] 0x80, 2
swapa [%l7 + 0x78] %asi, %g6
casa [%l6] 0x18, %o5, %g3
setx 0x001100001407, %l0, %l1
ldsha [%l7 + 0x64] %asi, %o6
casxa [%l6] 0x04, %o5, %g6
stwa %o0, [%l7 + %i6] 0x80
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
ldda [%l7 + %g3] 0x27, %l2
stwa %l1, [%l7 + %o3] 0xe3
ldda [%l7 + %g1] 0x19, %l0
tsubcctv %l6, 0x0901, %i5
stda %g6, [%l7 + 0x60] %asi
stxa %i1, [%g0 + 0x38] %asi
ldstuba [%l7 + %o4] 0x80, %o2
stwa %g1, [%l7 + %o5] 0x2b
stwa %o3, [%l7 + 0x6C] %asi
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!# Set %cwp for 8 windows
!# This threads memory space into each %l7
setx 0x0000000000000000, %l0, %l6 !# no post process
stx %l6, [%l7 + 0x0] !# no post process
ldx [%l7 + 0x0], %fsr !# no post process
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0xBDAA6DD55A5295CF)
INIT_TH_FP_REG(%l7,%f2,0x4A34052A0704B7C4)
INIT_TH_FP_REG(%l7,%f4,0x6ADCB8D1803A9F23)
INIT_TH_FP_REG(%l7,%f6,0xB60F0ED94AA7B65F)
INIT_TH_FP_REG(%l7,%f8,0x968F5AC36765DF1D)
INIT_TH_FP_REG(%l7,%f10,0x6F1B644681110DCB)
INIT_TH_FP_REG(%l7,%f12,0x36C734C9140C2E48)
INIT_TH_FP_REG(%l7,%f14,0x29D915F5FC517B13)
INIT_TH_FP_REG(%l7,%f16,0xBB400398FA3CC37D)
INIT_TH_FP_REG(%l7,%f18,0x6B19673780E12A99)
INIT_TH_FP_REG(%l7,%f20,0x5FF152440E494FF2)
INIT_TH_FP_REG(%l7,%f22,0x646EE164E001DF2A)
INIT_TH_FP_REG(%l7,%f24,0x2EE59B5257317A5D)
INIT_TH_FP_REG(%l7,%f26,0x8AF2C1DC1450E4C8)
INIT_TH_FP_REG(%l7,%f28,0x47D3CA205179E18E)
INIT_TH_FP_REG(%l7,%f30,0x8D561E6837120468)
tsubcctv %o4, 0x1C35, %o5
setx 0x001400001403, %l0, %l1
prefetcha [%l7 + %o0] 0x18, 1
taddcctv %g6, 0x082B, %o7
setx 0x031100001405, %l0, %l1
fble,a,pt %fcc1, loop_140
setx 0x41B0B9AB, %l0, %l6
ldda [%l7 + %i3] 0x2e, %o6
setx 0x2E0AC738, %l0, %l6
ldda [%l7 + 0x10] %asi, %i4
ldda [%l7 + 0x40] %asi, %f0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EXIT_GOOD /* test finish */
/************************************************************************
************************************************************************/