/* * ========== Copyright Header Begin ========================================== * * OpenSPARC T2 Processor File: tcc.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_isa2.pl FOCUS_SEED=804309008" .ident "BY rg131678 ON Thu Jun 26 17:23:08 CDT 2003" .ident "Using Instruction Hash for Focus :$Id: tcc.s,v 1.3 2007/07/05 22:02:08 drp Exp $" #include "defines.h" #include "old_boot.s" /************************************************************************ Test case code start ************************************************************************/ .text .global main main: /* test begin */ ta T_RD_THID mov %o1, %l6 umul %l6, 256, %l7 setx DIAG_DATA_AREA, %g1, %g3 add %l7, %g3, %l7 !# Initialize registers .. !# Global registers set 0x3, %g1 set 0x1, %g2 set 0xF, %g3 set 0x3, %g4 set 0xE, %g5 set 0xF, %g6 set 0x1, %g7 !# Input registers set -0xF, %i0 set -0x7, %i1 set -0xC, %i2 set -0xD, %i3 set -0x6, %i4 set -0xA, %i5 set -0xE, %i6 set -0xB, %i7 !# Local registers set 0x3DE7A298, %l0 set 0x562541BA, %l1 set 0x2A7D95DB, %l2 set 0x32AF16C7, %l3 set 0x27C91381, %l4 set 0x504B3E5E, %l5 set 0x79445C00, %l6 !# Output registers set -0x06EB, %o0 set -0x03D1, %o1 set 0x07D0, %o2 set 0x083D, %o3 set -0x07CD, %o4 set -0x1706, %o5 set 0x03B0, %o6 set 0x025A, %o7 !# Execute some ALU ops .. tn %xcc, 0x2 smulcc %l2, 0x1817, %i1 tcs %icc, 0x1 edge16 %o0, %l5, %g3 tle %xcc, 0x1 edge32 %i5, %o5, %i4 popc %l4, %l6 orn %i3, 0x0739, %g2 edge8 %o7, %o4, %l1 edge8l %i6, %g4, %g7 tg %xcc, 0x7 movvc %xcc, %i2, %g6 movrgez %o1, %o6, %i0 movrgez %l3, 0x269, %g1 addccc %g5, %i7, %o2 andn %l0, %l2, %i1 mova %xcc, %o3, %l5 tg %xcc, 0x4 movl %icc, %g3, %o0 taddcctv %o5, 0x0ED1, %i4 tsubcc %l4, %i5, %l6 tl %xcc, 0x6 edge32ln %i3, %g2, %o7 umul %o4, 0x0A2F, %l1 edge16n %g4, %g7, %i6 xnorcc %g6, 0x1EF8, %o1 brnz,a %o6, loop_1 lduh [%l7 + 0x70], %i2 andn %l3, 0x10EE, %g1 movneg %xcc, %i0, %g5 loop_1: andn %i7, 0x19FC, %l0 sra %l2, %o2, %i1 movl %xcc, %l5, %o3 edge8 %o0, %o5, %g3 xnor %i4, %l4, %l6 movgu %xcc, %i3, %i5 movre %o7, %o4, %g2 movrgez %g4, 0x19B, %g7 fabss %f0, %f8 andcc %i6, 0x0CF8, %g6 subc %o1, 0x0D82, %l1 tleu %icc, 0x5 edge16ln %i2, %l3, %g1 subc %o6, %i0, %g5 orncc %i7, %l0, %l2 edge32l %o2, %i1, %o3 movrne %o0, 0x356, %o5 andcc %g3, 0x04C9, %l5 edge8l %l4, %l6, %i4 sdiv %i5, 0x1F99, %o7 mulx %i3, %o4, %g4 tne %xcc, 0x1 udiv %g7, 0x1274, %i6 subc %g6, %g2, %l1 udivcc %i2, 0x0CAA, %l3 edge8n %o1, %g1, %o6 tvs %xcc, 0x4 edge16n %i0, %g5, %l0 edge8ln %l2, %o2, %i7 popc %o3, %o0 edge8ln %o5, %i1, %g3 ld [%l7 + 0x3C], %f5 sdiv %l5, 0x0875, %l4 xorcc %l6, 0x1143, %i4 addcc %i5, %o7, %o4 movle %xcc, %g4, %g7 and %i6, %g6, %i3 movle %xcc, %l1, %g2 smulcc %l3, 0x0D13, %o1 edge32ln %i2, %o6, %g1 tn %icc, 0x0 mulx %i0, 0x1B69, %g5 edge32n %l2, %o2, %i7 movre %l0, %o0, %o5 movne %icc, %o3, %i1 or %l5, %l4, %g3 edge32n %l6, %i5, %i4 subc %o4, 0x10A5, %o7 tneg %icc, 0x7 tpos %icc, 0x4 movneg %icc, %g4, %g7 sll %i6, %i3, %g6 tneg %xcc, 0x1 xorcc %l1, %l3, %g2 smul %o1, 0x0194, %i2 sdivcc %g1, 0x14C6, %i0 te %xcc, 0x0 sllx %o6, 0x12, %l2 sra %g5, 0x1B, %o2 sdivcc %i7, 0x13E0, %l0 tcs %icc, 0x0 sth %o5, [%l7 + 0x64] movrne %o0, %i1, %o3 sethi 0x0E79, %l4 tleu %icc, 0x2 movl %icc, %l5, %l6 popc 0x1CE1, %i5 umulcc %g3, %o4, %o7 edge32l %i4, %g7, %i6 movneg %xcc, %g4, %i3 sdivx %l1, 0x120A, %g6 popc 0x008C, %l3 tcc %icc, 0x5 move %icc, %o1, %i2 tg %xcc, 0x6 subccc %g2, 0x10DB, %g1 movneg %icc, %o6, %l2 fmovrslz %i0, %f5, %f9 srax %o2, 0x05, %g5 movrgz %l0, %i7, %o0 movvs %icc, %i1, %o5 edge8l %l4, %l5, %o3 tge %icc, 0x6 edge16l %l6, %i5, %g3 movre %o4, 0x0DD, %i4 movrgz %o7, %g7, %g4 movrgez %i6, 0x383, %l1 udiv %i3, 0x0B8F, %g6 tgu %xcc, 0x4 orcc %o1, 0x1F1A, %l3 edge32ln %i2, %g2, %g1 smul %o6, 0x0542, %l2 fmovsleu %xcc, %f7, %f6 movrgz %i0, 0x119, %g5 taddcc %l0, %o2, %o0 xorcc %i7, 0x1153, %o5 tcc %xcc, 0x4 tl %icc, 0x2 edge32l %i1, %l4, %o3 fpadd16s %f8, %f3, %f2 udiv %l6, 0x19DE, %i5 movgu %xcc, %g3, %o4 stw %l5, [%l7 + 0x48] subc %i4, 0x1432, %o7 movrne %g7, %g4, %l1 tge %icc, 0x5 ldx [%l7 + 0x38], %i3 edge16n %g6, %o1, %l3 stb %i6, [%l7 + 0x14] edge32l %i2, %g1, %g2 orcc %l2, 0x17A5, %i0 xnorcc %o6, %l0, %o2 and %g5, %i7, %o0 udivx %i1, 0x1BD4, %o5 fbne,a %fcc3, loop_2 addc %o3, 0x1D1D, %l6 sdivcc %l4, 0x000B, %i5 ldub [%l7 + 0x74], %g3 loop_2: ldx [%l7 + 0x08], %o4 movle %icc, %i4, %l5 edge8l %g7, %o7, %g4 addccc %i3, %l1, %o1 edge32 %l3, %i6, %i2 fabss %f15, %f9 tl %icc, 0x4 udiv %g1, 0x125A, %g2 ta %xcc, 0x3 tleu %xcc, 0x6 alignaddr %l2, %i0, %g6 srlx %l0, 0x17, %o6 smulcc %o2, 0x1CEF, %g5 sll %i7, 0x1A, %i1 add %o0, 0x15DF, %o5 ldx [%l7 + 0x18], %o3 edge8l %l4, %l6, %g3 movvc %xcc, %i5, %o4 tvc %xcc, 0x7 tpos %icc, 0x7 edge16n %i4, %l5, %o7 movcs %icc, %g7, %i3 edge16ln %l1, %g4, %l3 orcc %i6, %o1, %g1 movn %icc, %i2, %l2 tgu %icc, 0x3 or %i0, %g2, %l0 sethi 0x15E1, %g6 edge16n %o2, %g5, %i7 edge16n %i1, %o6, %o5 edge32ln %o3, %o0, %l6 tle %icc, 0x2 move %xcc, %g3, %i5 sdivcc %o4, 0x067B, %i4 fmovdle %icc, %f6, %f15 te %icc, 0x2 movrlz %l5, 0x1BF, %o7 alignaddr %g7, %i3, %l4 edge16n %l1, %g4, %i6 sdivcc %l3, 0x0FA5, %o1 orncc %i2, 0x02F0, %g1 edge32n %i0, %g2, %l2 tle %xcc, 0x7 movrlez %l0, 0x1B6, %o2 movl %xcc, %g5, %i7 edge8n %i1, %g6, %o5 movrlez %o6, 0x2D8, %o3 tge %icc, 0x6 movrne %l6, 0x0F0, %g3 movleu %xcc, %i5, %o4 subcc %o0, 0x0C73, %l5 taddcctv %i4, 0x02A3, %o7 sub %g7, %i3, %l4 mulx %g4, 0x0B91, %l1 xnor %i6, %o1, %i2 andcc %g1, %i0, %g2 umulcc %l3, 0x1C6D, %l2 xor %l0, 0x0D0B, %g5 xorcc %o2, 0x104D, %i1 edge16ln %g6, %o5, %o6 subcc %o3, %l6, %i7 srlx %i5, 0x06, %o4 or %o0, 0x1619, %g3 tpos %xcc, 0x7 tpos %icc, 0x7 movre %l5, 0x072, %i4 alignaddr %g7, %o7, %l4 edge32n %i3, %g4, %l1 orncc %i6, %o1, %i2 edge32l %g1, %i0, %l3 movl %xcc, %l2, %l0 tle %xcc, 0x6 mulx %g5, 0x140B, %g2 movleu %icc, %o2, %g6 tle %xcc, 0x0 edge16ln %o5, %o6, %o3 movneg %icc, %i1, %l6 movne %xcc, %i5, %o4 edge32l %i7, %o0, %l5 udivcc %g3, 0x1849, %g7 movcc %xcc, %o7, %l4 sllx %i3, 0x04, %i4 sll %l1, %g4, %o1 addcc %i6, %g1, %i2 edge16ln %i0, %l3, %l2 movne %icc, %g5, %l0 movrne %g2, 0x1B1, %g6 te %xcc, 0x1 movleu %icc, %o2, %o5 xnorcc %o6, 0x0F84, %i1 te %xcc, 0x4 xnorcc %l6, %i5, %o4 smulcc %o3, %i7, %o0 tleu %xcc, 0x2 subc %l5, %g3, %g7 addccc %l4, 0x1C19, %i3 tn %icc, 0x1 alignaddrl %o7, %i4, %g4 tsubcc %l1, 0x1DC7, %i6 mulx %g1, %o1, %i0 edge32 %l3, %i2, %l2 andn %l0, 0x144E, %g5 tg %icc, 0x3 tpos %icc, 0x1 andn %g6, %o2, %o5 andn %g2, %i1, %l6 sra %i5, 0x04, %o6 or %o3, %i7, %o4 tcs %icc, 0x1 orcc %o0, 0x0BC4, %g3 edge16ln %l5, %l4, %i3 orcc %g7, 0x0A41, %i4 sll %o7, 0x00, %g4 taddcc %l1, %g1, %o1 sra %i0, 0x0D, %i6 taddcc %l3, 0x09F6, %i2 tvs %icc, 0x0 edge32n %l0, %g5, %g6 movre %l2, %o5, %o2 sllx %i1, 0x0F, %g2 movcs %icc, %i5, %l6 brlez,a %o6, loop_3 movcs %xcc, %i7, %o4 sdivx %o3, 0x1D70, %g3 movleu %icc, %o0, %l5 loop_3: movgu %xcc, %i3, %g7 addcc %i4, 0x1C8B, %o7 edge16 %g4, %l1, %l4 tge %xcc, 0x1 tleu %xcc, 0x4 sethi 0x07B8, %g1 alignaddrl %o1, %i6, %l3 te %xcc, 0x0 tsubcctv %i0, %l0, %g5 addcc %i2, 0x11E3, %l2 movvs %xcc, %o5, %o2 tgu %xcc, 0x1 movn %icc, %g6, %i1 alignaddr %g2, %l6, %i5 sdivx %i7, 0x1FDE, %o4 alignaddrl %o3, %o6, %o0 mulscc %g3, %i3, %l5 smul %i4, 0x1619, %g7 umulcc %o7, 0x1A2B, %g4 fxor %f2, %f14, %f2 tcc %xcc, 0x7 xnor %l1, 0x0C5F, %g1 sllx %l4, %i6, %o1 umul %l3, %i0, %l0 fmovscc %icc, %f10, %f2 xnorcc %i2, %l2, %g5 subcc %o5, %g6, %i1 umulcc %g2, %l6, %o2 taddcc %i7, 0x103D, %o4 movleu %xcc, %i5, %o6 addcc %o0, 0x1982, %g3 tcc %icc, 0x5 fmovdne %icc, %f3, %f0 or %o3, %i3, %i4 andcc %g7, %o7, %g4 movpos %icc, %l5, %g1 movleu %icc, %l1, %i6 add %o1, 0x0745, %l4 movge %icc, %i0, %l3 movgu %icc, %l0, %l2 movvc %xcc, %g5, %i2 popc 0x17F7, %g6 sra %o5, 0x01, %i1 sub %l6, %g2, %i7 movvs %xcc, %o4, %o2 sra %i5, 0x0E, %o0 alignaddr %o6, %o3, %g3 fmovdpos %icc, %f3, %f0 ldd [%l7 + 0x40], %f8 fandnot1s %f2, %f3, %f4 addc %i3, %i4, %g7 ta %xcc, 0x7 tvs %icc, 0x4 sdivx %g4, 0x040E, %l5 umul %g1, 0x08CC, %l1 tg %icc, 0x1 sdivcc %i6, 0x1AAB, %o7 edge16l %o1, %l4, %i0 edge8ln %l3, %l2, %g5 ldx [%l7 + 0x50], %i2 tn %xcc, 0x6 sdiv %l0, 0x08A6, %g6 movvs %xcc, %i1, %o5 srax %g2, %l6, %o4 edge16n %i7, %i5, %o0 fbn,a %fcc2, loop_4 movgu %xcc, %o6, %o3 or %g3, 0x1B4E, %o2 movne %xcc, %i4, %g7 loop_4: udivx %g4, 0x17BE, %l5 xnorcc %g1, %i3, %i6 tleu %icc, 0x1 tsubcctv %l1, 0x1767, %o1 udivcc %l4, 0x0E7E, %o7 srl %l3, %i0, %g5 edge32l %i2, %l0, %g6 movpos %icc, %l2, %i1 movne %icc, %g2, %o5 movrgz %l6, 0x104, %i7 edge8n %i5, %o0, %o4 movge %icc, %o6, %o3 popc %o2, %i4 movn %xcc, %g3, %g7 andncc %g4, %l5, %i3 siam 0x7 xor %g1, 0x1BF7, %l1 or %i6, %o1, %l4 movge %xcc, %l3, %o7 smulcc %i0, %i2, %l0 tneg %icc, 0x3 edge32 %g5, %g6, %l2 edge32ln %g2, %o5, %l6 fblg,a %fcc1, loop_5 tsubcc %i1, %i5, %o0 tcc %icc, 0x0 sdivcc %o4, 0x1D64, %o6 loop_5: edge8n %o3, %o2, %i7 movcc %icc, %i4, %g3 taddcc %g7, %l5, %g4 movvs %xcc, %g1, %l1 movn %xcc, %i3, %i6 edge8l %l4, %o1, %o7 umulcc %l3, %i2, %l0 movrgz %g5, 0x1CE, %g6 orn %i0, %g2, %o5 sub %l2, %l6, %i5 ldsh [%l7 + 0x3C], %o0 tleu %xcc, 0x4 st %f9, [%l7 + 0x4C] movneg %icc, %o4, %i1 subccc %o3, 0x02A6, %o2 edge8ln %o6, %i4, %i7 edge32 %g7, %l5, %g4 move %xcc, %g3, %l1 edge32 %g1, %i6, %l4 sra %o1, 0x1E, %i3 udiv %o7, 0x0359, %l3 xnorcc %i2, 0x0B9E, %l0 movpos %icc, %g5, %g6 movcc %icc, %i0, %o5 andncc %g2, %l6, %l2 tsubcc %i5, %o0, %o4 fnot2 %f6, %f2 sllx %i1, %o2, %o6 mulx %i4, 0x1B1A, %i7 alignaddr %o3, %g7, %l5 tneg %xcc, 0x1 sdivcc %g4, 0x1059, %g3 mulscc %g1, 0x0C16, %i6 or %l4, %l1, %i3 sethi 0x07F1, %o7 fnegd %f12, %f6 move %icc, %o1, %i2 mulscc %l0, 0x1B29, %g5 tsubcctv %l3, 0x1AB4, %i0 alignaddrl %o5, %g6, %g2 tgu %xcc, 0x5 tcs %icc, 0x5 movcc %xcc, %l6, %l2 movrlez %i5, 0x215, %o4 edge32l %i1, %o2, %o6 popc %o0, %i4 mulscc %o3, %g7, %i7 sdivx %l5, 0x0A2C, %g4 srax %g3, %g1, %l4 stb %i6, [%l7 + 0x58] movrlz %l1, 0x3B6, %o7 tl %xcc, 0x2 edge8ln %o1, %i2, %l0 movpos %icc, %i3, %l3 tge %icc, 0x5 movleu %xcc, %g5, %o5 movle %xcc, %i0, %g6 srlx %l6, 0x1E, %l2 move %xcc, %i5, %g2 andcc %i1, %o4, %o6 movpos %xcc, %o0, %i4 movcc %xcc, %o3, %g7 mova %icc, %i7, %o2 mulx %g4, %g3, %g1 tleu %xcc, 0x6 srl %l4, %l5, %l1 sdivcc %o7, 0x0F85, %i6 te %xcc, 0x3 edge16ln %i2, %l0, %o1 movrne %i3, 0x025, %l3 edge32ln %g5, %o5, %g6 movge %icc, %l6, %l2 sdiv %i0, 0x033A, %i5 sdiv %i1, 0x17D5, %o4 movre %o6, %o0, %g2 mova %xcc, %o3, %i4 popc %g7, %o2 add %g4, 0x13F1, %g3 te %icc, 0x7 movl %icc, %g1, %i7 movle %icc, %l4, %l1 alignaddr %l5, %o7, %i6 umul %l0, %o1, %i3 xnor %l3, %g5, %o5 lduw [%l7 + 0x78], %i2 sdivcc %g6, 0x0068, %l2 tle %icc, 0x0 taddcc %i0, 0x1866, %i5 tcs %xcc, 0x0 movne %xcc, %l6, %o4 movcs %icc, %i1, %o6 tvs %icc, 0x0 subcc %o0, 0x05B1, %g2 tne %xcc, 0x4 add %o3, 0x1901, %i4 tvc %icc, 0x6 alignaddr %g7, %o2, %g3 andncc %g1, %i7, %l4 udivx %l1, 0x0CD5, %g4 te %icc, 0x3 tleu %xcc, 0x4 add %o7, %i6, %l0 movrgez %l5, %o1, %i3 tneg %icc, 0x0 addc %l3, 0x0A24, %o5 tg %icc, 0x6 sdivx %i2, 0x079C, %g6 tle %xcc, 0x2 sllx %g5, %i0, %l2 addc %i5, %o4, %i1 mulscc %o6, %o0, %g2 ta %icc, 0x4 tgu %xcc, 0x0 fmovsneg %xcc, %f10, %f9 edge32ln %l6, %i4, %o3 ta %icc, 0x1 movleu %xcc, %g7, %o2 tl %icc, 0x7 orncc %g3, 0x14EB, %g1 or %l4, 0x0E41, %l1 movrgz %g4, 0x19D, %o7 xnor %i7, 0x058A, %i6 tvc %xcc, 0x4 addccc %l0, %o1, %l5 xor %l3, %o5, %i2 edge16n %i3, %g6, %i0 ta %icc, 0x7 sdiv %g5, 0x0023, %l2 edge32l %i5, %o4, %i1 edge32n %o6, %g2, %o0 ldx [%l7 + 0x10], %l6 fands %f12, %f2, %f13 edge8 %o3, %i4, %g7 ld [%l7 + 0x58], %f6 edge8n %o2, %g1, %g3 or %l1, %l4, %g4 movne %xcc, %o7, %i7 movge %icc, %l0, %o1 movge %icc, %l5, %l3 movne %icc, %o5, %i2 mulscc %i6, %g6, %i3 ldsh [%l7 + 0x5E], %g5 fmovdcs %xcc, %f0, %f10 edge8 %i0, %l2, %o4 orn %i5, 0x0DD2, %i1 xor %o6, %g2, %o0 edge16ln %l6, %i4, %g7 tsubcctv %o2, 0x0AF9, %g1 edge8ln %o3, %l1, %l4 ldsb [%l7 + 0x36], %g3 movrne %o7, %i7, %l0 sra %g4, 0x0D, %o1 te %xcc, 0x7 orncc %l3, 0x1146, %l5 tg %xcc, 0x5 edge32n %i2, %i6, %g6 addc %i3, 0x0DE2, %g5 xnor %o5, %l2, %o4 udivx %i0, 0x1081, %i1 movrne %i5, %o6, %g2 umul %o0, 0x1B82, %i4 tg %xcc, 0x5 movre %l6, %g7, %g1 movcc %icc, %o2, %l1 sdivcc %l4, 0x1951, %o3 alignaddrl %g3, %i7, %o7 movge %icc, %l0, %g4 movrlez %o1, 0x15C, %l3 move %xcc, %i2, %l5 addccc %g6, 0x0181, %i6 movpos %xcc, %i3, %g5 sll %o5, %o4, %i0 brlez,a %l2, loop_6 tle %xcc, 0x0 orncc %i5, %o6, %g2 ldsb [%l7 + 0x31], %o0 loop_6: andn %i1, %l6, %g7 movrgez %g1, %o2, %i4 tge %xcc, 0x7 fmovsne %icc, %f10, %f10 edge8n %l1, %o3, %l4 and %g3, 0x122D, %o7 tpos %icc, 0x2 tgu %xcc, 0x6 sth %i7, [%l7 + 0x38] xnor %l0, %g4, %o1 andn %i2, %l3, %l5 edge8 %g6, %i6, %g5 movrlez %i3, %o4, %i0 movne %icc, %l2, %o5 sll %i5, 0x1E, %g2 smulcc %o0, %o6, %i1 sllx %g7, 0x0A, %g1 mulscc %o2, 0x0B35, %l6 tleu %icc, 0x6 edge32 %i4, %o3, %l1 movne %icc, %g3, %o7 mova %icc, %i7, %l0 tvc %icc, 0x4 add %g4, %o1, %i2 srl %l3, 0x0D, %l4 tl %icc, 0x2 sub %l5, %g6, %i6 mulx %g5, 0x069C, %o4 edge32 %i0, %i3, %o5 edge16l %l2, %g2, %i5 umulcc %o6, %o0, %i1 addccc %g7, 0x1D7D, %o2 movg %xcc, %g1, %i4 alignaddr %o3, %l1, %l6 tvc %icc, 0x4 orcc %o7, 0x1951, %i7 edge32l %g3, %l0, %o1 addc %g4, %i2, %l3 sra %l4, 0x1D, %l5 brgz %g6, loop_7 movrgez %g5, 0x195, %o4 sdivx %i6, 0x0282, %i3 movcc %xcc, %i0, %o5 loop_7: movg %icc, %g2, %l2 mulscc %i5, %o0, %i1 movvs %icc, %o6, %g7 sra %g1, 0x10, %o2 udiv %o3, 0x1D71, %l1 te %xcc, 0x2 smul %i4, %o7, %l6 alignaddrl %g3, %i7, %l0 movgu %xcc, %o1, %i2 move %xcc, %g4, %l4 movl %icc, %l5, %g6 edge8l %g5, %o4, %i6 edge8 %i3, %i0, %o5 fbg %fcc0, loop_8 tleu %icc, 0x6 mulscc %l3, %g2, %i5 addc %o0, %l2, %i1 loop_8: subccc %g7, 0x07AE, %o6 mulscc %g1, 0x08B4, %o3 andcc %o2, 0x0C1B, %l1 xnor %o7, 0x09AF, %i4 tleu %xcc, 0x2 tneg %icc, 0x4 xorcc %l6, %g3, %i7 umul %o1, %l0, %i2 edge8 %g4, %l4, %l5 andcc %g5, %o4, %g6 movrlez %i3, %i0, %i6 sdivcc %l3, 0x0BA8, %g2 andcc %i5, 0x1061, %o5 tg %icc, 0x2 movrlz %l2, 0x38E, %o0 ta %icc, 0x7 edge8ln %i1, %o6, %g7 movne %xcc, %o3, %o2 movn %icc, %l1, %g1 tsubcctv %i4, %l6, %o7 movgu %xcc, %g3, %i7 tcs %icc, 0x7 add %o1, 0x1CF3, %i2 movrlez %l0, 0x0FE, %l4 sub %g4, 0x0351, %l5 and %g5, %o4, %i3 move %icc, %i0, %g6 tcc %xcc, 0x2 fmovdcc %xcc, %f12, %f4 subc %l3, 0x0441, %i6 tvc %icc, 0x5 brnz,a %i5, loop_9 sll %o5, %l2, %o0 sll %g2, %i1, %g7 stb %o3, [%l7 + 0x3B] loop_9: srl %o6, %l1, %o2 tpos %icc, 0x3 subcc %g1, %l6, %o7 tleu %icc, 0x1 sdivx %i4, 0x15DD, %i7 fandnot1s %f12, %f3, %f5 sdivcc %o1, 0x17D0, %i2 taddcc %g3, 0x0A36, %l0 movcc %xcc, %l4, %l5 sllx %g4, 0x0B, %o4 andn %i3, %i0, %g5 edge32ln %l3, %i6, %i5 xorcc %o5, %l2, %o0 movcc %icc, %g6, %g2 tgu %icc, 0x5 edge32ln %i1, %o3, %o6 sllx %g7, 0x1F, %l1 tn %icc, 0x2 movvs %icc, %g1, %l6 tvs %icc, 0x6 mulscc %o7, %o2, %i4 alignaddr %i7, %i2, %o1 movcc %icc, %g3, %l4 edge8ln %l0, %l5, %g4 xor %o4, 0x151E, %i3 ta %xcc, 0x2 tgu %icc, 0x5 xorcc %g5, 0x14B9, %i0 movre %i6, 0x242, %l3 xorcc %i5, %o5, %l2 udiv %g6, 0x0553, %g2 andncc %i1, %o0, %o6 or %g7, 0x0415, %l1 addccc %o3, %l6, %o7 udivx %o2, 0x0D71, %i4 movgu %xcc, %i7, %g1 fpadd16s %f11, %f13, %f1 movleu %icc, %i2, %g3 ld [%l7 + 0x60], %f14 orncc %o1, 0x10D4, %l0 srl %l5, 0x0B, %g4 taddcctv %o4, %i3, %l4 tvc %xcc, 0x5 movre %i0, %g5, %l3 movrgez %i5, 0x07E, %i6 fmovspos %icc, %f13, %f6 move %xcc, %l2, %o5 udiv %g2, 0x0445, %g6 fbge,a %fcc1, loop_10 edge16l %i1, %o6, %o0 tgu %icc, 0x5 fandnot1s %f12, %f2, %f6 loop_10: tgu %icc, 0x4 movrlez %g7, 0x0F1, %o3 movvc %xcc, %l6, %o7 movvs %xcc, %o2, %l1 movrlez %i4, 0x0A2, %g1 edge16n %i7, %g3, %i2 lduh [%l7 + 0x5E], %l0 add %l5, 0x1983, %g4 edge16 %o1, %o4, %l4 smul %i0, 0x01F6, %i3 orcc %g5, %l3, %i6 xnorcc %l2, 0x01CB, %i5 xnor %o5, 0x1444, %g6 srl %g2, %o6, %o0 sdivx %g7, 0x1768, %i1 ldsb [%l7 + 0x22], %o3 tge %xcc, 0x2 ta %icc, 0x6 tcc %xcc, 0x4 fcmpgt32 %f6, %f6, %o7 andn %o2, 0x06AE, %l6 tn %xcc, 0x2 andcc %i4, 0x0EC5, %l1 subccc %i7, 0x0CD1, %g3 tleu %xcc, 0x4 sllx %g1, 0x1A, %l0 sethi 0x0F8C, %l5 movrne %i2, %o1, %g4 srax %o4, %l4, %i0 or %i3, %l3, %i6 sdiv %g5, 0x0F34, %l2 te %xcc, 0x3 tn %xcc, 0x7 add %o5, %i5, %g6 st %f11, [%l7 + 0x60] sdiv %g2, 0x168A, %o0 srax %o6, %i1, %g7 movneg %icc, %o3, %o2 sdivx %l6, 0x1D1B, %i4 smul %l1, 0x17C4, %o7 andncc %i7, %g1, %l0 sll %l5, %i2, %g3 edge32n %o1, %g4, %o4 srlx %i0, 0x06, %i3 add %l3, 0x0BEA, %i6 fnegd %f4, %f2 xnorcc %g5, %l4, %o5 srl %i5, %g6, %l2 xorcc %o0, %o6, %i1 tneg %icc, 0x4 edge16l %g7, %o3, %o2 orncc %g2, %l6, %i4 edge32l %l1, %o7, %i7 udiv %g1, 0x060C, %l0 movrgz %i2, %g3, %l5 orcc %g4, 0x1C88, %o1 popc 0x10DA, %i0 ta %xcc, 0x1 sdivcc %i3, 0x0942, %o4 udivcc %l3, 0x1D40, %i6 tge %icc, 0x7 addccc %l4, %o5, %g5 edge32n %i5, %l2, %g6 tsubcc %o0, 0x103C, %i1 tvs %icc, 0x2 sllx %g7, 0x1D, %o6 movrlz %o2, %o3, %g2 tne %xcc, 0x7 movgu %icc, %i4, %l1 sdivcc %l6, 0x0CB6, %i7 tgu %icc, 0x0 srl %g1, %l0, %o7 xor %i2, 0x0B36, %l5 addccc %g4, %g3, %o1 edge16 %i3, %o4, %l3 fmovsge %xcc, %f11, %f10 movneg %icc, %i6, %l4 tsubcc %i0, 0x1DC9, %g5 movneg %xcc, %o5, %l2 andcc %i5, %o0, %g6 xnorcc %g7, %o6, %o2 movleu %xcc, %i1, %o3 edge16ln %i4, %l1, %l6 andcc %g2, 0x17FA, %g1 mulx %l0, %o7, %i7 udiv %i2, 0x00F7, %l5 udiv %g4, 0x1C6C, %o1 edge32ln %i3, %g3, %l3 tcs %icc, 0x1 alignaddr %i6, %l4, %i0 umul %o4, %g5, %l2 edge32n %o5, %i5, %o0 popc %g6, %o6 sethi 0x1068, %g7 fmovrde %o2, %f12, %f0 movcc %xcc, %i1, %i4 sub %o3, 0x0436, %l6 edge32 %g2, %l1, %g1 subcc %l0, 0x092A, %o7 tn %icc, 0x5 sethi 0x05AA, %i2 fcmped %fcc2, %f2, %f6 edge8n %l5, %g4, %i7 movg %icc, %o1, %g3 andn %i3, %i6, %l3 fmovsneg %xcc, %f14, %f4 movre %l4, 0x29A, %i0 movpos %icc, %o4, %g5 movre %o5, 0x161, %i5 orncc %o0, %g6, %o6 udiv %g7, 0x129C, %l2 st %f4, [%l7 + 0x5C] mulscc %i1, %o2, %i4 xnorcc %l6, %g2, %o3 umul %l1, %l0, %o7 movne %icc, %g1, %l5 udivcc %i2, 0x05D2, %g4 andcc %i7, 0x1465, %o1 edge32 %g3, %i3, %i6 edge8ln %l3, %l4, %i0 movgu %xcc, %g5, %o4 alignaddr %o5, %o0, %g6 sra %o6, 0x14, %i5 xor %g7, %l2, %i1 movrgz %i4, 0x263, %l6 tl %xcc, 0x0 movgu %xcc, %g2, %o3 and %l1, 0x005F, %o2 movrgez %l0, 0x055, %g1 ldub [%l7 + 0x6C], %l5 be %xcc, loop_11 movle %icc, %o7, %i2 xnorcc %g4, %o1, %g3 tne %icc, 0x2 loop_11: movne %xcc, %i7, %i3 movle %icc, %l3, %l4 tle %xcc, 0x1 subccc %i6, 0x0D04, %g5 tl %xcc, 0x2 movle %icc, %i0, %o5 srax %o0, 0x1F, %g6 sdivcc %o6, 0x197B, %i5 tl %icc, 0x1 fnor %f12, %f4, %f12 movle %icc, %o4, %g7 addcc %i1, %l2, %i4 addccc %g2, %o3, %l6 movg %icc, %l1, %l0 andncc %g1, %o2, %l5 addccc %i2, %o7, %o1 xor %g3, %g4, %i3 umul %l3, %l4, %i7 tcs %icc, 0x3 sethi 0x0A96, %g5 mova %icc, %i6, %o5 tsubcctv %i0, %g6, %o0 tcc %xcc, 0x0 sethi 0x0460, %i5 tsubcctv %o4, 0x19B3, %g7 movrgz %o6, %l2, %i4 and %i1, %o3, %g2 movcs %icc, %l1, %l6 ldub [%l7 + 0x70], %l0 mova %xcc, %g1, %o2 sra %i2, %o7, %o1 edge8n %g3, %g4, %l5 fmovdg %xcc, %f12, %f1 xorcc %l3, 0x02AF, %i3 tle %icc, 0x0 tle %icc, 0x7 tvs %xcc, 0x7 sethi 0x02FE, %l4 popc %i7, %i6 brlz,a %o5, loop_12 sll %i0, %g6, %g5 movneg %icc, %i5, %o4 movleu %icc, %g7, %o0 loop_12: fors %f10, %f1, %f4 move %xcc, %l2, %o6 popc %i1, %o3 movneg %icc, %g2, %i4 srlx %l6, %l1, %l0 edge32n %g1, %o2, %i2 subcc %o1, 0x0EEE, %g3 fnegd %f10, %f12 ldub [%l7 + 0x0A], %g4 te %icc, 0x1 edge16l %l5, %l3, %o7 mova %icc, %i3, %l4 mulx %i7, 0x05C9, %o5 sdivcc %i0, 0x060E, %i6 subccc %g5, %g6, %o4 alignaddrl %g7, %i5, %l2 movrgz %o0, 0x17F, %i1 edge32n %o6, %g2, %i4 edge16n %l6, %l1, %l0 or %g1, %o3, %o2 udivx %i2, 0x15E7, %o1 orncc %g3, 0x19F2, %l5 mulscc %g4, 0x0377, %o7 tcs %xcc, 0x5 srl %i3, 0x12, %l3 xnor %l4, %i7, %o5 movleu %xcc, %i0, %i6 sth %g6, [%l7 + 0x48] edge32ln %o4, %g5, %i5 tsubcc %l2, 0x0602, %o0 andn %i1, %o6, %g7 movgu %xcc, %g2, %l6 tge %icc, 0x6 edge8ln %i4, %l1, %l0 andn %o3, 0x047E, %o2 movrne %i2, 0x237, %o1 tsubcc %g1, 0x1EF2, %g3 andn %g4, %l5, %o7 xnor %l3, 0x0263, %i3 and %i7, 0x1F30, %l4 sdiv %o5, 0x15AB, %i6 movleu %icc, %g6, %i0 tpos %xcc, 0x5 and %o4, 0x0A88, %g5 sdivcc %i5, 0x06D3, %o0 umulcc %i1, 0x165E, %o6 edge16l %l2, %g2, %g7 ta %icc, 0x0 taddcc %l6, 0x098E, %l1 or %i4, %o3, %o2 orn %i2, 0x06FF, %l0 tcc %icc, 0x0 edge32 %g1, %o1, %g4 xnor %l5, 0x13DA, %g3 edge16ln %l3, %i3, %i7 movvc %icc, %l4, %o5 srlx %i6, 0x19, %o7 smulcc %g6, 0x02C1, %i0 edge16ln %o4, %g5, %i5 movcs %icc, %i1, %o6 smulcc %o0, 0x155F, %g2 tvs %icc, 0x1 taddcctv %l2, %g7, %l6 mova %xcc, %l1, %o3 edge8l %i4, %i2, %l0 sethi 0x05A8, %o2 edge8 %o1, %g4, %l5 movrgez %g3, %g1, %i3 popc 0x0C30, %l3 edge32 %l4, %i7, %i6 smulcc %o7, 0x1548, %g6 mulx %o5, %o4, %g5 movrgez %i0, 0x05B, %i5 movrne %i1, 0x208, %o6 edge16ln %g2, %o0, %g7 add %l6, 0x1058, %l2 xnor %l1, %o3, %i2 taddcc %l0, %o2, %i4 ldsb [%l7 + 0x1D], %o1 xnorcc %g4, %g3, %l5 udiv %i3, 0x18C2, %l3 fmovsvs %icc, %f13, %f11 tsubcc %l4, %i7, %g1 sllx %o7, %g6, %o5 edge32l %i6, %g5, %o4 te %xcc, 0x7 sethi 0x06AB, %i0 subcc %i1, 0x0537, %o6 tgu %icc, 0x2 ldsw [%l7 + 0x48], %i5 tpos %xcc, 0x1 movneg %icc, %g2, %g7 sub %l6, %o0, %l1 tpos %xcc, 0x7 addcc %l2, 0x0EE7, %i2 edge8 %o3, %o2, %l0 tle %xcc, 0x2 tg %icc, 0x5 movcc %xcc, %i4, %g4 sra %o1, %g3, %l5 edge32l %i3, %l4, %i7 tle %xcc, 0x3 st %f0, [%l7 + 0x24] taddcctv %l3, 0x1961, %g1 subcc %o7, 0x123E, %g6 andcc %o5, 0x18EC, %g5 movgu %icc, %o4, %i6 mulscc %i1, %i0, %o6 edge32ln %g2, %g7, %l6 movrlz %o0, 0x14B, %l1 xnorcc %i5, 0x1A91, %i2 edge16n %o3, %o2, %l0 movrlz %i4, %l2, %o1 edge16ln %g3, %g4, %l5 tn %xcc, 0x5 te %xcc, 0x7 fmovdpos %xcc, %f13, %f0 andcc %i3, 0x010D, %l4 orcc %i7, 0x01D9, %g1 tcs %icc, 0x6 orn %o7, %l3, %o5 edge8n %g5, %g6, %o4 tvc %icc, 0x2 umulcc %i1, 0x0C2D, %i0 tsubcc %i6, 0x1EC2, %o6 mulx %g2, %l6, %o0 tpos %xcc, 0x0 sdivcc %l1, 0x1820, %i5 movgu %icc, %i2, %o3 tgu %icc, 0x6 movpos %icc, %g7, %l0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! Stats for Diag: ! ! Type f : 35 ! Type cti : 12 ! Type i : 919 ! Type l : 34 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXIT_GOOD /* test finish */ /************************************************************************ Test case data start ************************************************************************/ .data user_data_start: .word 0x80E9ED37 .word 0x13FB3DF8 .word 0xCE820BE6 .word 0x7894F110 .word 0x35AE1F94 .word 0xA4393524 .word 0xEC1D5725 .word 0xB15234AB .word 0x224F5C38 .word 0x56225637 .word 0x54617DC4 .word 0xB29067CD .word 0xAEFB4412 .word 0xAD58DF84 .word 0x364B6AB9 .word 0xD2920B96 .word 0x1B01D3FF .word 0x877581CC .word 0xE27A459F .word 0xF3F62BB8 .word 0xD4E4B745 .word 0xAEF78184 .word 0xC426E786 .word 0xE611D297 .word 0x6EC89F27 .word 0xF362BD9D .word 0x53740C01 .word 0x43C73F58 .word 0xD52A7B4B .word 0xE2B7C826 .word 0xFC104E1A .word 0xDAA6A056 .word 0x45C09A9E .word 0x460F0229 .word 0x0F918520 .word 0xE208EF9B .word 0xAF1833CB .word 0xEA1DCD07 .word 0x0FAD4294 .word 0xC83BB49C .word 0x0160691F .word 0xC462C717 .word 0x418D5679 .word 0xC938F0CD .word 0x2A237579 .word 0x5F681668 .word 0x4268FD57 .word 0x9CAEAE3F .word 0x1173D019 .word 0x7BF1D107 .word 0x90323107 .word 0x57838C20 .word 0xCBDA529D .word 0xCA6A7491 .word 0xCFD855E1 .word 0xB3CE7C7C .word 0x22F6FA55 .word 0x77E15F6A .word 0x5723D775 .word 0xB2E8A65B .word 0xA4220178 .word 0x63A49F3D .word 0xC3FF3D69 .word 0x61903825 .end