Home | History | Annotate | Line # | Download | only in hppa
milli.S revision 1.1.4.2
      1  1.1.4.2  jdolecek ;	$NetBSD: milli.S,v 1.1.4.2 2002/06/23 17:49:47 jdolecek Exp $
      2  1.1.4.2  jdolecek ;
      3  1.1.4.2  jdolecek ;	$OpenBSD: milli.S,v 1.5 2001/03/29 04:08:20 mickey Exp $
      4  1.1.4.2  jdolecek ;
      5  1.1.4.2  jdolecek ;  (c) Copyright 1986 HEWLETT-PACKARD COMPANY
      6  1.1.4.2  jdolecek ;
      7  1.1.4.2  jdolecek ;  To anyone who acknowledges that this file is provided "AS IS"
      8  1.1.4.2  jdolecek ;  without any express or implied warranty:
      9  1.1.4.2  jdolecek ;      permission to use, copy, modify, and distribute this file
     10  1.1.4.2  jdolecek ;  for any purpose is hereby granted without fee, provided that
     11  1.1.4.2  jdolecek ;  the above copyright notice and this notice appears in all
     12  1.1.4.2  jdolecek ;  copies, and that the name of Hewlett-Packard Company not be
     13  1.1.4.2  jdolecek ;  used in advertising or publicity pertaining to distribution
     14  1.1.4.2  jdolecek ;  of the software without specific, written prior permission.
     15  1.1.4.2  jdolecek ;  Hewlett-Packard Company makes no representations about the
     16  1.1.4.2  jdolecek ;  suitability of this software for any purpose.
     17  1.1.4.2  jdolecek ;
     18  1.1.4.2  jdolecek 
     19  1.1.4.2  jdolecek ; Standard Hardware Register Definitions for Use with Assembler
     20  1.1.4.2  jdolecek ; version A.08.06
     21  1.1.4.2  jdolecek ;	- fr16-31 added at Utah
     22  1.1.4.2  jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     23  1.1.4.2  jdolecek ; Hardware General Registers
     24  1.1.4.2  jdolecek r0: .equ	0
     25  1.1.4.2  jdolecek 
     26  1.1.4.2  jdolecek r1: .equ	1
     27  1.1.4.2  jdolecek 
     28  1.1.4.2  jdolecek r2: .equ	2
     29  1.1.4.2  jdolecek 
     30  1.1.4.2  jdolecek r3: .equ	3
     31  1.1.4.2  jdolecek 
     32  1.1.4.2  jdolecek r4: .equ	4
     33  1.1.4.2  jdolecek 
     34  1.1.4.2  jdolecek r5: .equ	5
     35  1.1.4.2  jdolecek 
     36  1.1.4.2  jdolecek r6: .equ	6
     37  1.1.4.2  jdolecek 
     38  1.1.4.2  jdolecek r7: .equ	7
     39  1.1.4.2  jdolecek 
     40  1.1.4.2  jdolecek r8: .equ	8
     41  1.1.4.2  jdolecek 
     42  1.1.4.2  jdolecek r9: .equ	9
     43  1.1.4.2  jdolecek 
     44  1.1.4.2  jdolecek r10: .equ	10
     45  1.1.4.2  jdolecek 
     46  1.1.4.2  jdolecek r11: .equ	11
     47  1.1.4.2  jdolecek 
     48  1.1.4.2  jdolecek r12: .equ	12
     49  1.1.4.2  jdolecek 
     50  1.1.4.2  jdolecek r13: .equ	13
     51  1.1.4.2  jdolecek 
     52  1.1.4.2  jdolecek r14: .equ	14
     53  1.1.4.2  jdolecek 
     54  1.1.4.2  jdolecek r15: .equ	15
     55  1.1.4.2  jdolecek 
     56  1.1.4.2  jdolecek r16: .equ	16
     57  1.1.4.2  jdolecek 
     58  1.1.4.2  jdolecek r17: .equ	17
     59  1.1.4.2  jdolecek 
     60  1.1.4.2  jdolecek r18: .equ	18
     61  1.1.4.2  jdolecek 
     62  1.1.4.2  jdolecek r19: .equ	19
     63  1.1.4.2  jdolecek 
     64  1.1.4.2  jdolecek r20: .equ	20
     65  1.1.4.2  jdolecek 
     66  1.1.4.2  jdolecek r21: .equ	21
     67  1.1.4.2  jdolecek 
     68  1.1.4.2  jdolecek r22: .equ	22
     69  1.1.4.2  jdolecek 
     70  1.1.4.2  jdolecek r23: .equ	23
     71  1.1.4.2  jdolecek 
     72  1.1.4.2  jdolecek r24: .equ	24
     73  1.1.4.2  jdolecek 
     74  1.1.4.2  jdolecek r25: .equ	25
     75  1.1.4.2  jdolecek 
     76  1.1.4.2  jdolecek r26: .equ	26
     77  1.1.4.2  jdolecek 
     78  1.1.4.2  jdolecek r27: .equ	27
     79  1.1.4.2  jdolecek 
     80  1.1.4.2  jdolecek r28: .equ	28
     81  1.1.4.2  jdolecek 
     82  1.1.4.2  jdolecek r29: .equ	29
     83  1.1.4.2  jdolecek 
     84  1.1.4.2  jdolecek r30: .equ	30
     85  1.1.4.2  jdolecek 
     86  1.1.4.2  jdolecek r31: .equ	31
     87  1.1.4.2  jdolecek 
     88  1.1.4.2  jdolecek ; Hardware Space Registers
     89  1.1.4.2  jdolecek sr0: .equ	0
     90  1.1.4.2  jdolecek 
     91  1.1.4.2  jdolecek sr1: .equ	1
     92  1.1.4.2  jdolecek 
     93  1.1.4.2  jdolecek sr2: .equ	2
     94  1.1.4.2  jdolecek 
     95  1.1.4.2  jdolecek sr3: .equ	3
     96  1.1.4.2  jdolecek 
     97  1.1.4.2  jdolecek sr4: .equ	4
     98  1.1.4.2  jdolecek 
     99  1.1.4.2  jdolecek sr5: .equ	5
    100  1.1.4.2  jdolecek 
    101  1.1.4.2  jdolecek sr6: .equ	6
    102  1.1.4.2  jdolecek 
    103  1.1.4.2  jdolecek sr7: .equ	7
    104  1.1.4.2  jdolecek 
    105  1.1.4.2  jdolecek ; Hardware Floating Point Registers
    106  1.1.4.2  jdolecek fr0: .equ	0
    107  1.1.4.2  jdolecek 
    108  1.1.4.2  jdolecek fr1: .equ	1
    109  1.1.4.2  jdolecek 
    110  1.1.4.2  jdolecek fr2: .equ	2
    111  1.1.4.2  jdolecek 
    112  1.1.4.2  jdolecek fr3: .equ	3
    113  1.1.4.2  jdolecek 
    114  1.1.4.2  jdolecek fr4: .equ	4
    115  1.1.4.2  jdolecek 
    116  1.1.4.2  jdolecek fr5: .equ	5
    117  1.1.4.2  jdolecek 
    118  1.1.4.2  jdolecek fr6: .equ	6
    119  1.1.4.2  jdolecek 
    120  1.1.4.2  jdolecek fr7: .equ	7
    121  1.1.4.2  jdolecek 
    122  1.1.4.2  jdolecek fr8: .equ	8
    123  1.1.4.2  jdolecek 
    124  1.1.4.2  jdolecek fr9: .equ	9
    125  1.1.4.2  jdolecek 
    126  1.1.4.2  jdolecek fr10: .equ	10
    127  1.1.4.2  jdolecek 
    128  1.1.4.2  jdolecek fr11: .equ	11
    129  1.1.4.2  jdolecek 
    130  1.1.4.2  jdolecek fr12: .equ	12
    131  1.1.4.2  jdolecek 
    132  1.1.4.2  jdolecek fr13: .equ	13
    133  1.1.4.2  jdolecek 
    134  1.1.4.2  jdolecek fr14: .equ	14
    135  1.1.4.2  jdolecek 
    136  1.1.4.2  jdolecek fr15: .equ	15
    137  1.1.4.2  jdolecek 
    138  1.1.4.2  jdolecek fr16: .equ	16
    139  1.1.4.2  jdolecek 
    140  1.1.4.2  jdolecek fr17: .equ	17
    141  1.1.4.2  jdolecek 
    142  1.1.4.2  jdolecek fr18: .equ	18
    143  1.1.4.2  jdolecek 
    144  1.1.4.2  jdolecek fr19: .equ	19
    145  1.1.4.2  jdolecek 
    146  1.1.4.2  jdolecek fr20: .equ	20
    147  1.1.4.2  jdolecek 
    148  1.1.4.2  jdolecek fr21: .equ	21
    149  1.1.4.2  jdolecek 
    150  1.1.4.2  jdolecek fr22: .equ	22
    151  1.1.4.2  jdolecek 
    152  1.1.4.2  jdolecek fr23: .equ	23
    153  1.1.4.2  jdolecek 
    154  1.1.4.2  jdolecek fr24: .equ	24
    155  1.1.4.2  jdolecek 
    156  1.1.4.2  jdolecek fr25: .equ	25
    157  1.1.4.2  jdolecek 
    158  1.1.4.2  jdolecek fr26: .equ	26
    159  1.1.4.2  jdolecek 
    160  1.1.4.2  jdolecek fr27: .equ	27
    161  1.1.4.2  jdolecek 
    162  1.1.4.2  jdolecek fr28: .equ	28
    163  1.1.4.2  jdolecek 
    164  1.1.4.2  jdolecek fr29: .equ	29
    165  1.1.4.2  jdolecek 
    166  1.1.4.2  jdolecek fr30: .equ	30
    167  1.1.4.2  jdolecek 
    168  1.1.4.2  jdolecek fr31: .equ	31
    169  1.1.4.2  jdolecek 
    170  1.1.4.2  jdolecek ; Hardware Control Registers
    171  1.1.4.2  jdolecek cr0: .equ	0
    172  1.1.4.2  jdolecek 
    173  1.1.4.2  jdolecek rctr: .equ	0			; Recovery Counter Register
    174  1.1.4.2  jdolecek 
    175  1.1.4.2  jdolecek cr8: .equ	8			; Protection ID 1
    176  1.1.4.2  jdolecek 
    177  1.1.4.2  jdolecek pidr1: .equ	8
    178  1.1.4.2  jdolecek 
    179  1.1.4.2  jdolecek cr9: .equ	9			; Protection ID 2
    180  1.1.4.2  jdolecek 
    181  1.1.4.2  jdolecek pidr2: .equ	9
    182  1.1.4.2  jdolecek 
    183  1.1.4.2  jdolecek cr10: .equ	10
    184  1.1.4.2  jdolecek 
    185  1.1.4.2  jdolecek ccr: .equ	10			; Coprocessor Confiquration Register
    186  1.1.4.2  jdolecek 
    187  1.1.4.2  jdolecek cr11: .equ	11
    188  1.1.4.2  jdolecek 
    189  1.1.4.2  jdolecek sar: .equ	11			; Shift Amount Register
    190  1.1.4.2  jdolecek 
    191  1.1.4.2  jdolecek cr12: .equ	12
    192  1.1.4.2  jdolecek 
    193  1.1.4.2  jdolecek pidr3: .equ	12			; Protection ID 3
    194  1.1.4.2  jdolecek 
    195  1.1.4.2  jdolecek cr13: .equ	13
    196  1.1.4.2  jdolecek 
    197  1.1.4.2  jdolecek pidr4: .equ	13			; Protection ID 4
    198  1.1.4.2  jdolecek 
    199  1.1.4.2  jdolecek cr14: .equ	14
    200  1.1.4.2  jdolecek 
    201  1.1.4.2  jdolecek iva: .equ	14			; Interrupt Vector Address
    202  1.1.4.2  jdolecek 
    203  1.1.4.2  jdolecek cr15: .equ	15
    204  1.1.4.2  jdolecek 
    205  1.1.4.2  jdolecek eiem: .equ	15			; External Interrupt Enable Mask
    206  1.1.4.2  jdolecek 
    207  1.1.4.2  jdolecek cr16: .equ	16
    208  1.1.4.2  jdolecek 
    209  1.1.4.2  jdolecek itmr: .equ	16			; Interval Timer
    210  1.1.4.2  jdolecek 
    211  1.1.4.2  jdolecek cr17: .equ	17
    212  1.1.4.2  jdolecek 
    213  1.1.4.2  jdolecek pcsq: .equ	17			; Program Counter Space queue
    214  1.1.4.2  jdolecek 
    215  1.1.4.2  jdolecek cr18: .equ	18
    216  1.1.4.2  jdolecek 
    217  1.1.4.2  jdolecek pcoq: .equ	18			; Program Counter Offset queue
    218  1.1.4.2  jdolecek 
    219  1.1.4.2  jdolecek cr19: .equ	19
    220  1.1.4.2  jdolecek 
    221  1.1.4.2  jdolecek iir: .equ	19			; Interruption Instruction Register
    222  1.1.4.2  jdolecek 
    223  1.1.4.2  jdolecek cr20: .equ	20
    224  1.1.4.2  jdolecek 
    225  1.1.4.2  jdolecek isr: .equ	20			; Interruption Space Register
    226  1.1.4.2  jdolecek 
    227  1.1.4.2  jdolecek cr21: .equ	21
    228  1.1.4.2  jdolecek 
    229  1.1.4.2  jdolecek ior: .equ	21			; Interruption Offset Register
    230  1.1.4.2  jdolecek 
    231  1.1.4.2  jdolecek cr22: .equ	22
    232  1.1.4.2  jdolecek 
    233  1.1.4.2  jdolecek ipsw: .equ	22			; Interrpution Processor Status Word
    234  1.1.4.2  jdolecek 
    235  1.1.4.2  jdolecek cr23: .equ	23
    236  1.1.4.2  jdolecek 
    237  1.1.4.2  jdolecek eirr: .equ	23			; External Interrupt Request
    238  1.1.4.2  jdolecek 
    239  1.1.4.2  jdolecek cr24: .equ	24
    240  1.1.4.2  jdolecek 
    241  1.1.4.2  jdolecek ppda: .equ	24			; Physcial Page Directory Address
    242  1.1.4.2  jdolecek 
    243  1.1.4.2  jdolecek tr0: .equ	24			; Temporary register 0
    244  1.1.4.2  jdolecek 
    245  1.1.4.2  jdolecek cr25: .equ	25
    246  1.1.4.2  jdolecek 
    247  1.1.4.2  jdolecek hta: .equ	25			; Hash Table Address
    248  1.1.4.2  jdolecek 
    249  1.1.4.2  jdolecek tr1: .equ	25			; Temporary register 1
    250  1.1.4.2  jdolecek 
    251  1.1.4.2  jdolecek cr26: .equ	26
    252  1.1.4.2  jdolecek 
    253  1.1.4.2  jdolecek tr2: .equ	26			; Temporary register 2
    254  1.1.4.2  jdolecek 
    255  1.1.4.2  jdolecek cr27: .equ	27
    256  1.1.4.2  jdolecek 
    257  1.1.4.2  jdolecek tr3: .equ	27			; Temporary register 3
    258  1.1.4.2  jdolecek 
    259  1.1.4.2  jdolecek cr28: .equ	28
    260  1.1.4.2  jdolecek 
    261  1.1.4.2  jdolecek tr4: .equ	28			; Temporary register 4
    262  1.1.4.2  jdolecek 
    263  1.1.4.2  jdolecek cr29: .equ	29
    264  1.1.4.2  jdolecek 
    265  1.1.4.2  jdolecek tr5: .equ	29			; Temporary register 5
    266  1.1.4.2  jdolecek 
    267  1.1.4.2  jdolecek cr30: .equ	30
    268  1.1.4.2  jdolecek 
    269  1.1.4.2  jdolecek tr6: .equ	30			; Temporary register 6
    270  1.1.4.2  jdolecek 
    271  1.1.4.2  jdolecek cr31: .equ	31
    272  1.1.4.2  jdolecek 
    273  1.1.4.2  jdolecek tr7: .equ	31			; Temporary register 7
    274  1.1.4.2  jdolecek 
    275  1.1.4.2  jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    276  1.1.4.2  jdolecek ; Procedure Call Convention						~
    277  1.1.4.2  jdolecek ; Register Definitions for Use with Assembler				~
    278  1.1.4.2  jdolecek ; version A.08.06							~
    279  1.1.4.2  jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    280  1.1.4.2  jdolecek ; Software Architecture General Registers
    281  1.1.4.2  jdolecek rp: .equ	r2	; return pointer
    282  1.1.4.2  jdolecek 
    283  1.1.4.2  jdolecek mrp: .equ	r31	; millicode return pointer
    284  1.1.4.2  jdolecek 
    285  1.1.4.2  jdolecek ret0: .equ	r28	; return value
    286  1.1.4.2  jdolecek 
    287  1.1.4.2  jdolecek ret1: .equ	r29	; return value (high part of double)
    288  1.1.4.2  jdolecek 
    289  1.1.4.2  jdolecek sl: .equ	r29	; static link
    290  1.1.4.2  jdolecek 
    291  1.1.4.2  jdolecek sp: .equ	r30	; stack pointer
    292  1.1.4.2  jdolecek 
    293  1.1.4.2  jdolecek dp: .equ	r27	; data pointer
    294  1.1.4.2  jdolecek 
    295  1.1.4.2  jdolecek arg0: .equ	r26	; argument
    296  1.1.4.2  jdolecek 
    297  1.1.4.2  jdolecek arg1: .equ	r25	; argument or high part of double argument
    298  1.1.4.2  jdolecek 
    299  1.1.4.2  jdolecek arg2: .equ	r24	; argument
    300  1.1.4.2  jdolecek 
    301  1.1.4.2  jdolecek arg3: .equ	r23	; argument or high part of double argument
    302  1.1.4.2  jdolecek 
    303  1.1.4.2  jdolecek ;_____________________________________________________________________________
    304  1.1.4.2  jdolecek ; Software Architecture Space Registers
    305  1.1.4.2  jdolecek ;		sr0	; return link form BLE
    306  1.1.4.2  jdolecek sret: .equ	sr1	; return value
    307  1.1.4.2  jdolecek 
    308  1.1.4.2  jdolecek sarg: .equ	sr1	; argument
    309  1.1.4.2  jdolecek 
    310  1.1.4.2  jdolecek ;		sr4	; PC SPACE tracker
    311  1.1.4.2  jdolecek ;		sr5	; process private data
    312  1.1.4.2  jdolecek ;_____________________________________________________________________________
    313  1.1.4.2  jdolecek ; Software Architecture Pseudo Registers
    314  1.1.4.2  jdolecek previous_sp: .equ	64	; old stack pointer (locates previous frame)
    315  1.1.4.2  jdolecek 
    316  1.1.4.2  jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    317  1.1.4.2  jdolecek ; Standard space and subspace definitions.  version A.08.06
    318  1.1.4.2  jdolecek ; These are generally suitable for programs on HP_UX and HPE.
    319  1.1.4.2  jdolecek ; Statements commented out are used when building such things as operating
    320  1.1.4.2  jdolecek ; system kernels.
    321  1.1.4.2  jdolecek ;;;;;;;;;;;;;;;;
    322  1.1.4.2  jdolecek ; Additional code subspaces should have ALIGN=8 for an interspace BV
    323  1.1.4.2  jdolecek ; and should have SORT=24.
    324  1.1.4.2  jdolecek ;
    325  1.1.4.2  jdolecek ; For an incomplete executable (program bound to shared libraries),
    326  1.1.4.2  jdolecek ; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$
    327  1.1.4.2  jdolecek ; and $PLT$ subspaces respectively.
    328  1.1.4.2  jdolecek ;;;;;;;;;;;;;;;
    329  1.1.4.2  jdolecek 
    330  1.1.4.2  jdolecek 	.text
    331  1.1.4.2  jdolecek 	.EXPORT $$remI,millicode
    332  1.1.4.2  jdolecek ;	.IMPORT	cerror
    333  1.1.4.2  jdolecek $$remI:
    334  1.1.4.2  jdolecek 	.PROC
    335  1.1.4.2  jdolecek 	.CALLINFO NO_CALLS
    336  1.1.4.2  jdolecek 	.ENTRY
    337  1.1.4.2  jdolecek 	addit,= 0,arg1,r0
    338  1.1.4.2  jdolecek 	add,>= r0,arg0,ret1
    339  1.1.4.2  jdolecek 	sub r0,ret1,ret1
    340  1.1.4.2  jdolecek 	sub r0,arg1,r1
    341  1.1.4.2  jdolecek 	ds r0,r1,r0
    342  1.1.4.2  jdolecek 	or r0,r0,r1
    343  1.1.4.2  jdolecek 	add ret1,ret1,ret1
    344  1.1.4.2  jdolecek 	ds r1,arg1,r1
    345  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    346  1.1.4.2  jdolecek 	ds r1,arg1,r1
    347  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    348  1.1.4.2  jdolecek 	ds r1,arg1,r1
    349  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    350  1.1.4.2  jdolecek 	ds r1,arg1,r1
    351  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    352  1.1.4.2  jdolecek 	ds r1,arg1,r1
    353  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    354  1.1.4.2  jdolecek 	ds r1,arg1,r1
    355  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    356  1.1.4.2  jdolecek 	ds r1,arg1,r1
    357  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    358  1.1.4.2  jdolecek 	ds r1,arg1,r1
    359  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    360  1.1.4.2  jdolecek 	ds r1,arg1,r1
    361  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    362  1.1.4.2  jdolecek 	ds r1,arg1,r1
    363  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    364  1.1.4.2  jdolecek 	ds r1,arg1,r1
    365  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    366  1.1.4.2  jdolecek 	ds r1,arg1,r1
    367  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    368  1.1.4.2  jdolecek 	ds r1,arg1,r1
    369  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    370  1.1.4.2  jdolecek 	ds r1,arg1,r1
    371  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    372  1.1.4.2  jdolecek 	ds r1,arg1,r1
    373  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    374  1.1.4.2  jdolecek 	ds r1,arg1,r1
    375  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    376  1.1.4.2  jdolecek 	ds r1,arg1,r1
    377  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    378  1.1.4.2  jdolecek 	ds r1,arg1,r1
    379  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    380  1.1.4.2  jdolecek 	ds r1,arg1,r1
    381  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    382  1.1.4.2  jdolecek 	ds r1,arg1,r1
    383  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    384  1.1.4.2  jdolecek 	ds r1,arg1,r1
    385  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    386  1.1.4.2  jdolecek 	ds r1,arg1,r1
    387  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    388  1.1.4.2  jdolecek 	ds r1,arg1,r1
    389  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    390  1.1.4.2  jdolecek 	ds r1,arg1,r1
    391  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    392  1.1.4.2  jdolecek 	ds r1,arg1,r1
    393  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    394  1.1.4.2  jdolecek 	ds r1,arg1,r1
    395  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    396  1.1.4.2  jdolecek 	ds r1,arg1,r1
    397  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    398  1.1.4.2  jdolecek 	ds r1,arg1,r1
    399  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    400  1.1.4.2  jdolecek 	ds r1,arg1,r1
    401  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    402  1.1.4.2  jdolecek 	ds r1,arg1,r1
    403  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    404  1.1.4.2  jdolecek 	ds r1,arg1,r1
    405  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    406  1.1.4.2  jdolecek 	ds r1,arg1,r1
    407  1.1.4.2  jdolecek 	addc ret1,ret1,ret1
    408  1.1.4.2  jdolecek 	movb,>=,n r1,ret1,remI300
    409  1.1.4.2  jdolecek 	add,< arg1,r0,r0
    410  1.1.4.2  jdolecek 	add,tr r1,arg1,ret1
    411  1.1.4.2  jdolecek 	sub r1,arg1,ret1
    412  1.1.4.2  jdolecek remI300: add,>= arg0,r0,r0
    413  1.1.4.2  jdolecek 
    414  1.1.4.2  jdolecek 	sub r0,ret1,ret1
    415  1.1.4.2  jdolecek 	bv r0(r31)
    416  1.1.4.2  jdolecek 	nop
    417  1.1.4.2  jdolecek 	.EXIT
    418  1.1.4.2  jdolecek 	.PROCEND
    419  1.1.4.2  jdolecek 
    420  1.1.4.2  jdolecek bit1:  .equ 1
    421  1.1.4.2  jdolecek 
    422  1.1.4.2  jdolecek bit30: .equ 30
    423  1.1.4.2  jdolecek bit31: .equ 31
    424  1.1.4.2  jdolecek 
    425  1.1.4.2  jdolecek len2:  .equ 2
    426  1.1.4.2  jdolecek 
    427  1.1.4.2  jdolecek len4:  .equ 4
    428  1.1.4.2  jdolecek 
    429  1.1.4.2  jdolecek #if 0
    430  1.1.4.2  jdolecek $$dyncall:
    431  1.1.4.2  jdolecek 	.proc
    432  1.1.4.2  jdolecek 	.callinfo NO_CALLS
    433  1.1.4.2  jdolecek 	.export $$dyncall,MILLICODE
    434  1.1.4.2  jdolecek 
    435  1.1.4.2  jdolecek 	bb,>=,n	22,bit30,noshlibs
    436  1.1.4.2  jdolecek 
    437  1.1.4.2  jdolecek 	depi	0,bit31,len2,22
    438  1.1.4.2  jdolecek 	ldw	4(22),19
    439  1.1.4.2  jdolecek 	ldw	0(22),22
    440  1.1.4.2  jdolecek noshlibs:
    441  1.1.4.2  jdolecek 	ldsid	(22),r1
    442  1.1.4.2  jdolecek 	mtsp	r1,sr0
    443  1.1.4.2  jdolecek 	be	0(sr0,r22)
    444  1.1.4.2  jdolecek 	stw	rp,-24(sp)
    445  1.1.4.2  jdolecek 	.procend
    446  1.1.4.2  jdolecek #endif
    447  1.1.4.2  jdolecek 
    448  1.1.4.2  jdolecek $$sh_func_adrs:
    449  1.1.4.2  jdolecek 	.proc
    450  1.1.4.2  jdolecek 	.callinfo NO_CALLS
    451  1.1.4.2  jdolecek 	.export $$sh_func_adrs, millicode
    452  1.1.4.2  jdolecek 	ldo	0(r26),ret1
    453  1.1.4.2  jdolecek 	dep	r0,30,1,r26
    454  1.1.4.2  jdolecek 	probew	(r26),r31,r22
    455  1.1.4.2  jdolecek 	extru,=	r22,31,1,r22
    456  1.1.4.2  jdolecek 	bv	r0(r31)
    457  1.1.4.2  jdolecek 	ldws	0(r26),ret1
    458  1.1.4.2  jdolecek 	.procend
    459  1.1.4.2  jdolecek 
    460  1.1.4.2  jdolecek temp: .EQU	r1
    461  1.1.4.2  jdolecek 
    462  1.1.4.2  jdolecek retreg: .EQU	ret1	; r29
    463  1.1.4.2  jdolecek 
    464  1.1.4.2  jdolecek 	.export $$divU,millicode
    465  1.1.4.2  jdolecek 	.import $$divU_3,millicode
    466  1.1.4.2  jdolecek 	.import $$divU_5,millicode
    467  1.1.4.2  jdolecek 	.import $$divU_6,millicode
    468  1.1.4.2  jdolecek 	.import $$divU_7,millicode
    469  1.1.4.2  jdolecek 	.import $$divU_9,millicode
    470  1.1.4.2  jdolecek 	.import $$divU_10,millicode
    471  1.1.4.2  jdolecek 	.import $$divU_12,millicode
    472  1.1.4.2  jdolecek 	.import $$divU_14,millicode
    473  1.1.4.2  jdolecek 	.import $$divU_15,millicode
    474  1.1.4.2  jdolecek $$divU:
    475  1.1.4.2  jdolecek 	.proc
    476  1.1.4.2  jdolecek 	.callinfo NO_CALLS
    477  1.1.4.2  jdolecek ; The subtract is not nullified since it does no harm and can be used
    478  1.1.4.2  jdolecek ; by the two cases that branch back to "normal".
    479  1.1.4.2  jdolecek 	comib,>=  15,arg1,special_divisor
    480  1.1.4.2  jdolecek 	sub	r0,arg1,temp		; clear carry, negate the divisor
    481  1.1.4.2  jdolecek 	ds	r0,temp,r0		; set V-bit to 1
    482  1.1.4.2  jdolecek normal:
    483  1.1.4.2  jdolecek 	add	arg0,arg0,retreg	; shift msb bit into carry
    484  1.1.4.2  jdolecek 	ds	r0,arg1,temp		; 1st divide step, if no carry
    485  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    486  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 2nd divide step
    487  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    488  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 3rd divide step
    489  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    490  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 4th divide step
    491  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    492  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 5th divide step
    493  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    494  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 6th divide step
    495  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    496  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 7th divide step
    497  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    498  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 8th divide step
    499  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    500  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 9th divide step
    501  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    502  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 10th divide step
    503  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    504  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 11th divide step
    505  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    506  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 12th divide step
    507  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    508  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 13th divide step
    509  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    510  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 14th divide step
    511  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    512  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 15th divide step
    513  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    514  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 16th divide step
    515  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    516  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 17th divide step
    517  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    518  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 18th divide step
    519  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    520  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 19th divide step
    521  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    522  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 20th divide step
    523  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    524  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 21st divide step
    525  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    526  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 22nd divide step
    527  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    528  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 23rd divide step
    529  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    530  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 24th divide step
    531  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    532  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 25th divide step
    533  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    534  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 26th divide step
    535  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    536  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 27th divide step
    537  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    538  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 28th divide step
    539  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    540  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 29th divide step
    541  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    542  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 30th divide step
    543  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    544  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 31st divide step
    545  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
    546  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 32nd divide step,
    547  1.1.4.2  jdolecek 	bv	0(r31)
    548  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift last retreg bit into retreg
    549  1.1.4.2  jdolecek ;_____________________________________________________________________________
    550  1.1.4.2  jdolecek ; handle the cases where divisor is a small constant or has high bit on
    551  1.1.4.2  jdolecek special_divisor:
    552  1.1.4.2  jdolecek 	blr	arg1,r0
    553  1.1.4.2  jdolecek 	comib,>,n  0,arg1,big_divisor	; nullify previous instruction
    554  1.1.4.2  jdolecek zero_divisor: ; this label is here to provide external visibility
    555  1.1.4.2  jdolecek 
    556  1.1.4.2  jdolecek 	addit,=	0,arg1,0		; trap for zero dvr
    557  1.1.4.2  jdolecek 	nop
    558  1.1.4.2  jdolecek 	bv	0(r31)			; divisor == 1
    559  1.1.4.2  jdolecek 	copy	arg0,retreg
    560  1.1.4.2  jdolecek 	bv	0(r31)			; divisor == 2
    561  1.1.4.2  jdolecek 	extru	arg0,30,31,retreg
    562  1.1.4.2  jdolecek 	 b,n	$$divU_3		; divisor == 3
    563  1.1.4.2  jdolecek 	nop
    564  1.1.4.2  jdolecek 	bv	0(r31)			; divisor == 4
    565  1.1.4.2  jdolecek 	extru	arg0,29,30,retreg
    566  1.1.4.2  jdolecek 	 b,n	$$divU_5		; divisor == 5
    567  1.1.4.2  jdolecek 	nop
    568  1.1.4.2  jdolecek 	 b,n	$$divU_6		; divisor == 6
    569  1.1.4.2  jdolecek 	nop
    570  1.1.4.2  jdolecek 	 b,n	$$divU_7		; divisor == 7
    571  1.1.4.2  jdolecek 	nop
    572  1.1.4.2  jdolecek 	bv	0(r31)			; divisor == 8
    573  1.1.4.2  jdolecek 	extru	arg0,28,29,retreg
    574  1.1.4.2  jdolecek 	 b,n	$$divU_9		; divisor == 9
    575  1.1.4.2  jdolecek 	nop
    576  1.1.4.2  jdolecek 	 b,n	$$divU_10		; divisor == 10
    577  1.1.4.2  jdolecek 	nop
    578  1.1.4.2  jdolecek 	b	normal			; divisor == 11
    579  1.1.4.2  jdolecek 	ds	r0,temp,r0		; set V-bit to 1
    580  1.1.4.2  jdolecek 	 b,n	$$divU_12		; divisor == 12
    581  1.1.4.2  jdolecek 	nop
    582  1.1.4.2  jdolecek 	b	normal			; divisor == 13
    583  1.1.4.2  jdolecek 	ds	r0,temp,r0		; set V-bit to 1
    584  1.1.4.2  jdolecek 	 b,n	$$divU_14		; divisor == 14
    585  1.1.4.2  jdolecek 	nop
    586  1.1.4.2  jdolecek 	 b,n	$$divU_15		; divisor == 15
    587  1.1.4.2  jdolecek 	nop
    588  1.1.4.2  jdolecek ;_____________________________________________________________________________
    589  1.1.4.2  jdolecek ; Handle the case where the high bit is on in the divisor.
    590  1.1.4.2  jdolecek ; Compute:	if( dividend>=divisor) quotient=1; else quotient=0;
    591  1.1.4.2  jdolecek ; Note:		dividend>==divisor iff dividend-divisor does not borrow
    592  1.1.4.2  jdolecek ; and		not borrow iff carry
    593  1.1.4.2  jdolecek big_divisor:
    594  1.1.4.2  jdolecek 	sub	arg0,arg1,r0
    595  1.1.4.2  jdolecek 	bv	0(r31)
    596  1.1.4.2  jdolecek 	addc	r0,r0,retreg
    597  1.1.4.2  jdolecek 	.procend
    598  1.1.4.2  jdolecek 	.end
    599  1.1.4.2  jdolecek 
    600  1.1.4.2  jdolecek t2: .EQU	r1
    601  1.1.4.2  jdolecek 
    602  1.1.4.2  jdolecek ; x2	.EQU	arg0	; r26
    603  1.1.4.2  jdolecek t1: .EQU	arg1	; r25
    604  1.1.4.2  jdolecek 
    605  1.1.4.2  jdolecek ; x1	.EQU	ret1	; r29
    606  1.1.4.2  jdolecek ;_____________________________________________________________________________
    607  1.1.4.2  jdolecek 
    608  1.1.4.2  jdolecek $$divide_by_constant:
    609  1.1.4.2  jdolecek 	.PROC
    610  1.1.4.2  jdolecek 	.CALLINFO NO_CALLS
    611  1.1.4.2  jdolecek 	.export $$divide_by_constant,millicode
    612  1.1.4.2  jdolecek ; Provides a "nice" label for the code covered by the unwind descriptor
    613  1.1.4.2  jdolecek ; for things like gprof.
    614  1.1.4.2  jdolecek 
    615  1.1.4.2  jdolecek $$divI_2:
    616  1.1.4.2  jdolecek 	.EXPORT	$$divI_2,MILLICODE
    617  1.1.4.2  jdolecek 	COMCLR,>=	arg0,0,0
    618  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    619  1.1.4.2  jdolecek 	bv		0(r31)
    620  1.1.4.2  jdolecek 	EXTRS		arg0,30,31,ret1
    621  1.1.4.2  jdolecek 
    622  1.1.4.2  jdolecek $$divI_4:
    623  1.1.4.2  jdolecek 	.EXPORT		$$divI_4,MILLICODE
    624  1.1.4.2  jdolecek 	COMCLR,>=	arg0,0,0
    625  1.1.4.2  jdolecek 	ADDI		3,arg0,arg0
    626  1.1.4.2  jdolecek 	bv		0(r31)
    627  1.1.4.2  jdolecek 	EXTRS		arg0,29,30,ret1
    628  1.1.4.2  jdolecek 
    629  1.1.4.2  jdolecek $$divI_8:
    630  1.1.4.2  jdolecek 	.EXPORT		$$divI_8,MILLICODE
    631  1.1.4.2  jdolecek 	COMCLR,>=	arg0,0,0
    632  1.1.4.2  jdolecek 	ADDI		7,arg0,arg0
    633  1.1.4.2  jdolecek 	bv		0(r31)
    634  1.1.4.2  jdolecek 	EXTRS		arg0,28,29,ret1
    635  1.1.4.2  jdolecek 
    636  1.1.4.2  jdolecek $$divI_16:
    637  1.1.4.2  jdolecek 	.EXPORT		$$divI_16,MILLICODE
    638  1.1.4.2  jdolecek 	COMCLR,>=	arg0,0,0
    639  1.1.4.2  jdolecek 	ADDI		15,arg0,arg0
    640  1.1.4.2  jdolecek 	bv		0(r31)
    641  1.1.4.2  jdolecek 	EXTRS		arg0,27,28,ret1
    642  1.1.4.2  jdolecek 
    643  1.1.4.2  jdolecek $$divI_3:
    644  1.1.4.2  jdolecek 	.EXPORT		$$divI_3,MILLICODE
    645  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg3
    646  1.1.4.2  jdolecek 
    647  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    648  1.1.4.2  jdolecek 	EXTRU		arg0,1,2,ret1
    649  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    650  1.1.4.2  jdolecek 	B		$pos
    651  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    652  1.1.4.2  jdolecek 
    653  1.1.4.2  jdolecek $neg3:
    654  1.1.4.2  jdolecek 	SUBI		1,arg0,arg0
    655  1.1.4.2  jdolecek 	EXTRU		arg0,1,2,ret1
    656  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    657  1.1.4.2  jdolecek 	B		$neg
    658  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    659  1.1.4.2  jdolecek 
    660  1.1.4.2  jdolecek $$divU_3:
    661  1.1.4.2  jdolecek 	.EXPORT		$$divU_3,MILLICODE
    662  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    663  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    664  1.1.4.2  jdolecek 	SHD		ret1,arg0,30,t1
    665  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    666  1.1.4.2  jdolecek 	B		$pos
    667  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    668  1.1.4.2  jdolecek 
    669  1.1.4.2  jdolecek $$divI_5:
    670  1.1.4.2  jdolecek 	.EXPORT		$$divI_5,MILLICODE
    671  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg5
    672  1.1.4.2  jdolecek 	ADDI		3,arg0,t1
    673  1.1.4.2  jdolecek 	SH1ADD		arg0,t1,arg0
    674  1.1.4.2  jdolecek 	B		$pos
    675  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    676  1.1.4.2  jdolecek 
    677  1.1.4.2  jdolecek $neg5:
    678  1.1.4.2  jdolecek 	SUB		0,arg0,arg0
    679  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    680  1.1.4.2  jdolecek 	SHD		0,arg0,31,ret1
    681  1.1.4.2  jdolecek 	SH1ADD		arg0,arg0,arg0
    682  1.1.4.2  jdolecek 	B		$neg
    683  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    684  1.1.4.2  jdolecek 
    685  1.1.4.2  jdolecek $$divU_5:
    686  1.1.4.2  jdolecek 	.EXPORT		$$divU_5,MILLICODE
    687  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    688  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    689  1.1.4.2  jdolecek 	SHD		ret1,arg0,31,t1
    690  1.1.4.2  jdolecek 	SH1ADD		arg0,arg0,arg0
    691  1.1.4.2  jdolecek 	B		$pos
    692  1.1.4.2  jdolecek 	ADDC		t1,ret1,ret1
    693  1.1.4.2  jdolecek 
    694  1.1.4.2  jdolecek $$divI_6:
    695  1.1.4.2  jdolecek 	.EXPORT		$$divI_6,MILLICODE
    696  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg6
    697  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    698  1.1.4.2  jdolecek 	ADDI		5,arg0,t1
    699  1.1.4.2  jdolecek 	SH2ADD		arg0,t1,arg0
    700  1.1.4.2  jdolecek 	B		$pos
    701  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    702  1.1.4.2  jdolecek 
    703  1.1.4.2  jdolecek $neg6:
    704  1.1.4.2  jdolecek 	SUBI		2,arg0,arg0
    705  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    706  1.1.4.2  jdolecek 	SHD		0,arg0,30,ret1
    707  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    708  1.1.4.2  jdolecek 	B		$neg
    709  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    710  1.1.4.2  jdolecek 
    711  1.1.4.2  jdolecek $$divU_6:
    712  1.1.4.2  jdolecek 	.EXPORT		$$divU_6,MILLICODE
    713  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    714  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    715  1.1.4.2  jdolecek 	SHD		0,arg0,30,ret1
    716  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    717  1.1.4.2  jdolecek 	B		$pos
    718  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    719  1.1.4.2  jdolecek 
    720  1.1.4.2  jdolecek $$divU_10:
    721  1.1.4.2  jdolecek 	.EXPORT		$$divU_10,MILLICODE
    722  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    723  1.1.4.2  jdolecek 	ADDI		3,arg0,t1
    724  1.1.4.2  jdolecek 	SH1ADD		arg0,t1,arg0
    725  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    726  1.1.4.2  jdolecek $pos:
    727  1.1.4.2  jdolecek 	SHD		ret1,arg0,28,t1
    728  1.1.4.2  jdolecek 	SHD		arg0,0,28,t2
    729  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    730  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    731  1.1.4.2  jdolecek $pos_for_17:
    732  1.1.4.2  jdolecek 	SHD		ret1,arg0,24,t1
    733  1.1.4.2  jdolecek 	SHD		arg0,0,24,t2
    734  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    735  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    736  1.1.4.2  jdolecek 
    737  1.1.4.2  jdolecek 	SHD		ret1,arg0,16,t1
    738  1.1.4.2  jdolecek 	SHD		arg0,0,16,t2
    739  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    740  1.1.4.2  jdolecek 	bv		0(r31)
    741  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    742  1.1.4.2  jdolecek 
    743  1.1.4.2  jdolecek $$divI_10:
    744  1.1.4.2  jdolecek 	.EXPORT		$$divI_10,MILLICODE
    745  1.1.4.2  jdolecek 	COMB,<		arg0,0,$neg10
    746  1.1.4.2  jdolecek 	COPY		0,ret1
    747  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    748  1.1.4.2  jdolecek 	ADDIB,TR	1,arg0,$pos
    749  1.1.4.2  jdolecek 	SH1ADD		arg0,arg0,arg0
    750  1.1.4.2  jdolecek 
    751  1.1.4.2  jdolecek $neg10:
    752  1.1.4.2  jdolecek 	SUBI		2,arg0,arg0
    753  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    754  1.1.4.2  jdolecek 	SH1ADD		arg0,arg0,arg0
    755  1.1.4.2  jdolecek $neg:
    756  1.1.4.2  jdolecek 	SHD		ret1,arg0,28,t1
    757  1.1.4.2  jdolecek 	SHD		arg0,0,28,t2
    758  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    759  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    760  1.1.4.2  jdolecek $neg_for_17:
    761  1.1.4.2  jdolecek 	SHD		ret1,arg0,24,t1
    762  1.1.4.2  jdolecek 	SHD		arg0,0,24,t2
    763  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    764  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    765  1.1.4.2  jdolecek 
    766  1.1.4.2  jdolecek 	SHD		ret1,arg0,16,t1
    767  1.1.4.2  jdolecek 	SHD		arg0,0,16,t2
    768  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    769  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    770  1.1.4.2  jdolecek 	bv		0(r31)
    771  1.1.4.2  jdolecek 	SUB		0,ret1,ret1
    772  1.1.4.2  jdolecek 
    773  1.1.4.2  jdolecek $$divI_12:
    774  1.1.4.2  jdolecek 	.EXPORT		$$divI_12,MILLICODE
    775  1.1.4.2  jdolecek 	COMB,<		arg0,0,$neg12
    776  1.1.4.2  jdolecek 	COPY		0,ret1
    777  1.1.4.2  jdolecek 	EXTRU		arg0,29,30,arg0
    778  1.1.4.2  jdolecek 	ADDIB,TR	1,arg0,$pos
    779  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    780  1.1.4.2  jdolecek 
    781  1.1.4.2  jdolecek $neg12:
    782  1.1.4.2  jdolecek 	SUBI		4,arg0,arg0
    783  1.1.4.2  jdolecek 	EXTRU		arg0,29,30,arg0
    784  1.1.4.2  jdolecek 	B		$neg
    785  1.1.4.2  jdolecek 	SH2ADD		arg0,arg0,arg0
    786  1.1.4.2  jdolecek 
    787  1.1.4.2  jdolecek $$divU_12:
    788  1.1.4.2  jdolecek 	.EXPORT		$$divU_12,MILLICODE
    789  1.1.4.2  jdolecek 	EXTRU		arg0,29,30,arg0
    790  1.1.4.2  jdolecek 	ADDI		5,arg0,t1
    791  1.1.4.2  jdolecek 	SH2ADD		arg0,t1,arg0
    792  1.1.4.2  jdolecek 	B		$pos
    793  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    794  1.1.4.2  jdolecek 
    795  1.1.4.2  jdolecek $$divI_15:
    796  1.1.4.2  jdolecek 	.EXPORT		$$divI_15,MILLICODE
    797  1.1.4.2  jdolecek 	COMB,<		arg0,0,$neg15
    798  1.1.4.2  jdolecek 	COPY		0,ret1
    799  1.1.4.2  jdolecek 	ADDIB,TR	1,arg0,$pos+4
    800  1.1.4.2  jdolecek 	SHD		ret1,arg0,28,t1
    801  1.1.4.2  jdolecek 
    802  1.1.4.2  jdolecek $neg15:
    803  1.1.4.2  jdolecek 	B		$neg
    804  1.1.4.2  jdolecek 	SUBI		1,arg0,arg0
    805  1.1.4.2  jdolecek 
    806  1.1.4.2  jdolecek $$divU_15:
    807  1.1.4.2  jdolecek 	.EXPORT		$$divU_15,MILLICODE
    808  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    809  1.1.4.2  jdolecek 	B		$pos
    810  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    811  1.1.4.2  jdolecek 
    812  1.1.4.2  jdolecek $$divI_17:
    813  1.1.4.2  jdolecek 	.EXPORT		$$divI_17,MILLICODE
    814  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg17
    815  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    816  1.1.4.2  jdolecek 	SHD		0,arg0,28,t1
    817  1.1.4.2  jdolecek 	SHD		arg0,0,28,t2
    818  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    819  1.1.4.2  jdolecek 	B		$pos_for_17
    820  1.1.4.2  jdolecek 	SUBB		t1,0,ret1
    821  1.1.4.2  jdolecek 
    822  1.1.4.2  jdolecek $neg17:
    823  1.1.4.2  jdolecek 	SUBI		1,arg0,arg0
    824  1.1.4.2  jdolecek 	SHD		0,arg0,28,t1
    825  1.1.4.2  jdolecek 	SHD		arg0,0,28,t2
    826  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    827  1.1.4.2  jdolecek 	B		$neg_for_17
    828  1.1.4.2  jdolecek 	SUBB		t1,0,ret1
    829  1.1.4.2  jdolecek 
    830  1.1.4.2  jdolecek $$divU_17:
    831  1.1.4.2  jdolecek 	.EXPORT		$$divU_17,MILLICODE
    832  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    833  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    834  1.1.4.2  jdolecek 	SHD		ret1,arg0,28,t1
    835  1.1.4.2  jdolecek $u17:
    836  1.1.4.2  jdolecek 	SHD		arg0,0,28,t2
    837  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    838  1.1.4.2  jdolecek 	B		$pos_for_17
    839  1.1.4.2  jdolecek 	SUBB		t1,ret1,ret1
    840  1.1.4.2  jdolecek 
    841  1.1.4.2  jdolecek $$divI_7:
    842  1.1.4.2  jdolecek 	.EXPORT		$$divI_7,MILLICODE
    843  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg7
    844  1.1.4.2  jdolecek $7:
    845  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    846  1.1.4.2  jdolecek 	SHD		0,arg0,29,ret1
    847  1.1.4.2  jdolecek 	SH3ADD		arg0,arg0,arg0
    848  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    849  1.1.4.2  jdolecek $pos7:
    850  1.1.4.2  jdolecek 	SHD		ret1,arg0,26,t1
    851  1.1.4.2  jdolecek 	SHD		arg0,0,26,t2
    852  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    853  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    854  1.1.4.2  jdolecek 
    855  1.1.4.2  jdolecek 	SHD		ret1,arg0,20,t1
    856  1.1.4.2  jdolecek 	SHD		arg0,0,20,t2
    857  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    858  1.1.4.2  jdolecek 	ADDC		ret1,t1,t1
    859  1.1.4.2  jdolecek 
    860  1.1.4.2  jdolecek 	COPY		0,ret1
    861  1.1.4.2  jdolecek 	SHD,=		t1,arg0,24,t1
    862  1.1.4.2  jdolecek $1:
    863  1.1.4.2  jdolecek 	ADDB,TR		t1,ret1,$2
    864  1.1.4.2  jdolecek 	EXTRU		arg0,31,24,arg0
    865  1.1.4.2  jdolecek 
    866  1.1.4.2  jdolecek 	bv,n  0(r31)
    867  1.1.4.2  jdolecek 
    868  1.1.4.2  jdolecek $2:
    869  1.1.4.2  jdolecek 	ADDB,TR		t1,arg0,$1
    870  1.1.4.2  jdolecek 	EXTRU,=		arg0,7,8,t1
    871  1.1.4.2  jdolecek 
    872  1.1.4.2  jdolecek $neg7:
    873  1.1.4.2  jdolecek 	SUBI		1,arg0,arg0
    874  1.1.4.2  jdolecek $8:
    875  1.1.4.2  jdolecek 	SHD		0,arg0,29,ret1
    876  1.1.4.2  jdolecek 	SH3ADD		arg0,arg0,arg0
    877  1.1.4.2  jdolecek 	ADDC		ret1,0,ret1
    878  1.1.4.2  jdolecek 
    879  1.1.4.2  jdolecek $neg7_shift:
    880  1.1.4.2  jdolecek 	SHD		ret1,arg0,26,t1
    881  1.1.4.2  jdolecek 	SHD		arg0,0,26,t2
    882  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    883  1.1.4.2  jdolecek 	ADDC		ret1,t1,ret1
    884  1.1.4.2  jdolecek 
    885  1.1.4.2  jdolecek 	SHD		ret1,arg0,20,t1
    886  1.1.4.2  jdolecek 	SHD		arg0,0,20,t2
    887  1.1.4.2  jdolecek 	ADD		arg0,t2,arg0
    888  1.1.4.2  jdolecek 	ADDC		ret1,t1,t1
    889  1.1.4.2  jdolecek 
    890  1.1.4.2  jdolecek 	COPY		0,ret1
    891  1.1.4.2  jdolecek 	SHD,=		t1,arg0,24,t1
    892  1.1.4.2  jdolecek $3:
    893  1.1.4.2  jdolecek 	ADDB,TR		t1,ret1,$4
    894  1.1.4.2  jdolecek 	EXTRU		arg0,31,24,arg0
    895  1.1.4.2  jdolecek 
    896  1.1.4.2  jdolecek 	bv		0(r31)
    897  1.1.4.2  jdolecek 	SUB		0,ret1,ret1
    898  1.1.4.2  jdolecek 
    899  1.1.4.2  jdolecek $4:
    900  1.1.4.2  jdolecek 	ADDB,TR		t1,arg0,$3
    901  1.1.4.2  jdolecek 	EXTRU,=		arg0,7,8,t1
    902  1.1.4.2  jdolecek 
    903  1.1.4.2  jdolecek $$divU_7:
    904  1.1.4.2  jdolecek 	.EXPORT		$$divU_7,MILLICODE
    905  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    906  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    907  1.1.4.2  jdolecek 	SHD		ret1,arg0,29,t1
    908  1.1.4.2  jdolecek 	SH3ADD		arg0,arg0,arg0
    909  1.1.4.2  jdolecek 	B		$pos7
    910  1.1.4.2  jdolecek 	ADDC		t1,ret1,ret1
    911  1.1.4.2  jdolecek 
    912  1.1.4.2  jdolecek $$divI_9:
    913  1.1.4.2  jdolecek 	.EXPORT		$$divI_9,MILLICODE
    914  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg9
    915  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    916  1.1.4.2  jdolecek 	SHD		0,arg0,29,t1
    917  1.1.4.2  jdolecek 	SHD		arg0,0,29,t2
    918  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    919  1.1.4.2  jdolecek 	B		$pos7
    920  1.1.4.2  jdolecek 	SUBB		t1,0,ret1
    921  1.1.4.2  jdolecek 
    922  1.1.4.2  jdolecek $neg9:
    923  1.1.4.2  jdolecek 	SUBI		1,arg0,arg0
    924  1.1.4.2  jdolecek 	SHD		0,arg0,29,t1
    925  1.1.4.2  jdolecek 	SHD		arg0,0,29,t2
    926  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    927  1.1.4.2  jdolecek 	B		$neg7_shift
    928  1.1.4.2  jdolecek 	SUBB		t1,0,ret1
    929  1.1.4.2  jdolecek 
    930  1.1.4.2  jdolecek $$divU_9:
    931  1.1.4.2  jdolecek 	.EXPORT		$$divU_9,MILLICODE
    932  1.1.4.2  jdolecek 	ADDI		1,arg0,arg0
    933  1.1.4.2  jdolecek 	ADDC		0,0,ret1
    934  1.1.4.2  jdolecek 	SHD		ret1,arg0,29,t1
    935  1.1.4.2  jdolecek 	SHD		arg0,0,29,t2
    936  1.1.4.2  jdolecek 	SUB		t2,arg0,arg0
    937  1.1.4.2  jdolecek 	B		$pos7
    938  1.1.4.2  jdolecek 	SUBB		t1,ret1,ret1
    939  1.1.4.2  jdolecek 
    940  1.1.4.2  jdolecek $$divI_14:
    941  1.1.4.2  jdolecek 	.EXPORT		$$divI_14,MILLICODE
    942  1.1.4.2  jdolecek 	COMB,<,N	arg0,0,$neg14
    943  1.1.4.2  jdolecek $$divU_14:
    944  1.1.4.2  jdolecek 	.EXPORT		$$divU_14,MILLICODE
    945  1.1.4.2  jdolecek 	B		$7
    946  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    947  1.1.4.2  jdolecek 
    948  1.1.4.2  jdolecek $neg14:
    949  1.1.4.2  jdolecek 	SUBI		2,arg0,arg0
    950  1.1.4.2  jdolecek 	B		$8
    951  1.1.4.2  jdolecek 	EXTRU		arg0,30,31,arg0
    952  1.1.4.2  jdolecek 
    953  1.1.4.2  jdolecek 	.PROCEND
    954  1.1.4.2  jdolecek 	.END
    955  1.1.4.2  jdolecek 
    956  1.1.4.2  jdolecek rmndr: .EQU	ret1	; r29
    957  1.1.4.2  jdolecek 
    958  1.1.4.2  jdolecek 	.export $$remU,millicode
    959  1.1.4.2  jdolecek $$remU:
    960  1.1.4.2  jdolecek 	.proc
    961  1.1.4.2  jdolecek 	.callinfo NO_CALLS
    962  1.1.4.2  jdolecek 	.entry
    963  1.1.4.2  jdolecek 
    964  1.1.4.2  jdolecek 	comib,>=,n  0,arg1,special_case
    965  1.1.4.2  jdolecek 	sub	r0,arg1,rmndr		; clear carry, negate the divisor
    966  1.1.4.2  jdolecek 	ds	r0,rmndr,r0		; set V-bit to 1
    967  1.1.4.2  jdolecek 	add	arg0,arg0,temp		; shift msb bit into carry
    968  1.1.4.2  jdolecek 	ds	r0,arg1,rmndr		; 1st divide step, if no carry
    969  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    970  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 2nd divide step
    971  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    972  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 3rd divide step
    973  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    974  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 4th divide step
    975  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    976  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 5th divide step
    977  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    978  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 6th divide step
    979  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    980  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 7th divide step
    981  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    982  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 8th divide step
    983  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    984  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 9th divide step
    985  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    986  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 10th divide step
    987  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    988  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 11th divide step
    989  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    990  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 12th divide step
    991  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    992  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 13th divide step
    993  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    994  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 14th divide step
    995  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    996  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 15th divide step
    997  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
    998  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 16th divide step
    999  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1000  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 17th divide step
   1001  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1002  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 18th divide step
   1003  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1004  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 19th divide step
   1005  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1006  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 20th divide step
   1007  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1008  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 21st divide step
   1009  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1010  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 22nd divide step
   1011  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1012  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 23rd divide step
   1013  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1014  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 24th divide step
   1015  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1016  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 25th divide step
   1017  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1018  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 26th divide step
   1019  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1020  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 27th divide step
   1021  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1022  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 28th divide step
   1023  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1024  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 29th divide step
   1025  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1026  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 30th divide step
   1027  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1028  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 31st divide step
   1029  1.1.4.2  jdolecek 	addc	temp,temp,temp		; shift temp with/into carry
   1030  1.1.4.2  jdolecek 	ds	rmndr,arg1,rmndr		; 32nd divide step,
   1031  1.1.4.2  jdolecek 	comiclr,<= 0,rmndr,r0
   1032  1.1.4.2  jdolecek 	  add	rmndr,arg1,rmndr	; correction
   1033  1.1.4.2  jdolecek ;	.exit
   1034  1.1.4.2  jdolecek 	bv,n  0(r31)
   1035  1.1.4.2  jdolecek 	nop
   1036  1.1.4.2  jdolecek ; Putting >= on the last DS and deleting COMICLR does not work!
   1037  1.1.4.2  jdolecek ;_____________________________________________________________________________
   1038  1.1.4.2  jdolecek special_case:
   1039  1.1.4.2  jdolecek 	addit,=	0,arg1,r0		; trap on div by zero
   1040  1.1.4.2  jdolecek 	sub,>>=	arg0,arg1,rmndr
   1041  1.1.4.2  jdolecek 	  copy	arg0,rmndr
   1042  1.1.4.2  jdolecek 	.exit
   1043  1.1.4.2  jdolecek 	bv,n  0(r31)
   1044  1.1.4.2  jdolecek 	nop
   1045  1.1.4.2  jdolecek 	.procend
   1046  1.1.4.2  jdolecek 	.end
   1047  1.1.4.2  jdolecek 
   1048  1.1.4.2  jdolecek ; Use bv  0(r31) and bv,n  0(r31) instead.
   1049  1.1.4.2  jdolecek ; #define	return		bv	0(%mrp)
   1050  1.1.4.2  jdolecek ; #define	return_n	bv,n	0(%mrp)
   1051  1.1.4.2  jdolecek 
   1052  1.1.4.2  jdolecek 	.align 16
   1053  1.1.4.2  jdolecek $$mulI:
   1054  1.1.4.2  jdolecek 
   1055  1.1.4.2  jdolecek 	.proc
   1056  1.1.4.2  jdolecek 	.callinfo NO_CALLS
   1057  1.1.4.2  jdolecek 	.export $$mulI, millicode
   1058  1.1.4.2  jdolecek 	combt,<<=	%r25,%r26,l4	; swap args if unsigned %r25>%r26
   1059  1.1.4.2  jdolecek 	copy		0,%r29		; zero out the result
   1060  1.1.4.2  jdolecek 	xor		%r26,%r25,%r26	; swap %r26 & %r25 using the
   1061  1.1.4.2  jdolecek 	xor		%r26,%r25,%r25	;  old xor trick
   1062  1.1.4.2  jdolecek 	xor		%r26,%r25,%r26
   1063  1.1.4.2  jdolecek l4: combt,<=	0,%r26,l3		; if %r26>=0 then proceed like unsigned
   1064  1.1.4.2  jdolecek 
   1065  1.1.4.2  jdolecek 	zdep		%r25,30,8,%r1	; %r1 = (%r25&0xff)<<1 *********
   1066  1.1.4.2  jdolecek 	sub,>		0,%r25,%r1		; otherwise negate both and
   1067  1.1.4.2  jdolecek 	combt,<=,n	%r26,%r1,l2	;  swap back if |%r26|<|%r25|
   1068  1.1.4.2  jdolecek 	sub		0,%r26,%r25
   1069  1.1.4.2  jdolecek 	movb,tr,n	%r1,%r26,l2	; 10th inst.
   1070  1.1.4.2  jdolecek 
   1071  1.1.4.2  jdolecek l0:	add	%r29,%r1,%r29				; add in this partial product
   1072  1.1.4.2  jdolecek 
   1073  1.1.4.2  jdolecek l1: zdep	%r26,23,24,%r26			; %r26 <<= 8 ******************
   1074  1.1.4.2  jdolecek 
   1075  1.1.4.2  jdolecek l2: zdep		%r25,30,8,%r1	; %r1 = (%r25&0xff)<<1 *********
   1076  1.1.4.2  jdolecek 
   1077  1.1.4.2  jdolecek l3: blr		%r1,0		; case on these 8 bits ******
   1078  1.1.4.2  jdolecek 
   1079  1.1.4.2  jdolecek 	extru		%r25,23,24,%r25	; %r25 >>= 8 ******************
   1080  1.1.4.2  jdolecek 
   1081  1.1.4.2  jdolecek ;16 insts before this.
   1082  1.1.4.2  jdolecek ;			  %r26 <<= 8 **************************
   1083  1.1.4.2  jdolecek x0: comb,<>	%r25,0,l2	! zdep	%r26,23,24,%r26	! bv,n  0(r31)	! nop
   1084  1.1.4.2  jdolecek 
   1085  1.1.4.2  jdolecek x1: comb,<>	%r25,0,l1	!	add	%r29,%r26,%r29	! bv,n  0(r31)	! nop
   1086  1.1.4.2  jdolecek 
   1087  1.1.4.2  jdolecek x2: comb,<>	%r25,0,l1	! sh1add	%r26,%r29,%r29	! bv,n  0(r31)	! nop
   1088  1.1.4.2  jdolecek 
   1089  1.1.4.2  jdolecek x3: comb,<>	%r25,0,l0	!	sh1add	%r26,%r26,%r1	! bv	0(r31)	!	add	%r29,%r1,%r29
   1090  1.1.4.2  jdolecek 
   1091  1.1.4.2  jdolecek x4: comb,<>	%r25,0,l1	! sh2add	%r26,%r29,%r29	! bv,n  0(r31)	! nop
   1092  1.1.4.2  jdolecek 
   1093  1.1.4.2  jdolecek x5: comb,<>	%r25,0,l0	!	sh2add	%r26,%r26,%r1	! bv	0(r31)	!	add	%r29,%r1,%r29
   1094  1.1.4.2  jdolecek 
   1095  1.1.4.2  jdolecek x6:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh1add	%r1,%r29,%r29	! bv,n  0(r31)
   1096  1.1.4.2  jdolecek 
   1097  1.1.4.2  jdolecek x7:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh2add	%r26,%r29,%r29	! b,n	ret_t0
   1098  1.1.4.2  jdolecek 
   1099  1.1.4.2  jdolecek x8: comb,<>	%r25,0,l1	! sh3add	%r26,%r29,%r29	! bv,n  0(r31)	! nop
   1100  1.1.4.2  jdolecek 
   1101  1.1.4.2  jdolecek x9: comb,<>	%r25,0,l0	!	sh3add	%r26,%r26,%r1	! bv	0(r31)	!	add	%r29,%r1,%r29
   1102  1.1.4.2  jdolecek 
   1103  1.1.4.2  jdolecek x10:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh1add	%r1,%r29,%r29	! bv,n  0(r31)
   1104  1.1.4.2  jdolecek 
   1105  1.1.4.2  jdolecek x11:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh3add	%r26,%r29,%r29	! b,n	ret_t0
   1106  1.1.4.2  jdolecek 
   1107  1.1.4.2  jdolecek x12:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh2add	%r1,%r29,%r29	! bv,n  0(r31)
   1108  1.1.4.2  jdolecek 
   1109  1.1.4.2  jdolecek x13:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh3add	%r26,%r29,%r29	! b,n	ret_t0
   1110  1.1.4.2  jdolecek 
   1111  1.1.4.2  jdolecek x14:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1112  1.1.4.2  jdolecek 
   1113  1.1.4.2  jdolecek x15:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	!	sh1add	%r1,%r1,%r1	! b,n	ret_t0
   1114  1.1.4.2  jdolecek 
   1115  1.1.4.2  jdolecek x16: zdep	%r26,27,28,%r1	! comb,<>	%r25,0,l1	!	add	%r29,%r1,%r29	! bv,n  0(r31)
   1116  1.1.4.2  jdolecek 
   1117  1.1.4.2  jdolecek x17:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh3add	%r26,%r1,%r1	! b,n	ret_t0
   1118  1.1.4.2  jdolecek 
   1119  1.1.4.2  jdolecek x18:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh1add	%r1,%r29,%r29	! bv,n  0(r31)
   1120  1.1.4.2  jdolecek 
   1121  1.1.4.2  jdolecek x19:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh1add	%r1,%r26,%r1	! b,n	ret_t0
   1122  1.1.4.2  jdolecek 
   1123  1.1.4.2  jdolecek x20:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh2add	%r1,%r29,%r29	! bv,n  0(r31)
   1124  1.1.4.2  jdolecek 
   1125  1.1.4.2  jdolecek x21:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh2add	%r1,%r26,%r1	! b,n	ret_t0
   1126  1.1.4.2  jdolecek 
   1127  1.1.4.2  jdolecek x22:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1128  1.1.4.2  jdolecek 
   1129  1.1.4.2  jdolecek x23:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1130  1.1.4.2  jdolecek 
   1131  1.1.4.2  jdolecek x24:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh3add	%r1,%r29,%r29	! bv,n  0(r31)
   1132  1.1.4.2  jdolecek 
   1133  1.1.4.2  jdolecek x25:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	!	sh2add	%r1,%r1,%r1	! b,n	ret_t0
   1134  1.1.4.2  jdolecek 
   1135  1.1.4.2  jdolecek x26:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1136  1.1.4.2  jdolecek 
   1137  1.1.4.2  jdolecek x27:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	!	sh3add	%r1,%r1,%r1	! b,n	ret_t0
   1138  1.1.4.2  jdolecek 
   1139  1.1.4.2  jdolecek x28:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1140  1.1.4.2  jdolecek 
   1141  1.1.4.2  jdolecek x29:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1142  1.1.4.2  jdolecek 
   1143  1.1.4.2  jdolecek x30:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1144  1.1.4.2  jdolecek 
   1145  1.1.4.2  jdolecek x31: zdep	%r26,26,27,%r1	! comb,<>	%r25,0,l0	! sub	%r1,%r26,%r1	! b,n	ret_t0
   1146  1.1.4.2  jdolecek 
   1147  1.1.4.2  jdolecek x32: zdep	%r26,26,27,%r1	! comb,<>	%r25,0,l1	!	add	%r29,%r1,%r29	! bv,n  0(r31)
   1148  1.1.4.2  jdolecek 
   1149  1.1.4.2  jdolecek x33:	sh3add	%r26,0,%r1		! comb,<>	%r25,0,l0	! sh2add	%r1,%r26,%r1	! b,n	ret_t0
   1150  1.1.4.2  jdolecek 
   1151  1.1.4.2  jdolecek x34: zdep	%r26,27,28,%r1	! add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1152  1.1.4.2  jdolecek 
   1153  1.1.4.2  jdolecek x35:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh3add	%r26,%r1,%r1
   1154  1.1.4.2  jdolecek 
   1155  1.1.4.2  jdolecek x36:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh2add	%r1,%r29,%r29	! bv,n  0(r31)
   1156  1.1.4.2  jdolecek 
   1157  1.1.4.2  jdolecek x37:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh2add	%r1,%r26,%r1	! b,n	ret_t0
   1158  1.1.4.2  jdolecek 
   1159  1.1.4.2  jdolecek x38:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1160  1.1.4.2  jdolecek 
   1161  1.1.4.2  jdolecek x39:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1162  1.1.4.2  jdolecek 
   1163  1.1.4.2  jdolecek x40:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh3add	%r1,%r29,%r29	! bv,n  0(r31)
   1164  1.1.4.2  jdolecek 
   1165  1.1.4.2  jdolecek x41:	sh2add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! sh3add	%r1,%r26,%r1	! b,n	ret_t0
   1166  1.1.4.2  jdolecek 
   1167  1.1.4.2  jdolecek x42:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1168  1.1.4.2  jdolecek 
   1169  1.1.4.2  jdolecek x43:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1170  1.1.4.2  jdolecek 
   1171  1.1.4.2  jdolecek x44:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1172  1.1.4.2  jdolecek 
   1173  1.1.4.2  jdolecek x45:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	!	sh2add	%r1,%r1,%r1	! b,n	ret_t0
   1174  1.1.4.2  jdolecek 
   1175  1.1.4.2  jdolecek x46:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! add	%r1,%r26,%r1
   1176  1.1.4.2  jdolecek 
   1177  1.1.4.2  jdolecek x47:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh1add	%r26,%r1,%r1
   1178  1.1.4.2  jdolecek 
   1179  1.1.4.2  jdolecek x48:	sh1add	%r26,%r26,%r1		! comb,<>	%r25,0,l0	! zdep	%r1,27,28,%r1	! b,n	ret_t0
   1180  1.1.4.2  jdolecek 
   1181  1.1.4.2  jdolecek x49:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r26,%r1,%r1
   1182  1.1.4.2  jdolecek 
   1183  1.1.4.2  jdolecek x50:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1184  1.1.4.2  jdolecek 
   1185  1.1.4.2  jdolecek x51:	sh3add	%r26,%r26,%r1		! sh3add	%r26,%r1,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1186  1.1.4.2  jdolecek 
   1187  1.1.4.2  jdolecek x52:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1188  1.1.4.2  jdolecek 
   1189  1.1.4.2  jdolecek x53:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1190  1.1.4.2  jdolecek 
   1191  1.1.4.2  jdolecek x54:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1192  1.1.4.2  jdolecek 
   1193  1.1.4.2  jdolecek x55:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1194  1.1.4.2  jdolecek 
   1195  1.1.4.2  jdolecek x56:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1196  1.1.4.2  jdolecek 
   1197  1.1.4.2  jdolecek x57:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1198  1.1.4.2  jdolecek 
   1199  1.1.4.2  jdolecek x58:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1200  1.1.4.2  jdolecek 
   1201  1.1.4.2  jdolecek x59:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_t02a0	!	sh1add	%r1,%r1,%r1
   1202  1.1.4.2  jdolecek 
   1203  1.1.4.2  jdolecek x60:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1204  1.1.4.2  jdolecek 
   1205  1.1.4.2  jdolecek x61:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1206  1.1.4.2  jdolecek 
   1207  1.1.4.2  jdolecek x62: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1208  1.1.4.2  jdolecek 
   1209  1.1.4.2  jdolecek x63: zdep	%r26,25,26,%r1	! comb,<>	%r25,0,l0	! sub	%r1,%r26,%r1	! b,n	ret_t0
   1210  1.1.4.2  jdolecek 
   1211  1.1.4.2  jdolecek x64: zdep	%r26,25,26,%r1	! comb,<>	%r25,0,l1	!	add	%r29,%r1,%r29	! bv,n  0(r31)
   1212  1.1.4.2  jdolecek 
   1213  1.1.4.2  jdolecek x65:	sh3add	%r26,0,%r1		! comb,<>	%r25,0,l0	! sh3add	%r1,%r26,%r1	! b,n	ret_t0
   1214  1.1.4.2  jdolecek 
   1215  1.1.4.2  jdolecek x66: zdep	%r26,26,27,%r1	! add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1216  1.1.4.2  jdolecek 
   1217  1.1.4.2  jdolecek x67:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1218  1.1.4.2  jdolecek 
   1219  1.1.4.2  jdolecek x68:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1220  1.1.4.2  jdolecek 
   1221  1.1.4.2  jdolecek x69:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1222  1.1.4.2  jdolecek 
   1223  1.1.4.2  jdolecek x70: zdep	%r26,25,26,%r1	! sh2add	%r26,%r1,%r1	!	b	e_t0	! sh1add	%r26,%r1,%r1
   1224  1.1.4.2  jdolecek 
   1225  1.1.4.2  jdolecek x71:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,0,%r1	!	b	e_t0	! sub	%r1,%r26,%r1
   1226  1.1.4.2  jdolecek 
   1227  1.1.4.2  jdolecek x72:	sh3add	%r26,%r26,%r1		! comb,<>	%r25,0,l1	! sh3add	%r1,%r29,%r29	! bv,n  0(r31)
   1228  1.1.4.2  jdolecek 
   1229  1.1.4.2  jdolecek x73:	sh3add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_shift	!	add	%r29,%r1,%r29
   1230  1.1.4.2  jdolecek 
   1231  1.1.4.2  jdolecek x74:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1232  1.1.4.2  jdolecek 
   1233  1.1.4.2  jdolecek x75:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1234  1.1.4.2  jdolecek 
   1235  1.1.4.2  jdolecek x76:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1236  1.1.4.2  jdolecek 
   1237  1.1.4.2  jdolecek x77:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1238  1.1.4.2  jdolecek 
   1239  1.1.4.2  jdolecek x78:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1240  1.1.4.2  jdolecek 
   1241  1.1.4.2  jdolecek x79: zdep	%r26,27,28,%r1	!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sub	%r1,%r26,%r1
   1242  1.1.4.2  jdolecek 
   1243  1.1.4.2  jdolecek x80: zdep	%r26,27,28,%r1	!	sh2add	%r1,%r1,%r1	! b	e_shift	!	add	%r29,%r1,%r29
   1244  1.1.4.2  jdolecek 
   1245  1.1.4.2  jdolecek x81:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	! b	e_shift	!	add	%r29,%r1,%r29
   1246  1.1.4.2  jdolecek 
   1247  1.1.4.2  jdolecek x82:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1248  1.1.4.2  jdolecek 
   1249  1.1.4.2  jdolecek x83:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1250  1.1.4.2  jdolecek 
   1251  1.1.4.2  jdolecek x84:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1252  1.1.4.2  jdolecek 
   1253  1.1.4.2  jdolecek x85:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1254  1.1.4.2  jdolecek 
   1255  1.1.4.2  jdolecek x86:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1256  1.1.4.2  jdolecek 
   1257  1.1.4.2  jdolecek x87:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	! b	e_t02a0	! sh2add	%r26,%r1,%r1
   1258  1.1.4.2  jdolecek 
   1259  1.1.4.2  jdolecek x88:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1260  1.1.4.2  jdolecek 
   1261  1.1.4.2  jdolecek x89:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1262  1.1.4.2  jdolecek 
   1263  1.1.4.2  jdolecek x90:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1264  1.1.4.2  jdolecek 
   1265  1.1.4.2  jdolecek x91:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1266  1.1.4.2  jdolecek 
   1267  1.1.4.2  jdolecek x92:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	! sh1add	%r1,%r26,%r1
   1268  1.1.4.2  jdolecek 
   1269  1.1.4.2  jdolecek x93: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1270  1.1.4.2  jdolecek 
   1271  1.1.4.2  jdolecek x94:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_2t0	! sh1add	%r26,%r1,%r1
   1272  1.1.4.2  jdolecek 
   1273  1.1.4.2  jdolecek x95:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1274  1.1.4.2  jdolecek 
   1275  1.1.4.2  jdolecek x96:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1276  1.1.4.2  jdolecek 
   1277  1.1.4.2  jdolecek x97:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1278  1.1.4.2  jdolecek 
   1279  1.1.4.2  jdolecek x98: zdep	%r26,26,27,%r1	!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh1add	%r26,%r1,%r1
   1280  1.1.4.2  jdolecek 
   1281  1.1.4.2  jdolecek x99:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1282  1.1.4.2  jdolecek 
   1283  1.1.4.2  jdolecek x100:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1284  1.1.4.2  jdolecek 
   1285  1.1.4.2  jdolecek x101:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1286  1.1.4.2  jdolecek 
   1287  1.1.4.2  jdolecek x102: zdep	%r26,26,27,%r1	! sh1add	%r26,%r1,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1288  1.1.4.2  jdolecek 
   1289  1.1.4.2  jdolecek x103:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_t02a0	! sh2add	%r1,%r26,%r1
   1290  1.1.4.2  jdolecek 
   1291  1.1.4.2  jdolecek x104:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1292  1.1.4.2  jdolecek 
   1293  1.1.4.2  jdolecek x105:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1294  1.1.4.2  jdolecek 
   1295  1.1.4.2  jdolecek x106:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1296  1.1.4.2  jdolecek 
   1297  1.1.4.2  jdolecek x107:	sh3add	%r26,%r26,%r1		! sh2add	%r26,%r1,%r1	! b	e_t02a0	! sh3add	%r1,%r26,%r1
   1298  1.1.4.2  jdolecek 
   1299  1.1.4.2  jdolecek x108:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1300  1.1.4.2  jdolecek 
   1301  1.1.4.2  jdolecek x109:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1302  1.1.4.2  jdolecek 
   1303  1.1.4.2  jdolecek x110:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1304  1.1.4.2  jdolecek 
   1305  1.1.4.2  jdolecek x111:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1306  1.1.4.2  jdolecek 
   1307  1.1.4.2  jdolecek x112:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! zdep	%r1,27,28,%r1
   1308  1.1.4.2  jdolecek 
   1309  1.1.4.2  jdolecek x113:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_t02a0	!	sh1add	%r1,%r1,%r1
   1310  1.1.4.2  jdolecek 
   1311  1.1.4.2  jdolecek x114:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	!	sh1add	%r1,%r1,%r1
   1312  1.1.4.2  jdolecek 
   1313  1.1.4.2  jdolecek x115:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_2t0a0	!	sh1add	%r1,%r1,%r1
   1314  1.1.4.2  jdolecek 
   1315  1.1.4.2  jdolecek x116:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	! sh2add	%r1,%r26,%r1
   1316  1.1.4.2  jdolecek 
   1317  1.1.4.2  jdolecek x117:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh3add	%r1,%r1,%r1
   1318  1.1.4.2  jdolecek 
   1319  1.1.4.2  jdolecek x118:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_t0a0	!	sh3add	%r1,%r1,%r1
   1320  1.1.4.2  jdolecek 
   1321  1.1.4.2  jdolecek x119:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_t02a0	!	sh3add	%r1,%r1,%r1
   1322  1.1.4.2  jdolecek 
   1323  1.1.4.2  jdolecek x120:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1324  1.1.4.2  jdolecek 
   1325  1.1.4.2  jdolecek x121:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1326  1.1.4.2  jdolecek 
   1327  1.1.4.2  jdolecek x122:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1328  1.1.4.2  jdolecek 
   1329  1.1.4.2  jdolecek x123:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1330  1.1.4.2  jdolecek 
   1331  1.1.4.2  jdolecek x124: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1332  1.1.4.2  jdolecek 
   1333  1.1.4.2  jdolecek x125:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1334  1.1.4.2  jdolecek 
   1335  1.1.4.2  jdolecek x126: zdep	%r26,25,26,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1336  1.1.4.2  jdolecek 
   1337  1.1.4.2  jdolecek x127: zdep	%r26,24,25,%r1	! comb,<>	%r25,0,l0	! sub	%r1,%r26,%r1	! b,n	ret_t0
   1338  1.1.4.2  jdolecek 
   1339  1.1.4.2  jdolecek x128: zdep	%r26,24,25,%r1	! comb,<>	%r25,0,l1	!	add	%r29,%r1,%r29	! bv,n  0(r31)
   1340  1.1.4.2  jdolecek 
   1341  1.1.4.2  jdolecek x129: zdep	%r26,24,25,%r1	! comb,<>	%r25,0,l0	! add	%r1,%r26,%r1	! b,n	ret_t0
   1342  1.1.4.2  jdolecek 
   1343  1.1.4.2  jdolecek x130: zdep	%r26,25,26,%r1	! add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1344  1.1.4.2  jdolecek 
   1345  1.1.4.2  jdolecek x131:	sh3add	%r26,0,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1346  1.1.4.2  jdolecek 
   1347  1.1.4.2  jdolecek x132:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1348  1.1.4.2  jdolecek 
   1349  1.1.4.2  jdolecek x133:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1350  1.1.4.2  jdolecek 
   1351  1.1.4.2  jdolecek x134:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1352  1.1.4.2  jdolecek 
   1353  1.1.4.2  jdolecek x135:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1354  1.1.4.2  jdolecek 
   1355  1.1.4.2  jdolecek x136:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1356  1.1.4.2  jdolecek 
   1357  1.1.4.2  jdolecek x137:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1358  1.1.4.2  jdolecek 
   1359  1.1.4.2  jdolecek x138:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1360  1.1.4.2  jdolecek 
   1361  1.1.4.2  jdolecek x139:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	! b	e_2t0a0	! sh2add	%r1,%r26,%r1
   1362  1.1.4.2  jdolecek 
   1363  1.1.4.2  jdolecek x140:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	!	sh2add	%r1,%r1,%r1
   1364  1.1.4.2  jdolecek 
   1365  1.1.4.2  jdolecek x141:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	! b	e_4t0a0	! sh1add	%r1,%r26,%r1
   1366  1.1.4.2  jdolecek 
   1367  1.1.4.2  jdolecek x142:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,0,%r1	!	b	e_2t0	! sub	%r1,%r26,%r1
   1368  1.1.4.2  jdolecek 
   1369  1.1.4.2  jdolecek x143: zdep	%r26,27,28,%r1	!	sh3add	%r1,%r1,%r1	!	b	e_t0	! sub	%r1,%r26,%r1
   1370  1.1.4.2  jdolecek 
   1371  1.1.4.2  jdolecek x144:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,0,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1372  1.1.4.2  jdolecek 
   1373  1.1.4.2  jdolecek x145:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,0,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1374  1.1.4.2  jdolecek 
   1375  1.1.4.2  jdolecek x146:	sh3add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1376  1.1.4.2  jdolecek 
   1377  1.1.4.2  jdolecek x147:	sh3add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1378  1.1.4.2  jdolecek 
   1379  1.1.4.2  jdolecek x148:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1380  1.1.4.2  jdolecek 
   1381  1.1.4.2  jdolecek x149:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1382  1.1.4.2  jdolecek 
   1383  1.1.4.2  jdolecek x150:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1384  1.1.4.2  jdolecek 
   1385  1.1.4.2  jdolecek x151:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_2t0a0	! sh1add	%r1,%r26,%r1
   1386  1.1.4.2  jdolecek 
   1387  1.1.4.2  jdolecek x152:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1388  1.1.4.2  jdolecek 
   1389  1.1.4.2  jdolecek x153:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1390  1.1.4.2  jdolecek 
   1391  1.1.4.2  jdolecek x154:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1392  1.1.4.2  jdolecek 
   1393  1.1.4.2  jdolecek x155: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1394  1.1.4.2  jdolecek 
   1395  1.1.4.2  jdolecek x156:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	! sh1add	%r1,%r26,%r1
   1396  1.1.4.2  jdolecek 
   1397  1.1.4.2  jdolecek x157: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	! b	e_t02a0	!	sh2add	%r1,%r1,%r1
   1398  1.1.4.2  jdolecek 
   1399  1.1.4.2  jdolecek x158: zdep	%r26,27,28,%r1	!	sh2add	%r1,%r1,%r1	!	b	e_2t0	! sub	%r1,%r26,%r1
   1400  1.1.4.2  jdolecek 
   1401  1.1.4.2  jdolecek x159: zdep	%r26,26,27,%r1	!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sub	%r1,%r26,%r1
   1402  1.1.4.2  jdolecek 
   1403  1.1.4.2  jdolecek x160:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,0,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1404  1.1.4.2  jdolecek 
   1405  1.1.4.2  jdolecek x161:	sh3add	%r26,0,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1406  1.1.4.2  jdolecek 
   1407  1.1.4.2  jdolecek x162:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1408  1.1.4.2  jdolecek 
   1409  1.1.4.2  jdolecek x163:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	!	b	e_t0	! sh1add	%r1,%r26,%r1
   1410  1.1.4.2  jdolecek 
   1411  1.1.4.2  jdolecek x164:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1412  1.1.4.2  jdolecek 
   1413  1.1.4.2  jdolecek x165:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1414  1.1.4.2  jdolecek 
   1415  1.1.4.2  jdolecek x166:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1416  1.1.4.2  jdolecek 
   1417  1.1.4.2  jdolecek x167:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_2t0a0	! sh1add	%r1,%r26,%r1
   1418  1.1.4.2  jdolecek 
   1419  1.1.4.2  jdolecek x168:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1420  1.1.4.2  jdolecek 
   1421  1.1.4.2  jdolecek x169:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1422  1.1.4.2  jdolecek 
   1423  1.1.4.2  jdolecek x170: zdep	%r26,26,27,%r1	! sh1add	%r26,%r1,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1424  1.1.4.2  jdolecek 
   1425  1.1.4.2  jdolecek x171:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_t0	!	sh3add	%r1,%r1,%r1
   1426  1.1.4.2  jdolecek 
   1427  1.1.4.2  jdolecek x172:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_4t0	! sh1add	%r1,%r26,%r1
   1428  1.1.4.2  jdolecek 
   1429  1.1.4.2  jdolecek x173:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_t02a0	!	sh3add	%r1,%r1,%r1
   1430  1.1.4.2  jdolecek 
   1431  1.1.4.2  jdolecek x174: zdep	%r26,26,27,%r1	! sh1add	%r26,%r1,%r1	! b	e_t04a0	!	sh2add	%r1,%r1,%r1
   1432  1.1.4.2  jdolecek 
   1433  1.1.4.2  jdolecek x175:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_5t0	! sh1add	%r1,%r26,%r1
   1434  1.1.4.2  jdolecek 
   1435  1.1.4.2  jdolecek x176:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_8t0	! add	%r1,%r26,%r1
   1436  1.1.4.2  jdolecek 
   1437  1.1.4.2  jdolecek x177:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_8t0a0	! add	%r1,%r26,%r1
   1438  1.1.4.2  jdolecek 
   1439  1.1.4.2  jdolecek x178:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	! sh3add	%r1,%r26,%r1
   1440  1.1.4.2  jdolecek 
   1441  1.1.4.2  jdolecek x179:	sh2add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_2t0a0	! sh3add	%r1,%r26,%r1
   1442  1.1.4.2  jdolecek 
   1443  1.1.4.2  jdolecek x180:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1444  1.1.4.2  jdolecek 
   1445  1.1.4.2  jdolecek x181:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1446  1.1.4.2  jdolecek 
   1447  1.1.4.2  jdolecek x182:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_2t0	! sh1add	%r1,%r26,%r1
   1448  1.1.4.2  jdolecek 
   1449  1.1.4.2  jdolecek x183:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_2t0a0	! sh1add	%r1,%r26,%r1
   1450  1.1.4.2  jdolecek 
   1451  1.1.4.2  jdolecek x184:	sh2add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	!	b	e_4t0	! add	%r1,%r26,%r1
   1452  1.1.4.2  jdolecek 
   1453  1.1.4.2  jdolecek x185:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1454  1.1.4.2  jdolecek 
   1455  1.1.4.2  jdolecek x186: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	!	b	e_2t0	!	sh1add	%r1,%r1,%r1
   1456  1.1.4.2  jdolecek 
   1457  1.1.4.2  jdolecek x187:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_t02a0	!	sh2add	%r1,%r1,%r1
   1458  1.1.4.2  jdolecek 
   1459  1.1.4.2  jdolecek x188:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_4t0	! sh1add	%r26,%r1,%r1
   1460  1.1.4.2  jdolecek 
   1461  1.1.4.2  jdolecek x189:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_t0	!	sh3add	%r1,%r1,%r1
   1462  1.1.4.2  jdolecek 
   1463  1.1.4.2  jdolecek x190:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_2t0	!	sh2add	%r1,%r1,%r1
   1464  1.1.4.2  jdolecek 
   1465  1.1.4.2  jdolecek x191: zdep	%r26,25,26,%r1	!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sub	%r1,%r26,%r1
   1466  1.1.4.2  jdolecek 
   1467  1.1.4.2  jdolecek x192:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1468  1.1.4.2  jdolecek 
   1469  1.1.4.2  jdolecek x193:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1470  1.1.4.2  jdolecek 
   1471  1.1.4.2  jdolecek x194:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1472  1.1.4.2  jdolecek 
   1473  1.1.4.2  jdolecek x195:	sh3add	%r26,0,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1474  1.1.4.2  jdolecek 
   1475  1.1.4.2  jdolecek x196:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_4t0	! sh1add	%r1,%r26,%r1
   1476  1.1.4.2  jdolecek 
   1477  1.1.4.2  jdolecek x197:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	! b	e_4t0a0	! sh1add	%r1,%r26,%r1
   1478  1.1.4.2  jdolecek 
   1479  1.1.4.2  jdolecek x198: zdep	%r26,25,26,%r1	! sh1add	%r26,%r1,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1480  1.1.4.2  jdolecek 
   1481  1.1.4.2  jdolecek x199:	sh3add	%r26,0,%r1		! sh2add	%r1,%r26,%r1	! b	e_2t0a0	!	sh1add	%r1,%r1,%r1
   1482  1.1.4.2  jdolecek 
   1483  1.1.4.2  jdolecek x200:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1484  1.1.4.2  jdolecek 
   1485  1.1.4.2  jdolecek x201:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1486  1.1.4.2  jdolecek 
   1487  1.1.4.2  jdolecek x202:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1488  1.1.4.2  jdolecek 
   1489  1.1.4.2  jdolecek x203:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_2t0a0	! sh2add	%r1,%r26,%r1
   1490  1.1.4.2  jdolecek 
   1491  1.1.4.2  jdolecek x204:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	!	sh1add	%r1,%r1,%r1
   1492  1.1.4.2  jdolecek 
   1493  1.1.4.2  jdolecek x205:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1494  1.1.4.2  jdolecek 
   1495  1.1.4.2  jdolecek x206: zdep	%r26,25,26,%r1	! sh2add	%r26,%r1,%r1	! b	e_t02a0	!	sh1add	%r1,%r1,%r1
   1496  1.1.4.2  jdolecek 
   1497  1.1.4.2  jdolecek x207:	sh3add	%r26,0,%r1		! sh1add	%r1,%r26,%r1	!	b	e_3t0	! sh2add	%r1,%r26,%r1
   1498  1.1.4.2  jdolecek 
   1499  1.1.4.2  jdolecek x208:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_8t0	! add	%r1,%r26,%r1
   1500  1.1.4.2  jdolecek 
   1501  1.1.4.2  jdolecek x209:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_8t0a0	! add	%r1,%r26,%r1
   1502  1.1.4.2  jdolecek 
   1503  1.1.4.2  jdolecek x210:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	!	sh2add	%r1,%r1,%r1
   1504  1.1.4.2  jdolecek 
   1505  1.1.4.2  jdolecek x211:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_2t0a0	!	sh2add	%r1,%r1,%r1
   1506  1.1.4.2  jdolecek 
   1507  1.1.4.2  jdolecek x212:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_4t0	! sh2add	%r1,%r26,%r1
   1508  1.1.4.2  jdolecek 
   1509  1.1.4.2  jdolecek x213:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_4t0a0	! sh2add	%r1,%r26,%r1
   1510  1.1.4.2  jdolecek 
   1511  1.1.4.2  jdolecek x214:	sh3add	%r26,%r26,%r1		! sh2add	%r26,%r1,%r1	! b	e2t04a0	! sh3add	%r1,%r26,%r1
   1512  1.1.4.2  jdolecek 
   1513  1.1.4.2  jdolecek x215:	sh2add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_5t0	! sh1add	%r1,%r26,%r1
   1514  1.1.4.2  jdolecek 
   1515  1.1.4.2  jdolecek x216:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1516  1.1.4.2  jdolecek 
   1517  1.1.4.2  jdolecek x217:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1518  1.1.4.2  jdolecek 
   1519  1.1.4.2  jdolecek x218:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_2t0	! sh2add	%r1,%r26,%r1
   1520  1.1.4.2  jdolecek 
   1521  1.1.4.2  jdolecek x219:	sh3add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1522  1.1.4.2  jdolecek 
   1523  1.1.4.2  jdolecek x220:	sh1add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	!	b	e_4t0	! sh1add	%r1,%r26,%r1
   1524  1.1.4.2  jdolecek 
   1525  1.1.4.2  jdolecek x221:	sh1add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	! b	e_4t0a0	! sh1add	%r1,%r26,%r1
   1526  1.1.4.2  jdolecek 
   1527  1.1.4.2  jdolecek x222:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	!	sh1add	%r1,%r1,%r1
   1528  1.1.4.2  jdolecek 
   1529  1.1.4.2  jdolecek x223:	sh3add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_2t0a0	!	sh1add	%r1,%r1,%r1
   1530  1.1.4.2  jdolecek 
   1531  1.1.4.2  jdolecek x224:	sh3add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_8t0	! add	%r1,%r26,%r1
   1532  1.1.4.2  jdolecek 
   1533  1.1.4.2  jdolecek x225:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_t0	!	sh2add	%r1,%r1,%r1
   1534  1.1.4.2  jdolecek 
   1535  1.1.4.2  jdolecek x226:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_t02a0	! zdep	%r1,26,27,%r1
   1536  1.1.4.2  jdolecek 
   1537  1.1.4.2  jdolecek x227:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_t02a0	!	sh2add	%r1,%r1,%r1
   1538  1.1.4.2  jdolecek 
   1539  1.1.4.2  jdolecek x228:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_4t0	!	sh1add	%r1,%r1,%r1
   1540  1.1.4.2  jdolecek 
   1541  1.1.4.2  jdolecek x229:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_4t0a0	!	sh1add	%r1,%r1,%r1
   1542  1.1.4.2  jdolecek 
   1543  1.1.4.2  jdolecek x230:	sh3add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_5t0	! add	%r1,%r26,%r1
   1544  1.1.4.2  jdolecek 
   1545  1.1.4.2  jdolecek x231:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_3t0	! sh2add	%r1,%r26,%r1
   1546  1.1.4.2  jdolecek 
   1547  1.1.4.2  jdolecek x232:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	!	b	e_8t0	! sh2add	%r1,%r26,%r1
   1548  1.1.4.2  jdolecek 
   1549  1.1.4.2  jdolecek x233:	sh1add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e_8t0a0	! sh2add	%r1,%r26,%r1
   1550  1.1.4.2  jdolecek 
   1551  1.1.4.2  jdolecek x234:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	!	b	e_2t0	!	sh3add	%r1,%r1,%r1
   1552  1.1.4.2  jdolecek 
   1553  1.1.4.2  jdolecek x235:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e_2t0a0	!	sh3add	%r1,%r1,%r1
   1554  1.1.4.2  jdolecek 
   1555  1.1.4.2  jdolecek x236:	sh3add	%r26,%r26,%r1		! sh1add	%r1,%r26,%r1	! b	e4t08a0	!	sh1add	%r1,%r1,%r1
   1556  1.1.4.2  jdolecek 
   1557  1.1.4.2  jdolecek x237: zdep	%r26,27,28,%r1	!	sh2add	%r1,%r1,%r1	!	b	e_3t0	! sub	%r1,%r26,%r1
   1558  1.1.4.2  jdolecek 
   1559  1.1.4.2  jdolecek x238:	sh1add	%r26,%r26,%r1		! sh2add	%r1,%r26,%r1	! b	e2t04a0	!	sh3add	%r1,%r1,%r1
   1560  1.1.4.2  jdolecek 
   1561  1.1.4.2  jdolecek x239: zdep	%r26,27,28,%r1	!	sh2add	%r1,%r1,%r1	! b	e_t0ma0	!	sh1add	%r1,%r1,%r1
   1562  1.1.4.2  jdolecek 
   1563  1.1.4.2  jdolecek x240:	sh3add	%r26,%r26,%r1		! add	%r1,%r26,%r1	!	b	e_8t0	!	sh1add	%r1,%r1,%r1
   1564  1.1.4.2  jdolecek 
   1565  1.1.4.2  jdolecek x241:	sh3add	%r26,%r26,%r1		! add	%r1,%r26,%r1	! b	e_8t0a0	!	sh1add	%r1,%r1,%r1
   1566  1.1.4.2  jdolecek 
   1567  1.1.4.2  jdolecek x242:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_2t0	! sh3add	%r1,%r26,%r1
   1568  1.1.4.2  jdolecek 
   1569  1.1.4.2  jdolecek x243:	sh3add	%r26,%r26,%r1		!	sh3add	%r1,%r1,%r1	!	b	e_t0	!	sh1add	%r1,%r1,%r1
   1570  1.1.4.2  jdolecek 
   1571  1.1.4.2  jdolecek x244:	sh2add	%r26,%r26,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_4t0	! sh2add	%r1,%r26,%r1
   1572  1.1.4.2  jdolecek 
   1573  1.1.4.2  jdolecek x245:	sh3add	%r26,0,%r1		!	sh1add	%r1,%r1,%r1	!	b	e_5t0	! sh1add	%r1,%r26,%r1
   1574  1.1.4.2  jdolecek 
   1575  1.1.4.2  jdolecek x246:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	!	b	e_2t0	!	sh1add	%r1,%r1,%r1
   1576  1.1.4.2  jdolecek 
   1577  1.1.4.2  jdolecek x247:	sh2add	%r26,%r26,%r1		! sh3add	%r1,%r26,%r1	! b	e_2t0a0	!	sh1add	%r1,%r1,%r1
   1578  1.1.4.2  jdolecek 
   1579  1.1.4.2  jdolecek x248: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh3add	%r1,%r29,%r29
   1580  1.1.4.2  jdolecek 
   1581  1.1.4.2  jdolecek x249: zdep	%r26,26,27,%r1	! sub	%r1,%r26,%r1	!	b	e_t0	! sh3add	%r1,%r26,%r1
   1582  1.1.4.2  jdolecek 
   1583  1.1.4.2  jdolecek x250:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	!	b	e_2t0	!	sh2add	%r1,%r1,%r1
   1584  1.1.4.2  jdolecek 
   1585  1.1.4.2  jdolecek x251:	sh2add	%r26,%r26,%r1		!	sh2add	%r1,%r1,%r1	! b	e_2t0a0	!	sh2add	%r1,%r1,%r1
   1586  1.1.4.2  jdolecek 
   1587  1.1.4.2  jdolecek x252: zdep	%r26,25,26,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh2add	%r1,%r29,%r29
   1588  1.1.4.2  jdolecek 
   1589  1.1.4.2  jdolecek x253: zdep	%r26,25,26,%r1	! sub	%r1,%r26,%r1	!	b	e_t0	! sh2add	%r1,%r26,%r1
   1590  1.1.4.2  jdolecek 
   1591  1.1.4.2  jdolecek x254: zdep	%r26,24,25,%r1	! sub	%r1,%r26,%r1	! b	e_shift	! sh1add	%r1,%r29,%r29
   1592  1.1.4.2  jdolecek 
   1593  1.1.4.2  jdolecek x255: zdep	%r26,23,24,%r1	! comb,<>	%r25,0,l0	! sub	%r1,%r26,%r1	! b,n	ret_t0
   1594  1.1.4.2  jdolecek 
   1595  1.1.4.2  jdolecek ;1040 insts before this.
   1596  1.1.4.2  jdolecek ret_t0: bv	0(r31)
   1597  1.1.4.2  jdolecek 
   1598  1.1.4.2  jdolecek e_t0:	add	%r29,%r1,%r29
   1599  1.1.4.2  jdolecek 
   1600  1.1.4.2  jdolecek e_shift: comb,<>	%r25,0,l2
   1601  1.1.4.2  jdolecek 
   1602  1.1.4.2  jdolecek 	zdep	%r26,23,24,%r26	; %r26 <<= 8 ***********
   1603  1.1.4.2  jdolecek 	bv,n  0(r31)
   1604  1.1.4.2  jdolecek e_t0ma0: comb,<>	%r25,0,l0
   1605  1.1.4.2  jdolecek 
   1606  1.1.4.2  jdolecek 	sub	%r1,%r26,%r1
   1607  1.1.4.2  jdolecek 	bv	0(r31)
   1608  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1609  1.1.4.2  jdolecek e_t0a0: comb,<>	%r25,0,l0
   1610  1.1.4.2  jdolecek 
   1611  1.1.4.2  jdolecek 	add	%r1,%r26,%r1
   1612  1.1.4.2  jdolecek 	bv	0(r31)
   1613  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1614  1.1.4.2  jdolecek e_t02a0: comb,<>	%r25,0,l0
   1615  1.1.4.2  jdolecek 
   1616  1.1.4.2  jdolecek 	sh1add	%r26,%r1,%r1
   1617  1.1.4.2  jdolecek 	bv	0(r31)
   1618  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1619  1.1.4.2  jdolecek e_t04a0: comb,<>	%r25,0,l0
   1620  1.1.4.2  jdolecek 
   1621  1.1.4.2  jdolecek 	sh2add	%r26,%r1,%r1
   1622  1.1.4.2  jdolecek 	bv	0(r31)
   1623  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1624  1.1.4.2  jdolecek e_2t0: comb,<>	%r25,0,l1
   1625  1.1.4.2  jdolecek 
   1626  1.1.4.2  jdolecek 	sh1add	%r1,%r29,%r29
   1627  1.1.4.2  jdolecek 	bv,n  0(r31)
   1628  1.1.4.2  jdolecek e_2t0a0: comb,<>	%r25,0,l0
   1629  1.1.4.2  jdolecek 
   1630  1.1.4.2  jdolecek 	sh1add	%r1,%r26,%r1
   1631  1.1.4.2  jdolecek 	bv	0(r31)
   1632  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1633  1.1.4.2  jdolecek e2t04a0: sh1add	%r26,%r1,%r1
   1634  1.1.4.2  jdolecek 
   1635  1.1.4.2  jdolecek 	comb,<>	%r25,0,l1
   1636  1.1.4.2  jdolecek 	sh1add	%r1,%r29,%r29
   1637  1.1.4.2  jdolecek 	bv,n  0(r31)
   1638  1.1.4.2  jdolecek e_3t0: comb,<>	%r25,0,l0
   1639  1.1.4.2  jdolecek 
   1640  1.1.4.2  jdolecek 	sh1add	%r1,%r1,%r1
   1641  1.1.4.2  jdolecek 	bv	0(r31)
   1642  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1643  1.1.4.2  jdolecek e_4t0: comb,<>	%r25,0,l1
   1644  1.1.4.2  jdolecek 
   1645  1.1.4.2  jdolecek 	sh2add	%r1,%r29,%r29
   1646  1.1.4.2  jdolecek 	bv,n  0(r31)
   1647  1.1.4.2  jdolecek e_4t0a0: comb,<>	%r25,0,l0
   1648  1.1.4.2  jdolecek 
   1649  1.1.4.2  jdolecek 	sh2add	%r1,%r26,%r1
   1650  1.1.4.2  jdolecek 	bv	0(r31)
   1651  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1652  1.1.4.2  jdolecek e4t08a0: sh1add	%r26,%r1,%r1
   1653  1.1.4.2  jdolecek 
   1654  1.1.4.2  jdolecek 	comb,<>	%r25,0,l1
   1655  1.1.4.2  jdolecek 	sh2add	%r1,%r29,%r29
   1656  1.1.4.2  jdolecek 	bv,n  0(r31)
   1657  1.1.4.2  jdolecek e_5t0: comb,<>	%r25,0,l0
   1658  1.1.4.2  jdolecek 
   1659  1.1.4.2  jdolecek 	sh2add	%r1,%r1,%r1
   1660  1.1.4.2  jdolecek 	bv	0(r31)
   1661  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1662  1.1.4.2  jdolecek e_8t0: comb,<>	%r25,0,l1
   1663  1.1.4.2  jdolecek 
   1664  1.1.4.2  jdolecek 	sh3add	%r1,%r29,%r29
   1665  1.1.4.2  jdolecek 	bv,n  0(r31)
   1666  1.1.4.2  jdolecek e_8t0a0: comb,<>	%r25,0,l0
   1667  1.1.4.2  jdolecek 
   1668  1.1.4.2  jdolecek 	sh3add	%r1,%r26,%r1
   1669  1.1.4.2  jdolecek 	bv	0(r31)
   1670  1.1.4.2  jdolecek 	add	%r29,%r1,%r29
   1671  1.1.4.2  jdolecek 
   1672  1.1.4.2  jdolecek 	.procend
   1673  1.1.4.2  jdolecek 	.end
   1674  1.1.4.2  jdolecek 
   1675  1.1.4.2  jdolecek 	.import $$divI_2,millicode
   1676  1.1.4.2  jdolecek 	.import $$divI_3,millicode
   1677  1.1.4.2  jdolecek 	.import $$divI_4,millicode
   1678  1.1.4.2  jdolecek 	.import $$divI_5,millicode
   1679  1.1.4.2  jdolecek 	.import $$divI_6,millicode
   1680  1.1.4.2  jdolecek 	.import $$divI_7,millicode
   1681  1.1.4.2  jdolecek 	.import $$divI_8,millicode
   1682  1.1.4.2  jdolecek 	.import $$divI_9,millicode
   1683  1.1.4.2  jdolecek 	.import $$divI_10,millicode
   1684  1.1.4.2  jdolecek 	.import $$divI_12,millicode
   1685  1.1.4.2  jdolecek 	.import $$divI_14,millicode
   1686  1.1.4.2  jdolecek 	.import $$divI_15,millicode
   1687  1.1.4.2  jdolecek 	.export $$divI,millicode
   1688  1.1.4.2  jdolecek 	.export	$$divoI,millicode
   1689  1.1.4.2  jdolecek $$divoI:
   1690  1.1.4.2  jdolecek 	.proc
   1691  1.1.4.2  jdolecek 	.callinfo	NO_CALLS
   1692  1.1.4.2  jdolecek 	comib,=,n  -1,arg1,negative1	; when divisor == -1
   1693  1.1.4.2  jdolecek $$divI:
   1694  1.1.4.2  jdolecek 	comib,>>=,n 15,arg1,small_divisor
   1695  1.1.4.2  jdolecek 	add,>=	0,arg0,retreg		; move dividend, if retreg < 0,
   1696  1.1.4.2  jdolecek normal1:
   1697  1.1.4.2  jdolecek 	  sub	0,retreg,retreg		;   make it positive
   1698  1.1.4.2  jdolecek 	sub	0,arg1,temp		; clear carry,
   1699  1.1.4.2  jdolecek 					;   negate the divisor
   1700  1.1.4.2  jdolecek 	ds	0,temp,0		; set V-bit to the comple-
   1701  1.1.4.2  jdolecek 					;   ment of the divisor sign
   1702  1.1.4.2  jdolecek 	add	retreg,retreg,retreg	; shift msb bit into carry
   1703  1.1.4.2  jdolecek 	ds	r0,arg1,temp		; 1st divide step, if no carry
   1704  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1705  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 2nd divide step
   1706  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1707  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 3rd divide step
   1708  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1709  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 4th divide step
   1710  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1711  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 5th divide step
   1712  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1713  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 6th divide step
   1714  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1715  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 7th divide step
   1716  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1717  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 8th divide step
   1718  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1719  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 9th divide step
   1720  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1721  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 10th divide step
   1722  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1723  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 11th divide step
   1724  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1725  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 12th divide step
   1726  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1727  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 13th divide step
   1728  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1729  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 14th divide step
   1730  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1731  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 15th divide step
   1732  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1733  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 16th divide step
   1734  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1735  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 17th divide step
   1736  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1737  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 18th divide step
   1738  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1739  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 19th divide step
   1740  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1741  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 20th divide step
   1742  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1743  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 21st divide step
   1744  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1745  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 22nd divide step
   1746  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1747  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 23rd divide step
   1748  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1749  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 24th divide step
   1750  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1751  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 25th divide step
   1752  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1753  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 26th divide step
   1754  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1755  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 27th divide step
   1756  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1757  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 28th divide step
   1758  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1759  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 29th divide step
   1760  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1761  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 30th divide step
   1762  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1763  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 31st divide step
   1764  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift retreg with/into carry
   1765  1.1.4.2  jdolecek 	ds	temp,arg1,temp		; 32nd divide step,
   1766  1.1.4.2  jdolecek 	addc	retreg,retreg,retreg	; shift last retreg bit into retreg
   1767  1.1.4.2  jdolecek 	xor,>=	arg0,arg1,0		; get correct sign of quotient
   1768  1.1.4.2  jdolecek 	  sub	0,retreg,retreg		;   based on operand signs
   1769  1.1.4.2  jdolecek 	bv,n  0(r31)
   1770  1.1.4.2  jdolecek 	nop
   1771  1.1.4.2  jdolecek ;______________________________________________________________________
   1772  1.1.4.2  jdolecek small_divisor:
   1773  1.1.4.2  jdolecek 	blr,n	arg1,r0
   1774  1.1.4.2  jdolecek 	nop
   1775  1.1.4.2  jdolecek ; table for divisor == 0,1, ... ,15
   1776  1.1.4.2  jdolecek 	addit,=	0,arg1,r0	; trap if divisor == 0
   1777  1.1.4.2  jdolecek 	nop
   1778  1.1.4.2  jdolecek 	bv	0(r31)		; divisor == 1
   1779  1.1.4.2  jdolecek 	copy	arg0,retreg
   1780  1.1.4.2  jdolecek 	 b,n	$$divI_2	; divisor == 2
   1781  1.1.4.2  jdolecek 	nop
   1782  1.1.4.2  jdolecek 	 b,n	$$divI_3	; divisor == 3
   1783  1.1.4.2  jdolecek 	nop
   1784  1.1.4.2  jdolecek 	 b,n	$$divI_4	; divisor == 4
   1785  1.1.4.2  jdolecek 	nop
   1786  1.1.4.2  jdolecek 	 b,n	$$divI_5	; divisor == 5
   1787  1.1.4.2  jdolecek 	nop
   1788  1.1.4.2  jdolecek 	 b,n	$$divI_6	; divisor == 6
   1789  1.1.4.2  jdolecek 	nop
   1790  1.1.4.2  jdolecek 	 b,n	$$divI_7	; divisor == 7
   1791  1.1.4.2  jdolecek 	nop
   1792  1.1.4.2  jdolecek 	 b,n	$$divI_8	; divisor == 8
   1793  1.1.4.2  jdolecek 	nop
   1794  1.1.4.2  jdolecek 	 b,n	$$divI_9	; divisor == 9
   1795  1.1.4.2  jdolecek 	nop
   1796  1.1.4.2  jdolecek 	 b,n	$$divI_10	; divisor == 10
   1797  1.1.4.2  jdolecek 	nop
   1798  1.1.4.2  jdolecek 	b	normal1		; divisor == 11
   1799  1.1.4.2  jdolecek 	add,>=	0,arg0,retreg
   1800  1.1.4.2  jdolecek 	 b,n	$$divI_12	; divisor == 12
   1801  1.1.4.2  jdolecek 	nop
   1802  1.1.4.2  jdolecek 	b	normal1		; divisor == 13
   1803  1.1.4.2  jdolecek 	add,>=	0,arg0,retreg
   1804  1.1.4.2  jdolecek 	 b,n	$$divI_14	; divisor == 14
   1805  1.1.4.2  jdolecek 	nop
   1806  1.1.4.2  jdolecek 	 b,n	$$divI_15	; divisor == 15
   1807  1.1.4.2  jdolecek 	nop
   1808  1.1.4.2  jdolecek ;______________________________________________________________________
   1809  1.1.4.2  jdolecek negative1:
   1810  1.1.4.2  jdolecek 	sub	0,arg0,retreg	; result is negation of dividend
   1811  1.1.4.2  jdolecek 	bv	0(r31)
   1812  1.1.4.2  jdolecek 	addo	arg0,arg1,r0	; trap iff dividend==0x80000000 && divisor==-1
   1813  1.1.4.2  jdolecek 	.procend
   1814  1.1.4.2  jdolecek 	.end
   1815