Lines Matching refs:d0
920 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # dyadic; load dst reg
925 cmpi.b %d0,&UNNORM # is operand an UNNORM?
929 mov.b %d0,DTAG(%a6) # save dst optype tag
940 clr.l %d0
941 mov.b FPCR_MODE(%a6),%d0 # pass rnd prec/mode
958 bfextu EXC_CMDREG(%a6){&6:&3},%d0
983 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1236 mov.l %d0,EXC_OPWORD(%a6) # store OPWORD and EXTWORD
1248 bfextu EXC_CMDREG(%a6){&0:&6},%d0
1249 cmpi.b %d0,&0x13
1271 cmpi.b %d0,&UNNORM # is operand an UNNORM?
1276 mov.b %d0,STAG(%a6) # save src optype tag
1278 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # dyadic; load dst reg
1323 mov.b FPCR_ENABLE(%a6),%d0 # fetch exceptions set
1328 mov.b 1+EXC_CMDREG(%a6),%d0 # fetch extension
1329 andi.b &0x38,%d0 # extract bits 3-5
1330 cmpi.b %d0,&0x38 # is instr fcmp or ftst?
1333 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # dyadic; load dst reg
1340 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1347 and.b FPSR_EXCEPT(%a6),%d0 # keep only ones enabled
1348 bfffo %d0{&24:&8},%d0 # find highest priority exception
1372 # shift enabled exception field into lo byte of d0;
1385 subi.l &24,%d0 # fix offset to be 0-8
1386 cmpi.b %d0,&0x6 # is exception INEX? (6)
1399 mov.l %d0,-(%sp) # save d0
1401 mov.l (%sp)+,%d0 # restore d0
1403 mov.w (tbl_except.b,%pc,%d0.w*2),2+FP_SRC(%a6) # create exc status
1407 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1420 mov.w &0x4,%d0
1423 mov.w &0x03,%d0
1432 bfextu EXC_CMDREG(%a6){&0:&6},%d0 # extract opclass,src fmt
1433 cmpi.b %d0,&0x11 # is class = 2 & fmt = sgl?
1435 cmpi.b %d0,&0x15 # is class = 2 & fmt = dbl?
1440 mov.w LOCAL_EX(%a0),%d0 # fetch src exponent
1441 andi.w &0x7fff,%d0 # strip sign
1442 cmpi.w %d0,&0x3f80 # is |exp| == $3f80?
1444 cmpi.w %d0,&0x407f # no; is |exp| == $407f?
1486 neg.w %d0 # -shft amt
1487 addi.w &0x3c01,%d0 # adjust new exponent
1489 or.w %d0,LOCAL_EX(%a0) # insert new exponent
1500 bfextu EXC_CMDREG(%a6){&3:&3},%d0
1501 cmpi.b %d0,&0x3
1503 cmpi.b %d0,&0x7
1524 mov.b %d0,STAG(%a6)
1531 clr.l %d0
1532 mov.b FPCR_MODE(%a6),%d0 # fetch rnd mode/prec
1572 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1660 mov.w (tbl_fu_out.b,%pc,%d0.w*2),%d0
1661 jmp (tbl_fu_out.b,%pc,%d0.w*1)
1679 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1694 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1711 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1764 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1792 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1836 cmpi.b %d0,&UNNORM # is operand an UNNORM?
1840 mov.b %d0,DTAG(%a6) # save dst optype tag
1843 clr.l %d0
1844 mov.b FPCR_MODE(%a6),%d0 # fetch rnd mode/prec
1868 mov.b FPCR_ENABLE(%a6),%d0 # fetch exceptions enabled
1873 mov.b 1+EXC_CMDREG(%a6),%d0 # fetch extension
1874 andi.b &0x38,%d0 # extract bits 3-5
1875 cmpi.b %d0,&0x38 # is instr fcmp or ftst?
1878 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # dyadic; load dst reg
1892 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
1925 and.b FPSR_EXCEPT(%a6),%d0 # keep only ones enabled & set
1926 bfffo %d0{&24:&8},%d0 # find highest priority exception
1950 # shift enabled exception field into lo byte of d0;
1963 subi.l &24,%d0 # fix offset to be 0-8
1964 cmpi.b %d0,&0x6 # is exception INEX? (6 or 7)
1987 mov.w (tbl_except_p.b,%pc,%d0.w*2),2+FP_SRC(%a6)
1991 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
2007 mov.w &0x3,%d0
2011 mov.w &0x4,%d0
2018 mov.w (tbl_except_p.b,%pc,%d0.w*2),2+FP_SRC(%a6)
2022 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
2074 bfextu EXC_CMDREG(%a6){&6:&3},%d0
2081 cmpi.b %d0,&UNNORM # is operand an UNNORM?
2086 mov.b %d0,STAG(%a6) # save src optype tag
2088 clr.l %d0
2089 mov.b FPCR_MODE(%a6),%d0 # fetch rnd mode/prec
2108 mov.b FPCR_ENABLE(%a6),%d0 # fetch exceptions enabled
2123 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
2303 bfextu EXC_EXTWORD(%a6){&3:&3},%d0 # extract src specifier
2304 cmpi.b %d0,&0x1 # was src sgl?
2306 cmpi.b %d0,&0x5 # was src dbl?
2311 mov.w FP_SRC_EX(%a6),%d0 # fetch DENORM exponent
2312 andi.w &0x7fff,%d0 # strip sign
2314 cmpi.w %d0,&0x3f80
2316 neg.w %d0 # make exponent negative
2317 addi.w &0x3f81,%d0 # find amt to shift
2319 lsr.l %d0,%d1 # shift it
2328 mov.w FP_SRC_EX(%a6),%d0 # fetch DENORM exponent
2329 andi.w &0x7fff,%d0 # strip sign
2331 cmpi.w %d0,&0x3c00
2336 mov.w %d0,FP_SRC_EX(%a6) # insert exponent with cleared sign
2337 clr.l %d0 # clear g,r,s
2341 mov.w &0x3c00,%d0 # new exponent
2344 bset &15,%d0 # set sign
2347 mov.w %d0,FP_SRC_EX(%a6) # insert new exponent
2458 mov.l %d0,-(%sp) # save d0
2459 movc %pcr,%d0 # load proc cr
2460 btst &0x1,%d0 # is FPU disabled?
2462 mov.l (%sp)+,%d0 # restore d0
2466 movm.l &0x0303,EXC_DREGS(%a6) # save d0-d1/a0-a1
2476 mov.l %d0,EXC_OPWORD(%a6) # store OPWORD and EXTWORD
2480 tst.w %d0 # is operation fmovem?
2536 mov.b 3+FP_SRC(%a6),%d0 # get byte 4
2537 andi.b &0x0f,%d0 # clear all but last nybble
2554 mov.b %d0,STAG(%a6) # could be ANYTHING!!!
2555 cmpi.b %d0,&UNNORM # is operand an UNNORM?
2558 mov.b %d0,STAG(%a6) # set new optype tag
2568 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # fetch dst regno
2573 mov.b %d0,DTAG(%a6) # could be ANYTHING!!!
2574 cmpi.b %d0,&UNNORM # is operand an UNNORM?
2577 mov.b %d0,DTAG(%a6) # set new optype tag
2591 clr.l %d0
2592 mov.b FPCR_MODE(%a6),%d0 # pass: rnd mode,prec
2620 mov.b FPCR_ENABLE(%a6),%d0 # fetch exceptions enabled
2951 mov.l (%sp)+,%d0 # restore d0
2955 movm.l &0x0303,EXC_DREGS(%a6) # save d0-d1/a0-a1
2962 mov.l %d0,EXC_OPWORD(%a6) # store OPWORD and EXTWORD
2964 tst.w %d0 # is instr fmovm?
2969 mov.l &0x10,%d0 # 16 bytes of instruction
2972 btst &0xe,%d0 # is instr fmovm ctrl
2975 bfextu %d0{&19:&3},%d1
2976 mov.l &0xc,%d0
2979 addq.l &0x4,%d0
2986 clr.l %d0
2988 mov.l EXC_EXTWPTR(%a6),%d0
2989 sub.l EXC_PC(%a6),%d0
2991 mov.w %d0,EXC_VOFF(%a6) # store stack shift value
2993 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
3001 mov.l %d0,-(%sp) # save d0
3004 clr.l %d0
3005 mov.w 0x12(%sp),%d0
3007 add.l %d0,0x6(%sp) # make Next PC
3009 mov.l (%sp)+,%d0 # restore d0
3016 movc %pcr,%d0
3017 btst &0x1,%d0
3022 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
3056 mov.w %d0,-0x8+0x10+LOCAL_SIZE(%sp)
3059 movm.l LOCAL_SIZE+EXC_DREGS(%sp),&0x0303 # restore d0-d1/a0-a1
3190 bfextu %d0{&19:&3},%d0 # extract dst format field
3192 mov.w (tbl_operr.b,%pc,%d0.w*2),%a0
3309 movm.l &0x0303,EXC_DREGS(%a6) # save d0-d1/a0-a1
3319 mov.l %d0,EXC_OPWORD(%a6)
3323 btst &13,%d0 # is instr an fmove out?
3337 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
3360 bfextu %d0{&19:&3},%d0 # extract dst format field
3362 mov.w (tbl_snan.b,%pc,%d0.w*2),%a0
3727 clr.l %d0
3728 mov.b FPCR_MODE(%a6),%d0 # pass rnd prec,mode
3775 movm.l &0x0303,EXC_DREGS(%a6) # save d0-d1/a0-a1
3785 mov.l %d0,EXC_OPWORD(%a6)
3799 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
3863 movm.l &0x0303,EXC_DREGS(%a6) # save d0-d1/a0-a1
3870 bfextu %d0{&0:&10},%d1 # is it an fmovecr?
3874 bfextu %d0{&16:&6},%d1 # is it an fmovecr?
4061 # bftst %d0{&7:&3} # test TYPE
4062 btst &22,%d0 # type 0 or 1 ?
4075 bfextu %d0{&16:&6},%d1 # extract upper 6 of cmdreg
4082 clr.l %d0
4083 mov.b FPCR_MODE(%a6),%d0 # fetch rnd mode
4097 mov.b FPCR_ENABLE(%a6),%d0 # fetch exceptions enabled
4101 bfextu EXC_CMDREG(%a6){&6:&3},%d0 # fetch Dn
4107 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
4150 sub.l OLD_A7(%a6),%d0 # subtract old a7'
4181 and.b FPSR_EXCEPT(%a6),%d0 # keep only ones enabled and set
4182 bfffo %d0{&24:&8},%d0 # find highest priority exception
4200 subi.l &24,%d0 # fix offset to be 0-8
4201 cmpi.b %d0,&0x6 # is exception INEX?
4219 mov.l %d0,-(%sp) # save d0
4221 mov.l (%sp)+,%d0 # restore d0
4222 mov.w (tbl_funimp_except.b,%pc,%d0.w*2),2+FP_SRC(%a6)
4245 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
4364 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
4412 movm.l EXC_DREGS(%a6),&0x0303 # restore d0-d1/a0-a1
5229 fmov.l %d0,%fpcr # restore users round mode,prec
5291 fmov.l %d0,%fpcr # restore users round mode,prec
5314 fmov.l %d0,%fpcr # restore users round mode,prec
5321 fmov.l %d0,%fpcr # restore users round mode,prec
5456 fmov.l %d0,%fpcr
5529 fmov.l %d0,%fpcr
5547 fmov.l %d0,%fpcr
5550 fmov.l %fpcr,%d0 # d0 must have fpcr,too
5560 mov.l %d0,-(%sp) # save d0
5563 mov.l (%sp)+,%d0 # restore d0
5576 #--If compact form of abs(arg) in d0=$7ffeffff, argument is so large that
5613 sub.l &0x00003FFF,%d1 # d0 = K
5617 sub.l &27,%d1 # d0 = L := K-27
5621 clr.l %d1 # d0 = L := 0
6148 # d0 = round precision,mode #
6445 fmov.l %d0,%fpcr # restore users rnd mode,prec
6450 #--|X| IS IN d0 IN COMPACT FORM. FP1, d0 SAVED.
6497 fmov.l %d0,%fpcr # restore users rnd mode,prec
6504 fmov.l %d0,%fpcr # restore users rnd mode,prec
6677 fmov.l %d0,%fpcr
6683 fmov.l %d0,%fpcr # restore users rnd mode,prec
6699 # d0 = round precision,mode #
6749 mov.l %d0,-(%sp) # save original users fpcr
6750 clr.l %d0
6773 fmov.l %d0,%fpcr # load round mode,prec
6783 fmov.l %d0,%fpcr # load user's rnd mode/prec
7637 neg.w %d0 # new exp = -(shft amt)
7638 subi.w &0x3fff,%d0 # subtract off the bias
7639 fmov.w %d0,%fp0 # return exp in fp0
7645 mov.w SRC_EX(%a0),%d0 # get the exp
7646 ori.w &0x7fff,%d0 # clear old exp
7647 bclr &0xe,%d0 # make it the new exp +-3fff
7652 mov.w %d0,FP_SCR0_EX(%a6) # insert new exponent
8476 fmov.l %d0,%fpcr
9312 # rounded to the mode and precision specified in d0. #
9315 # d0 = rnd prec,mode #
9454 swap %d0 # put rnd prec in lo word
9455 tst.b %d0 # is precision extended?
9465 swap %d0 # rnd prec in upper word
9473 mov.l %d0,%d1
9474 clr.l %d0 # clear g,r,s
9581 mov.l %d0,-(%sp) # store off ctrl bits for now
9587 mov.w SRC_EX(%a0),%d0 # check src bounds
9588 andi.w &0x7fff,%d0 # clr src sign bit
9589 cmpi.w %d0,&0x3fff # is src ~ ZERO?
9591 cmpi.w %d0,&0x400c # no; is src too big?
9599 fmov.l %fp0,%d0 # int src to d0
9634 subi.l &-0x3fff,%d0 # how many should we shift?
9635 neg.l %d0 # make it positive
9636 cmpi.b %d0,&0x20 # is it > 32?
9638 lsr.l %d0,%d1 # no; bit stays in upper lw
9644 subi.b &0x20,%d0 # get shift count
9645 lsr.l %d0,%d1 # make low mantissa longword
10078 cmp.l %d0,&8 # D0 is j
10081 lsl.l %d0,%d3
10179 mov.l %d0,%d1 # make copy of rnd prec,mode
10194 smi.b %d1 # set d0 accodingly
10200 mov.b FPCR_ENABLE(%a6),%d0
10201 andi.b &0x0a,%d0 # is UNFL or INEX enabled?
10218 addi.l &0x6000,%d0 # add extra bias
10220 or.w %d0,FP_SCR0_EX(%a6) # insert new exponent
10278 mov.b %d0,%d1 # fetch rnd mode/prec
11538 # d0 rnd prec,mode #
11642 sub.l %d0,%d1 # add scale factor
11687 mov.l L_SCR3(%a6),%d0 # pass rnd prec,mode
11689 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
11994 mov.b SRC_EX(%a0),%d0 # exclusive or the signs
11996 eor.b %d0,%d1
12011 mov.b SRC_EX(%a0),%d0 # exclusive or the signs
12013 eor.b %d0,%d1
12033 # d0 = round prec/mode #
12284 sub.l %d0,%d1 # add scale factor
12333 fmov.l %fpsr,%d0 # no exceptions possible
12334 rol.l &0x8,%d0 # put ccodes in lo byte
12335 mov.b %d0,FPSR_CC(%a6) # insert correct ccodes
12355 # d0 rnd prec,mode #
13064 sub.l %d0,%d1 # add scale factor
13113 fmov.l %fpsr,%d0
13114 rol.l &0x8,%d0 # put ccodes in lo byte
13115 mov.b %d0,FPSR_CC(%a6) # insert correct ccodes
13212 # d0 = round precision/mode #
13348 fmov.l %fpsr,%d0 # save FPSR
13349 or.l %d0,USER_FPSR(%a6) # set exception bits
13426 # d0 = rnd precision/mode #
13450 andi.b &0x30,%d0 # clear rnd prec
13451 ori.b &s_mode*0x10,%d0 # insert sgl precision
13456 andi.b &0x30,%d0 # clear rnd prec
13457 ori.b &d_mode*0x10,%d0 # insert dbl precision
13461 mov.l %d0,L_SCR3(%a6) # store rnd info
13469 andi.b &0xc0,%d0 # is precision extended?
13490 andi.b &0xc0,%d0 # is precision extended?
13497 mov.w SRC_EX(%a0),%d0
13498 bclr &15,%d0 # clear sign
13499 mov.w %d0,FP_SCR0_EX(%a6) # insert exponent
13515 neg.w %d0 # new exponent = -(shft val)
13516 addi.w &0x6000,%d0 # add new bias to exponent
13519 andi.w &0x7fff,%d0 # clear sign position
13520 or.w %d1,%d0 # concat old sign, new exponent
13521 mov.w %d0,FP_SCR0_EX(%a6) # insert new exponent
13529 cmpi.b %d0,&s_mode*0x10 # separate sgl/dbl prec
13541 cmpi.l %d0,&0x3fff-0x3f80 # will move in underflow?
13543 cmpi.l %d0,&0x3fff-0x407e # will move in overflow?
13567 sub.l %d0,%d1 # add scale factor
13584 cmpi.l %d0,&0x3fff-0x3c00 # will move in underflow?
13586 cmpi.l %d0,&0x3fff-0x43fe # will move in overflow?
13608 or.b %d0,FPSR_CC(%a6) # set possible 'Z' ccode
13625 sub.l %d0,%d1 # subtract scale factor
13662 mov.l L_SCR3(%a6),%d0 # pass: prec,mode
13664 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
13744 # d0 = round prec/mode #
13772 fmov.l %fpsr,%d0 # save FPSR
13773 rol.l &0x8,%d0 # extract ccode bits
13774 mov.b %d0,FPSR_CC(%a6) # set ccode bits(no exc bits are set)
13960 mov.l %d0,L_SCR3(%a6) # store rnd info
13979 mov.l %d0,-(%sp) # save scale factor 1
13983 add.l (%sp)+,%d0 # SCALE_FACTOR = scale1 + scale2
13985 cmpi.l %d0,&0x3fff-0x7ffe # would result ovfl?
13989 cmpi.l %d0,&0x3fff+0x0001 # would result unfl?
14013 sub.l %d0,%d1 # add scale factor
14045 mov.l L_SCR3(%a6),%d0 # pass prec:rnd
14046 andi.b &0x30,%d0 # force prec = ext
14048 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
14059 sub.l %d0,%d1 # add scale factor
14301 mov.l %d0,L_SCR3(%a6) # store rnd info
14323 mov.l %d0,-(%sp) # save scale factor 1
14328 add.l %d0,(%sp)
14332 mov.l (%sp)+,%d0
14333 cmpi.l %d0,&0x3fff-0x7ffe
14336 cmpi.l %d0,&0x3fff-0x0000 # will result underflow?
14360 sub.l %d0,%d1 # add scale factor
14384 sub.l %d0,%d1 # add scale factor
14398 mov.l L_SCR3(%a6),%d0 # pass prec:rnd
14399 andi.b &0x30,%d0 # kill precision
14401 or.b %d0,FPSR_CC(%a6) # set INF if applicable
14413 sub.l %d0,%d1 # add scale factor
14447 or.b %d0,FPSR_CC(%a6) # 'Z' bit may have been set
14470 sub.l %d0,%d1 # add scale factor
14637 andi.b &0x30,%d0 # clear rnd prec
14638 ori.b &s_mode*0x10,%d0 # insert sgl prec
14643 andi.b &0x30,%d0 # clear rnd prec
14644 ori.b &d_mode*0x10,%d0 # insert dbl prec
14648 mov.l %d0,L_SCR3(%a6) # store rnd info
14687 sub.l %d0,%d2 # add scale factor
14732 mov.l L_SCR3(%a6),%d0 # pass prec:rnd
14734 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
14797 or.b %d0,FPSR_CC(%a6) # 'Z' bit may have been set
14823 sub.l %d0,%d1 # add scale factor
14961 mov.b SRC_EX(%a0),%d0 # are the signs opposite
14963 eor.b %d0,%d1
14968 tst.b %d0 # are ZEROes positive or negative?
15022 mov.b SRC_EX(%a0),%d0 # exclusive or the signs
15024 eor.b %d1,%d0
15090 andi.b &0x30,%d0 # clear rnd prec
15091 ori.b &s_mode*0x10,%d0 # insert sgl prec
15096 andi.b &0x30,%d0 # clear rnd prec
15097 ori.b &d_mode*0x10,%d0 # insert dbl prec
15101 mov.l %d0,L_SCR3(%a6) # store rnd info
15140 sub.l %d0,%d2 # add scale factor
15185 mov.l L_SCR3(%a6),%d0 # pass prec:rnd
15187 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
15250 or.b %d0,FPSR_CC(%a6) # 'Z' may have been set
15276 sub.l %d0,%d1 # add scale factor
15414 mov.b SRC_EX(%a0),%d0
15416 eor.b %d1,%d0
15420 tst.b %d0 # is dst negative?
15474 mov.b SRC_EX(%a0),%d0 # exclusive or the signs
15476 eor.b %d1,%d0
15515 # d0 rnd prec,mode #
15690 or.b %d0,FPSR_CC(%a6) # set possible 'Z' ccode
15707 sub.l %d0,%d1 # subtract scale factor
15744 mov.l L_SCR3(%a6),%d0 # pass: prec,mode
15746 or.b %d0,FPSR_CC(%a6) # set INF,N if applicable
15853 # d0 = scale amount #
15859 # do the opposite. Return this scale factor in d0. #
15872 mov.w SRC_EX(%a0),%d0
15874 mov.w %d0,FP_SCR0_EX(%a6)
15877 andi.w &0x7fff,%d0
15879 mov.w %d0,L_SCR1(%a6) # store src exponent
15882 cmp.w %d0, %d1 # is src exp >= dst exp?
15888 mov.l %d0,-(%sp) # save scale factor
15895 neg.w %d0 # new exp = -(shft val)
15896 mov.w %d0,L_SCR1(%a6) # inset new exp
15899 mov.w 2+L_SCR1(%a6),%d0
15900 subi.w &mantissalen+2,%d0 # subtract mantissalen+2 from larger exp
15902 cmp.w %d0,L_SCR1(%a6) # is difference >= len(mantissa)+2?
15905 mov.w L_SCR1(%a6),%d0
15906 add.w 0x2(%sp),%d0 # scale src exponent by scale factor
15909 or.w %d1,%d0 # concat {sgn,new exp}
15910 mov.w %d0,FP_SCR0_EX(%a6) # insert new dst exponent
15912 mov.l (%sp)+,%d0 # return SCALE factor
15919 mov.l (%sp)+,%d0 # return SCALE factor
15925 mov.l %d0,-(%sp) # save scale factor
15931 neg.w %d0 # new exp = -(shft val)
15932 mov.w %d0,2+L_SCR1(%a6) # inset new exp
15935 mov.w L_SCR1(%a6),%d0
15936 subi.w &mantissalen+2,%d0 # subtract mantissalen+2 from larger exp
15938 cmp.w %d0,2+L_SCR1(%a6) # is difference >= len(mantissa)+2?
15941 mov.w 2+L_SCR1(%a6),%d0
15942 add.w 0x2(%sp),%d0 # scale dst exponent by scale factor
15945 or.w %d1,%d0 # concat {sgn,new exp}
15946 mov.w %d0,FP_SCR1_EX(%a6) # insert new dst exponent
15948 mov.l (%sp)+,%d0 # return SCALE factor
15955 mov.l (%sp)+,%d0 # return SCALE factor
15973 # d0 = scale value #
15990 andi.w &0x8000,%d0 # extract operand's sgn
15993 mov.w %d0,FP_SCR0_EX(%a6) # insert biased exponent
15999 mov.l &0x3fff,%d0
16000 sub.l %d1,%d0 # scale = BIAS + (-exp)
16007 neg.l %d0 # new exponent = -(shft val)
16008 mov.l %d0,%d1 # prepare for op_norm call
16060 mov.l &0x3ffe,%d0
16061 sub.l %d1,%d0 # scale = BIAS + (-exp)
16062 asr.l &0x1,%d0 # divide scale factor by 2
16069 btst &0x0,%d0 # is exp even or odd?
16081 add.l &0x3ffe,%d0
16082 asr.l &0x1,%d0 # divide scale factor by 2
16100 # d0 = scale value #
16117 andi.w &0x8000,%d0 # extract operand's sgn
16120 mov.w %d0,FP_SCR1_EX(%a6) # insert biased exponent
16126 mov.l &0x3fff,%d0
16127 sub.l %d1,%d0 # scale = BIAS + (-exp)
16133 neg.l %d0 # new exponent = -(shft val)
16134 mov.l %d0,%d1 # prepare for op_norm call
16258 # d0 = displacement #
16280 mov.l %d0,L_SCR1(%a6) # save displacement
16282 mov.w EXC_CMDREG(%a6),%d0 # fetch predicate
16289 mov.w (tbl_fdbcc.b,%pc,%d0.w*2),%d1 # load table
16852 # make sure that d0 isn't corrupted between calls...
18062 mov.l %d0,%a0 # save result for a moment
18065 mov.l %d1,%d0 # make a copy
18102 mov.l %a0,%d0 # pass result in d0
18111 movq.l &0x1,%d0 # pass amt to inc by
18273 sub.l %d0,%sp # subtract size of dump
18337 mov.l %d0,-(%sp) # save size
18340 mov.l (%sp)+,%d0
18341 add.l %d0,%sp # clear fpreg data from stack
18354 sub.l %d0,%sp # make room for fpregs
18358 mov.l %d0,-(%sp) # save # of bytes
18362 mov.l (%sp)+,%d0 # retrieve # of bytes
18423 add.l %d0,%sp # remove fpregs from stack
18524 mov.l %d0,%a0 # move # bytes to a0
18528 mov.w EXC_OPWORD(%a6),%d0 # fetch opcode word
18529 mov.w %d0,%d1 # make a copy
18531 andi.w &0x3f,%d0 # extract mode field
18535 mov.w (tbl_fea_mode.b,%pc,%d0.w*2),%d0 # fetch jmp distance
18536 jmp (tbl_fea_mode.b,%pc,%d0.w*1) # jmp to correct ea mode
18651 mov.l EXC_DREGS+0x8(%a6),%d0 # Get current a0
18652 mov.l %d0,%d1
18655 mov.l %d0,%a0
18659 mov.l EXC_DREGS+0xc(%a6),%d0 # Get current a1
18660 mov.l %d0,%d1
18663 mov.l %d0,%a0
18667 mov.l %a2,%d0 # Get current a2
18668 mov.l %d0,%d1
18671 mov.l %d0,%a0
18675 mov.l %a3,%d0 # Get current a3
18676 mov.l %d0,%d1
18679 mov.l %d0,%a0
18683 mov.l %a4,%d0 # Get current a4
18684 mov.l %d0,%d1
18687 mov.l %d0,%a0
18691 mov.l %a5,%d0 # Get current a5
18692 mov.l %d0,%d1
18695 mov.l %d0,%a0
18699 mov.l (%a6),%d0 # Get current a6
18700 mov.l %d0,%d1
18703 mov.l %d0,%a0
18709 mov.l EXC_A7(%a6),%d0 # Get current a7
18710 mov.l %d0,%d1
18713 mov.l %d0,%a0
18720 mov.l EXC_DREGS+0x8(%a6),%d0 # Get current a0
18721 sub.l %a0,%d0 # Decrement
18722 mov.l %d0,EXC_DREGS+0x8(%a6) # Save decr value
18723 mov.l %d0,%a0
18727 mov.l EXC_DREGS+0xc(%a6),%d0 # Get current a1
18728 sub.l %a0,%d0 # Decrement
18729 mov.l %d0,EXC_DREGS+0xc(%a6) # Save decr value
18730 mov.l %d0,%a0
18734 mov.l %a2,%d0 # Get current a2
18735 sub.l %a0,%d0 # Decrement
18736 mov.l %d0,%a2 # Save decr value
18737 mov.l %d0,%a0
18741 mov.l %a3,%d0 # Get current a3
18742 sub.l %a0,%d0 # Decrement
18743 mov.l %d0,%a3 # Save decr value
18744 mov.l %d0,%a0
18748 mov.l %a4,%d0 # Get current a4
18749 sub.l %a0,%d0 # Decrement
18750 mov.l %d0,%a4 # Save decr value
18751 mov.l %d0,%a0
18755 mov.l %a5,%d0 # Get current a5
18756 sub.l %a0,%d0 # Decrement
18757 mov.l %d0,%a5 # Save decr value
18758 mov.l %d0,%a0
18762 mov.l (%a6),%d0 # Get current a6
18763 sub.l %a0,%d0 # Decrement
18764 mov.l %d0,(%a6) # Save decr value
18765 mov.l %d0,%a0
18771 mov.l EXC_A7(%a6),%d0 # Get current a7
18772 sub.l %a0,%d0 # Decrement
18773 mov.l %d0,EXC_A7(%a6) # Save decr value
18774 mov.l %d0,%a0
18788 mov.w %d0,%a0 # sign extend displacement
18801 mov.w %d0,%a0 # sign extend displacement
18814 mov.w %d0,%a0 # sign extend displacement
18827 mov.w %d0,%a0 # sign extend displacement
18840 mov.w %d0,%a0 # sign extend displacement
18853 mov.w %d0,%a0 # sign extend displacement
18866 mov.w %d0,%a0 # sign extend displacement
18879 mov.w %d0,%a0 # sign extend displacement
18893 mov.l %d0,-(%sp)
18897 bsr.l _imem_read_word # fetch extword in d0
18904 btst &0x8,%d0
18907 mov.l %d0,L_SCR1(%a6) # hold opword
18909 mov.l %d0,%d1
18921 ext.l %d0 # sign extend word index
18927 lsl.l %d1,%d0 # shift index by scale
18930 add.l %d2,%d0 # index + disp
18931 add.l %d0,%a0 # An + (index + disp)
18947 mov.w %d0,%a0 # return <ea> in a0
18961 mov.l %d0,%a0 # return <ea> in a0
18975 mov.w %d0,%a0 # sign extend displacement