* ========== Copyright Header Begin ==========================================
* OpenSPARC T2 Processor File: isa3_basic0_f0.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 "Using Instruction Hash for Focus :$Id: isa3_basic0_f0.s,v 1.1.1.1 2007/02/13 22:20:15 drp Exp $"
/************************************************************************
************************************************************************/
setx DIAG_DATA_AREA, %g1, %g3
setx 0xB8A67465804BB9D8, %l0, %l6
!# Initialize registers ..
INIT_TH_FP_REG(%l7,%f0,0x2F47F143426FF3F5)
INIT_TH_FP_REG(%l7,%f2,0x066E334D2832A788)
INIT_TH_FP_REG(%l7,%f4,0xE64CC38D3A9D93B1)
INIT_TH_FP_REG(%l7,%f6,0x52DDBB5D3C7F633A)
INIT_TH_FP_REG(%l7,%f8,0x2A76C868D7BE07AC)
INIT_TH_FP_REG(%l7,%f10,0x54B63F4A7ECD3112)
INIT_TH_FP_REG(%l7,%f12,0xEC7C15A64433EFF3)
INIT_TH_FP_REG(%l7,%f14,0x0D6724BAF3AF2D23)
INIT_TH_FP_REG(%l7,%f16,0x0447E11EAE229FF7)
INIT_TH_FP_REG(%l7,%f18,0x59AE8236385BF241)
INIT_TH_FP_REG(%l7,%f20,0xCD0EA6FC33A75976)
INIT_TH_FP_REG(%l7,%f22,0x1F2BFA386B1B0031)
INIT_TH_FP_REG(%l7,%f24,0x39586BAC26A0BC7F)
INIT_TH_FP_REG(%l7,%f26,0xED4A7D0E9C3E3720)
INIT_TH_FP_REG(%l7,%f28,0x4AFDBE01787F71F4)
INIT_TH_FP_REG(%l7,%f30,0x440E95E5D9E790F5)
wrhpr %l0, %g0, %hsys_tick_cmpr
lduba [%l7 + 0x6A] %asi, %l2
fandnot2s %f24, %f26, %f19
taddcctv %o7, 0x03F4, %g6
swapa [%l7 + 0x14] %asi, %g3
fmul8x16 %f17, %f24, %f16
casa [%l6] 0x19, %i2, %o0
swapa [%l7 + %l3] 0x89, %l4
ldswa [%l7 + %o0] 0x88, %l5
fmul8sux16 %f8, %f8, %f20
ldda [%l7 + 0x40] %asi, %f0
prefetcha [%l7 + 0x10] %asi, 0x3
fmovdpos %xcc, %f29, %f24
casa [%l6] %asi, %i6, %i4
setx 0x34400001400, %l0, %l1
fandnot1s %f31, %f10, %f8
faligndata %f8, %f22, %f4
swapa [%l7 + 0x14] %asi, %i0
ldxa [%l7 + 0x58] %asi, %l3
tsubcctv %o6, 0x0346, %o3
fmul8x16al %f1, %f5, %f20
fmovspos %xcc, %f18, %f11
fmuld8sux16 %f16, %f2, %f28
casxa [%l6] 0x04, %l0, %l6
stwa %l4, [%l7 + %l0] 0x22
tsubcctv %g5, 0x1231, %i6
casxa [%l6] 0x0c, %g1, %g4
fmovrsgez %i0, %f22, %f20
ldsba [%l7 + %g3] 0x80, %o0
stda %i4, [%l7 + 0x48] %asi
fmuld8ulx16 %f25, %f28, %f18
stda %f16, [%l7 + %i2] 0xc2
fmovdleu %xcc, %f14, %f17
casxa [%l6] 0x04, %o6, %o3
lduba [%l7 + 0x15] %asi, %g4
fmuld8sux16 %f16, %f0, %f8
lduba [%l7 + %g7] 0x88, %i2
setx 0x34400001400, %l0, %l1
lduwa [%l7 + %g4] 0x81, %g1
casxa [%l6] %asi, %o6, %l4
stba %g6, [%l7 + 0x75] %asi
ldxa [%l7 + 0x20] %asi, %g5
ldstuba [%l7 + 0x6E] %asi, %l3
tsubcctv %i5, 0x004C, %o5
prefetcha [%l7 + %i6] 0x89, 0x2
tsubcctv %l2, 0x09FF, %g2
fandnot2s %f20, %f10, %f1
fmuld8ulx16 %f6, %f26, %f12
lduha [%l7 + 0x0C] %asi, %i6
faligndata %f6, %f16, %f12
setx 0x34400001400, %l0, %l1
fandnot2s %f26, %f2, %f14
stda %f16, [%l7 + %g2] 0xca
fmovrslez %l1, %f11, %f17
tsubcctv %i7, 0x1113, %o1
fmovspos %xcc, %f26, %f20
fmuld8sux16 %f2, %f22, %f20
stda %f0, [%l7 + 0x40] %asi
fmul8ulx16 %f26, %f22, %f26
stha %i3, [%l7 + %o3] 0x0c
lduwa [%l7 + %o4] 0x18, %g7
taddcctv %l3, 0x0501, %g1
fandnot1s %f17, %f12, %f10
casxa [%l6] 0x88, %i4, %g4
prefetch [%l7 + 0x48], 0x2
fbule,a,pn %fcc3, loop_95
ldda [%l7 + 0x50] %asi, %i0
fpadd32s %f10, %f22, %f20
taddcctv %l2, 0x15CD, %l0
fmuld8ulx16 %f10, %f18, %f30
stba %o7, [%l7 + 0x21] %asi
fmovrdlez %l5, %f10, %f20
faligndata %f22, %f24, %f8
setx 0x34400001400, %l0, %l1
fmul8ulx16 %f16, %f6, %f16
stha %l3, [%l7 + %i7] 0x04
fmovdleu %icc, %f13, %f14
fmul8sux16 %f4, %f28, %f0
casxa [%l6] %asi, %l2, %g6
stda %f16, [%l7 + 0x40] %asi
ldsha [%l7 + %g6] 0x88, %g1
setx 0x34400001400, %l0, %l1
ldda [%l7 + 0x40] %asi, %f0
prefetcha [%l7 + 0x18] %asi, 0x3
ldswa [%l7 + %l2] 0x88, %g2
setx 0x34400001400, %l0, %l1
fmuld8sux16 %f31, %f12, %f22
ldsba [%l7 + %o7] 0x0c, %o2
ldda [%l7 + %o6] 0xf8, %f16
stwa %g6, [%l7 + 0x3C] %asi
ldstuba [%l7 + 0x4E] %asi, %i0
ldda [%l7 + %o5] 0x14, %f16
fmovrdgez %l5, %f22, %f20
ldswa [%l7 + %i3] 0x15, %i7
fandnot2s %f7, %f28, %f29
fbug,a,pt %fcc1, loop_135
setx 0x34400001400, %l0, %l1
taddcctv %l4, 0x1047, %g1
fmul8sux16 %f16, %f12, %f24
stda %f0, [%l7 + 0x40] %asi
fbuge,a,pt %fcc0, loop_147
prefetcha [%l7 + %o1] 0x0c, 0x2
ldsba [%l7 + 0x42] %asi, %i6
fpsub16s %f30, %f16, %f25
fmul8x16al %f3, %f3, %f20
stda %f0, [%l7 + %l6] 0xc8
swapa [%l7 + %i0] 0x10, %l0
fmovspos %icc, %f13, %f13
ldda [%l7 + %l5] 0x19, %g4
fmovdleu %icc, %f22, %f25
casa [%l6] %asi, %o1, %i7
fbuge,a,pn %fcc1, loop_155
lduwa [%l7 + 0x5C] %asi, %i4
lda [%l7 + 0x44] %asi, %f20
fpsub32s %f24, %f20, %f28
swapa [%l7 + %l1] 0x89, %i3
ldxa [%l7 + 0x48] %asi, %i5
lduba [%l7 + 0x7B] %asi, %l6
ldstuba [%l7 + 0x2E] %asi, %l2
setx 0x34400001400, %l0, %l1
lda [%l7 + 0x14] %asi, %f26
ldda [%l7 + 0x50] %asi, %i0
ldsba [%l7 + %o2] 0x11, %l3
taddcctv %g4, 0x00D8, %g7
fmovdleu %xcc, %f24, %f19
setx 0x34400001400, %l0, %l1
tsubcctv %l4, 0x01B6, %i1
prefetch [%l7 + 0x0C], 0x3
stwa %g5, [%l7 + 0x10] %asi
fbue,a,pn %fcc2, loop_173
stda %g2, [%l7 + 0x50] %asi
prefetcha [%l7 + 0x40] %asi, 0x0
fpadd32s %f18, %f28, %f24
ldxa [%l7 + 0x40] %asi, %i4
stha %l2, [%l7 + 0x52] %asi
lduwa [%l7 + 0x5C] %asi, %o4
fmul8x16au %f16, %f21, %f16
stda %f16, [%l7 + %l4] 0xc3
ldda [%l7 + 0x40] %asi, %f0
casxa [%l6] %asi, %l0, %o1
casa [%l6] 0x19, %l5, %i7
casxa [%l6] 0x18, %i0, %g6
ldda [%l7 + %g5] 0xd0, %f16
stda %f0, [%l7 + %o0] 0x15
fpsub16s %f22, %f22, %f10
fpadd16s %f20, %f18, %f17
prefetch [%l7 + 0x60], 0x1
fmuld8ulx16 %f12, %f13, %f30
stwa %o5, [%l7 + 0x2C] %asi
fandnot2 %f22, %f18, %f14
lduha [%l7 + 0x72] %asi, %o6
stwa %l4, [%l7 + 0x70] %asi
ldsha [%l7 + 0x76] %asi, %l5
taddcctv %i2, 0x07F2, %i3
stba %g1, [%l7 + 0x3A] %asi
ldda [%l7 + 0x40] %asi, %f0
stba %i1, [%l7 + 0x6C] %asi
fbne,a,pn %fcc2, loop_205
fmovdleu %xcc, %f23, %f22
setx 0x34400001400, %l0, %l1
fmul8ulx16 %f26, %f24, %f28
fmovdneg %icc, %f20, %f17
taddcctv %i6, 0x10F4, %l1
setx 0x34400001400, %l0, %l1
ldsha [%l7 + 0x28] %asi, %i7
fandnot1s %f31, %f24, %f20
fmuld8ulx16 %f14, %f13, %f16
setx 0x34400001400, %l0, %l1
casa [%l6] %asi, %l4, %i0
fandnot1s %f13, %f27, %f11
fmovsleu %xcc, %f20, %f28
lduha [%l7 + 0x52] %asi, %g2
fbuge,a,pn %fcc2, loop_229
stda %g4, [%l7 + %l0] 0x88
taddcctv %o3, 0x1FEF, %o0
fbug,a,pt %fcc2, loop_231
ldsba [%l7 + %g3] 0x80, %g4
lduwa [%l7 + 0x40] %asi, %i2
ldswa [%l7 + %g4] 0x14, %g3
setx 0x34400001400, %l0, %l1
ldxa [%l7 + %i6] 0x11, %i5
stba %o3, [%l7 + %i1] 0x0c
swapa [%l7 + 0x4C] %asi, %i0
setx 0x34400001400, %l0, %l1
fmuld8sux16 %f11, %f27, %f16
ldstuba [%l7 + %g2] 0x0c, %i0
taddcctv %g3, 0x0CB9, %l0
stda %i2, [%l7 + %o4] 0x11
fmuld8ulx16 %f1, %f8, %f8
ldda [%l7 + %i7] 0x2a, %i4
lduha [%l7 + %g6] 0x89, %l3
fandnot1s %f11, %f1, %f29
fpsub16s %f20, %f14, %f16
stxa %i3, [%g0 + %l2] 0x5f
fandnot1s %f6, %f31, %f28
swapa [%l7 + 0x70] %asi, %i7
fandnot1 %f30, %f28, %f24
stxa %g1, [%l7 + 0x08] %asi
fbge,a,pt %fcc0, loop_251
fmovrdgez %o7, %f14, %f30
lduba [%l7 + 0x6F] %asi, %i1
stba %i3, [%l7 + %o7] 0x89
ldswa [%l7 + 0x44] %asi, %g6
ldsha [%l7 + 0x5E] %asi, %g5
swapa [%l7 + %o6] 0x89, %g2
fbul,a,pt %fcc2, loop_260
stda %o4, [%l7 + %i4] 0x23
ldsha [%l7 + 0x3A] %asi, %l5
fmul8sux16 %f18, %f26, %f10
fandnot1s %f9, %f21, %f14
swapa [%l7 + 0x58] %asi, %l3
tsubcctv %i0, 0x01C2, %l1
stha %g5, [%l7 + %o5] 0x2f
faligndata %f28, %f20, %f4
fandnot1s %f4, %f14, %f27
ldstuba [%l7 + 0x38] %asi, %o2
fmovdneg %icc, %f31, %f17
prefetch [%l7 + 0x20], 0x0
tsubcctv %o1, 0x028E, %o6
ldswa [%l7 + %o1] 0x14, %i3
swapa [%l7 + %i3] 0x18, %o2
ldxa [%g0 + %i0] 0x58, %i0
prefetcha [%l7 + %l6] 0x15, 0x2
fbule,a,pt %fcc2, loop_274
lda [%l7 + 0x20] %asi, %f17
fmovrsgez %i3, %f29, %f22
stha %i7, [%l7 + 0x20] %asi
ldsha [%l7 + %l5] 0x0c, %o5
stba %l3, [%l7 + %l1] 0x80
lda [%l7 + 0x44] %asi, %f5
taddcctv %i6, 0x122A, %g3
fmovdpos %icc, %f21, %f31
setx 0x34400001400, %l0, %l1
stba %i3, [%l7 + 0x19] %asi
lduba [%l7 + 0x74] %asi, %l3
setx 0x34400001400, %l0, %l1
fmul8ulx16 %f8, %f6, %f14
lduba [%l7 + 0x29] %asi, %i6
setx 0x34400001400, %l0, %l1
fmuld8ulx16 %f22, %f15, %f10
setx 0x34400001400, %l0, %l1
ldstuba [%l7 + %o2] 0x80, %i1
ldda [%l7 + %l4] 0x81, %o4
lduba [%l7 + %g5] 0x14, %i4
fmul8ulx16 %f28, %f10, %f24
prefetch [%l7 + 0x60], 0x0
fmul8ulx16 %f14, %f26, %f0
fmuld8ulx16 %f27, %f16, %f30
fmovdneg %xcc, %f28, %f23
fble,a,pt %fcc2, loop_308
ldstuba [%l7 + %l3] 0x89, %o6
fbne,a,pn %fcc0, loop_311
stxa %i6, [%l7 + %g1] 0x88
fmovdpos %icc, %f28, %f11
taddcctv %i6, 0x0958, %g2
ldstuba [%l7 + 0x3A] %asi, %o3
lduwa [%l7 + 0x70] %asi, %o1
casxa [%l6] %asi, %o7, %o6
fmovsleu %xcc, %f30, %f11
casxa [%l6] 0x18, %i0, %l1
fmuld8sux16 %f1, %f31, %f12
sta %f14, [%l7 + %l0] 0x10
stha %l1, [%l7 + 0x24] %asi
fblg,a,pn %fcc2, loop_328
setx 0x34400001400, %l0, %l1
prefetcha [%l7 + %g3] 0x19, 0x3
fmul8ulx16 %f20, %f8, %f12
ldstuba [%l7 + %o0] 0x19, %o5
setx 0x34400001400, %l0, %l1
fbule,a,pn %fcc1, loop_333
prefetch [%l7 + 0x54], 0x0
stwa %g1, [%l7 + 0x08] %asi
ldda [%l7 + %g4] 0x2b, %i6
stda %i6, [%l7 + 0x10] %asi
stwa %l3, [%l7 + %g7] 0x18
ldda [%l7 + %i1] 0x80, %f0
fbuge,a,pn %fcc3, loop_343
prefetcha [%l7 + %i2] 0x0c, 0x3
ldxa [%g0 + 0x220] %asi, %i7
fbule,a,pt %fcc3, loop_349
ldswa [%l7 + %o3] 0x0c, %g2
fmul8sux16 %f28, %f26, %f14
lduwa [%l7 + 0x68] %asi, %o6
setx 0x34400001400, %l0, %l1
sta %f14, [%l7 + %g2] 0x10
stda %l4, [%l7 + %i6] 0xe2
fmovdpos %xcc, %f12, %f25
lduwa [%l7 + %i7] 0x81, %o2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EXIT_GOOD /* test finish */
/************************************************************************
************************************************************************/