Lines Matching refs:a6
53 clrb DNRM_FLG(%a6)
54 clrb RES_FLG(%a6)
55 clrb CU_ONLY(%a6)
56 tstb DY_MO_FLG(%a6)
59 btstb #7,DTAG(%a6) |if dop = norm=000, zero=001,
66 leal FPTEMP(%a6),%a0
77 bfclr DTAG(%a6){#0:#4} |set tag to normalized, FPTE15 = 0
78 bsetb #4,DTAG(%a6) |set FPTE15
79 orb #0x0f,DNRM_FLG(%a6)
81 leal ETEMP(%a6),%a0
82 btstb #direction_bit,CMDREG1B(%a6) |check direction
87 btstb #7,STAG(%a6) |if sop = norm=000, zero=001,
90 tstb DY_MO_FLG(%a6) |all cases of dyadic instructions would
99 movew CMDREG1B(%a6),%d0 |get command register
115 st CU_ONLY(%a6) |set cu-only inst flag
116 movew CMDREG1B(%a6),%d0
436 orl #neg_mask,USER_FPSR(%a6) |set N
444 orl #inf_mask,USER_FPSR(%a6)
447 orl #nan_mask,USER_FPSR(%a6)
448 movel ETEMP_EX(%a6),FPTEMP_EX(%a6) |set up fptemp sign for
456 orl #z_mask,USER_FPSR(%a6)
481 btstb #2,CMDREG1B+1(%a6) |check for rd
483 btstb #6,CMDREG1B+1(%a6) |check for rs
490 bfextu FPCR_MODE(%a6){#0:#2},%d0
500 bfextu FPCR_MODE(%a6){#2:#2},%d1 |get rmode
515 bfextu FPCR_MODE(%a6){#2:#2},%d1 |get rmode
530 orl #unfl_mask,USER_FPSR(%a6)
533 orl #neg_mask,USER_FPSR(%a6)
543 orl #z_mask,USER_FPSR(%a6)
544 orl #unfinx_mask,USER_FPSR(%a6)
550 orl #unfinx_mask,USER_FPSR(%a6)
556 orl #z_mask,USER_FPSR(%a6)
557 orl #neg_mask,USER_FPSR(%a6)
558 orl #unfinx_mask,USER_FPSR(%a6)
564 orl #neg_mask,USER_FPSR(%a6)
565 orl #unfinx_mask,USER_FPSR(%a6)
575 orl #z_mask,USER_FPSR(%a6)
576 orl #unfinx_mask,USER_FPSR(%a6)
582 orl #unfinx_mask,USER_FPSR(%a6)
588 orl #z_mask,USER_FPSR(%a6)
589 orl #neg_mask,USER_FPSR(%a6)
590 orl #unfinx_mask,USER_FPSR(%a6)
596 orl #neg_mask,USER_FPSR(%a6)
597 orl #unfinx_mask,USER_FPSR(%a6)
678 | tstb DY_MO_FLG(%a6) ;check for fsqrt
680 movew CMDREG1B(%a6),%d0
694 cmpb #0xff,DNRM_FLG(%a6) |if both ops denorm,
700 cmpb #0x0f,DNRM_FLG(%a6) |check for dest denorm
705 bfextu ETEMP_EX(%a6){#1:#15},%d0 |get src exp (always pos)
706 bfexts FPTEMP_EX(%a6){#1:#15},%d1 |get dest exp (always neg)
710 clrb WBTEMP_SGN(%a6)
711 movew ETEMP_EX(%a6),%d0 |find the sign of the result
712 movew FPTEMP_EX(%a6),%d1
716 st WBTEMP_SGN(%a6)
720 moveb STAG(%a6),%d0 |check source tag for inf or nan
723 moveb DTAG(%a6),%d0 |check destination tag for inf or nan
744 bfextu FPTEMP_EX(%a6){#1:#15},%d0 |get dest exp (always pos)
745 bfexts ETEMP_EX(%a6){#1:#15},%d1 |get src exp (always neg)
749 clrb WBTEMP_SGN(%a6)
750 movew ETEMP_EX(%a6),%d0 |find the sign of the result
751 movew FPTEMP_EX(%a6),%d1
755 st WBTEMP_SGN(%a6)
761 bclrb #E1,E_BYTE(%a6)
762 orl #ovfl_inx_mask,USER_FPSR(%a6)
763 clrw NMNEXC(%a6)
764 leal WBTEMP(%a6),%a0 |point a0 to memory location
765 movew CMDREG1B(%a6),%d0
776 bfextu FPCR_MODE(%a6){#0:#2},%d0 |inst not forced - use fpcr prec
783 | or.l #inex2_mask,USER_FPSR(%a6) ;if prec is s or d, set inex2
790 bfclr WBTEMP_SGN(%a6){#0:#8}
792 bsetb #sign_bit,WBTEMP_EX(%a6)
798 cmpb #0xff,DNRM_FLG(%a6) |if both ops denorm,
804 cmpb #0x0f,DNRM_FLG(%a6) |check for dest denorm
809 bfextu ETEMP_EX(%a6){#1:#15},%d0 |get src exp (always pos)
810 bfexts FPTEMP_EX(%a6){#1:#15},%d1 |get dest exp (always neg)
818 bfextu FPTEMP_EX(%a6){#1:#15},%d0 |get dest exp (always pos)
819 bfexts ETEMP_EX(%a6){#1:#15},%d1 |get src exp (always neg)
834 movew ETEMP_EX(%a6),%d0
835 movew FPTEMP_EX(%a6),%d1
842 cmpb #0x0f,DNRM_FLG(%a6) |is dest the denorm?
844 movew FPTEMP_EX(%a6),%d0
847 movew %d0,FPTEMP_EX(%a6) |in the denorm
848 movel USER_FPCR(%a6),%d0
851 fmovex ETEMP(%a6),%fp0
852 faddx FPTEMP(%a6),%fp0
853 leal WBTEMP(%a6),%a0 |point a0 to wbtemp in frame
855 orl %d1,USER_FPSR(%a6) |capture cc's and inex from fadd
883 leal WBTEMP(%a6),%a0 |point a0 to wbtemp in frame
884 fmovex %fp0,WBTEMP(%a6) |write result to memory
886 movel USER_FPCR(%a6),%d1
892 bclrb #sign_bit,WBTEMP_EX(%a6)
893 sne WBTEMP_SGN(%a6) |use internal format for round
895 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
897 bsetb #sign_bit,WBTEMP_EX(%a6)
903 cmpb #0x0f,DNRM_FLG(%a6) |is dest the denorm?
906 leal ETEMP(%a6),%a0
907 movel USER_FPCR(%a6),%d0
910 movel USER_FPCR(%a6),%d1
916 bclrb #sign_bit,ETEMP_EX(%a6)
917 sne ETEMP_SGN(%a6)
919 bfclr ETEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
921 bsetb #sign_bit,ETEMP_EX(%a6)
923 leal WBTEMP(%a6),%a0
924 movel ETEMP(%a6),(%a0) |write result to wbtemp
925 movel ETEMP_HI(%a6),4(%a0)
926 movel ETEMP_LO(%a6),8(%a0)
927 tstw ETEMP_EX(%a6)
929 orl #neg_mask,USER_FPSR(%a6)
932 leal FPTEMP(%a6),%a0
933 movel USER_FPCR(%a6),%d0
936 movel USER_FPCR(%a6),%d1
942 bclrb #sign_bit,FPTEMP_EX(%a6)
943 sne FPTEMP_SGN(%a6)
945 bfclr FPTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
947 bsetb #sign_bit,FPTEMP_EX(%a6)
949 leal WBTEMP(%a6),%a0
950 movel FPTEMP(%a6),(%a0) |write result to wbtemp
951 movel FPTEMP_HI(%a6),4(%a0)
952 movel FPTEMP_LO(%a6),8(%a0)
953 tstw FPTEMP_EX(%a6)
955 orl #neg_mask,USER_FPSR(%a6)
957 movew WBTEMP_EX(%a6),%d0
966 orl #inf_mask+ovfl_inx_mask,USER_FPSR(%a6)
973 cmpb #0xff,DNRM_FLG(%a6) |if both ops denorm,
979 cmpb #0x0f,DNRM_FLG(%a6) |check for dest denorm
984 bfextu ETEMP_EX(%a6){#1:#15},%d0 |get src exp (always pos)
985 bfexts FPTEMP_EX(%a6){#1:#15},%d1 |get dest exp (always neg)
993 bfextu FPTEMP_EX(%a6){#1:#15},%d0 |get dest exp (always pos)
994 bfexts ETEMP_EX(%a6){#1:#15},%d1 |get src exp (always neg)
1009 movew ETEMP_EX(%a6),%d0
1010 movew FPTEMP_EX(%a6),%d1
1017 cmpb #0x0f,DNRM_FLG(%a6) |is dest the denorm?
1019 movew FPTEMP_EX(%a6),%d0
1022 movew %d0,FPTEMP_EX(%a6) |in the denorm
1023 movel USER_FPCR(%a6),%d0
1026 fmovex FPTEMP(%a6),%fp0
1027 fsubx ETEMP(%a6),%fp0
1029 orl %d1,USER_FPSR(%a6) |capture cc's and inex from fadd
1058 leal WBTEMP(%a6),%a0 |point a0 to wbtemp in frame
1059 fmovex %fp0,WBTEMP(%a6) |write result to memory
1061 movel USER_FPCR(%a6),%d1
1067 bclrb #sign_bit,WBTEMP_EX(%a6)
1068 sne WBTEMP_SGN(%a6)
1070 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1072 bsetb #sign_bit,WBTEMP_EX(%a6)
1078 cmpb #0x0f,DNRM_FLG(%a6) |is dest the denorm?
1081 leal ETEMP(%a6),%a0
1082 movel USER_FPCR(%a6),%d0
1085 movel USER_FPCR(%a6),%d1
1095 eoriw #0x8000,ETEMP_EX(%a6) |flip sign on result
1096 tstw ETEMP_EX(%a6)
1098 orl #neg_mask,USER_FPSR(%a6)
1100 bclrb #sign_bit,ETEMP_EX(%a6)
1101 sne ETEMP_SGN(%a6)
1103 bfclr ETEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1105 bsetb #sign_bit,ETEMP_EX(%a6)
1107 leal WBTEMP(%a6),%a0
1108 movel ETEMP(%a6),(%a0) |write result to wbtemp
1109 movel ETEMP_HI(%a6),4(%a0)
1110 movel ETEMP_LO(%a6),8(%a0)
1113 leal FPTEMP(%a6),%a0
1114 movel USER_FPCR(%a6),%d0
1117 movel USER_FPCR(%a6),%d1
1123 bclrb #sign_bit,FPTEMP_EX(%a6)
1124 sne FPTEMP_SGN(%a6)
1126 bfclr FPTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1128 bsetb #sign_bit,FPTEMP_EX(%a6)
1130 leal WBTEMP(%a6),%a0
1131 movel FPTEMP(%a6),(%a0) |write result to wbtemp
1132 movel FPTEMP_HI(%a6),4(%a0)
1133 movel FPTEMP_LO(%a6),8(%a0)
1134 tstw FPTEMP_EX(%a6)
1136 orl #neg_mask,USER_FPSR(%a6)
1138 movew WBTEMP_EX(%a6),%d0
1147 orl #inf_mask+ovfl_inx_mask,USER_FPSR(%a6)
1154 cmpb #0xff,DNRM_FLG(%a6) |if both ops denorm,
1160 cmpb #0x0f,DNRM_FLG(%a6) |check for dest denorm
1165 bfextu ETEMP_EX(%a6){#1:#15},%d0 |get src exp (always pos)
1166 bfexts FPTEMP_EX(%a6){#1:#15},%d1 |get dest exp (always neg)
1170 tstw ETEMP_EX(%a6) |set N to ~sign_of(src)
1176 bfextu FPTEMP_EX(%a6){#1:#15},%d0 |get dest exp (always pos)
1177 bfexts ETEMP_EX(%a6){#1:#15},%d1 |get src exp (always neg)
1181 tstw FPTEMP_EX(%a6) |set N to sign_of(dest)
1185 orl #neg_mask,USER_FPSR(%a6)
1192 cmpb #0xff,DNRM_FLG(%a6) |if both ops denorm,
1198 cmpb #0x0f,DNRM_FLG(%a6) |check for dest denorm
1203 bfextu ETEMP_EX(%a6){#1:#15},%d0 |get src exp (always pos)
1204 bfexts FPTEMP_EX(%a6){#1:#15},%d1 |get dest exp (always neg)
1211 bfextu FPTEMP_EX(%a6){#1:#15},%d0 |get dest exp (always pos)
1212 bfexts ETEMP_EX(%a6){#1:#15},%d1 |get src exp (always neg)
1221 bclrb #E1,E_BYTE(%a6)
1222 orl #unfinx_mask,USER_FPSR(%a6)
1223 clrw NMNEXC(%a6)
1224 clrb WBTEMP_SGN(%a6)
1225 movew ETEMP_EX(%a6),%d0 |find the sign of the result
1226 movew FPTEMP_EX(%a6),%d1
1230 st WBTEMP_SGN(%a6)
1232 lea WBTEMP(%a6),%a0 |point a0 to memory location
1233 movew CMDREG1B(%a6),%d0
1244 bfextu FPCR_MODE(%a6){#0:#2},%d0 |inst not forced - use fpcr prec
1249 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1251 bsetb #sign_bit,WBTEMP_EX(%a6)
1339 movel ETEMP_EX(%a6),FPTEMP_EX(%a6) |set up fptemp sign for
1341 tstb ETEMP(%a6) |check for negative
1345 orl #neg_bit,USER_FPSR(%a6) |snan is negative; set N
1348 clrw NMNEXC(%a6)
1349 bclrb #E1,E_BYTE(%a6)
1350 moveb STAG(%a6),%d0 |check if stag is inf
1354 orl #inf_mask,USER_FPSR(%a6) |if inf, nothing yet has set I
1357 orl #neg_mask,USER_FPSR(%a6)
1362 orl #nan_mask,USER_FPSR(%a6) |if nan, nothing yet has set NaN
1363 movel ETEMP_EX(%a6),FPTEMP_EX(%a6) |set up fptemp sign for
1367 orl #neg_mask,USER_FPSR(%a6)
1372 orl #z_mask,USER_FPSR(%a6) |if zero, set Z
1375 orl #neg_mask,USER_FPSR(%a6)
1377 bfextu CMDREG1B(%a6){#6:#3},%d0 |extract fp destination register
1384 fmovemx ETEMP(%a6),%d0
1395 movel ETEMP_EX(%a6),USER_FP3(%a6)
1396 movel ETEMP_HI(%a6),USER_FP3+4(%a6)
1397 movel ETEMP_LO(%a6),USER_FP3+8(%a6)
1400 movel ETEMP_EX(%a6),USER_FP2(%a6)
1401 movel ETEMP_HI(%a6),USER_FP2+4(%a6)
1402 movel ETEMP_LO(%a6),USER_FP2+8(%a6)
1405 movel ETEMP_EX(%a6),USER_FP1(%a6)
1406 movel ETEMP_HI(%a6),USER_FP1+4(%a6)
1407 movel ETEMP_LO(%a6),USER_FP1+8(%a6)
1410 movel ETEMP_EX(%a6),USER_FP0(%a6)
1411 movel ETEMP_HI(%a6),USER_FP0+4(%a6)
1412 movel ETEMP_LO(%a6),USER_FP0+8(%a6)
1416 st CU_ONLY(%a6)
1417 movew CMDREG1B(%a6),%d0 |check if packed moveout
1438 bfextu CMDREG1B(%a6){#3:#3},%d1 |put source specifier in d1
1448 btstb #inex2_bit,FPSR_EXCEPT(%a6)
1450 btstb #unfl_bit,FPSR_EXCEPT(%a6)
1452 bsetb #aunfl_bit,FPSR_AEXCEPT(%a6)
1454 clrw NMNEXC(%a6)
1455 bclrb #E1,E_BYTE(%a6)
1462 bfclr ETEMP_SGN(%a6){#0:#8}
1464 bsetb #sign_bit,ETEMP_EX(%a6)
1472 clrw NMNEXC(%a6)
1473 bclrb #E1,E_BYTE(%a6)
1480 bfclr ETEMP_SGN(%a6){#0:#8}
1482 bsetb #sign_bit,ETEMP_EX(%a6)
1492 btstb #7,STAG(%a6) |check for extended denorm
1495 fmovemx ETEMP(%a6),%fp0-%fp0
1505 movel USER_FPCR(%a6),%d1 |use user's rounding mode
1554 fmovew %fp0,L_SCR1(%a6) |let the 040 perform conversion
1556 orl %d1,USER_FPSR(%a6) |capture inex2/ainex if set
1560 movew #0x7fff,L_SCR1(%a6) |answer is largest positive int
1568 movew #0x8000,L_SCR1(%a6)
1582 btstb #7,STAG(%a6) |check for extended denorm
1585 fmovemx ETEMP(%a6),%fp0-%fp0
1596 movel USER_FPCR(%a6),%d1 |use user's rounding mode
1905 bfextu FPCR_MODE(%a6){#2:#2},%d1 |get rounding mode
1917 movel EXC_EA(%a6),%a0 |a0 has the destination pointer
1925 movel LOCAL_EX(%a0),WBTEMP_EX(%a6)
1926 movel LOCAL_HI(%a0),WBTEMP_HI(%a6)
1927 movel LOCAL_LO(%a0),WBTEMP_LO(%a6)
1928 bfclr WBTEMP_SGN(%a6){#0:#8}
1930 bsetb #sign_bit,WBTEMP_EX(%a6)
1932 bfclr STAG(%a6){#5:#4} |clear wbtm66,wbtm1,wbtm0,sbit
1955 movew STAG(%a6),%d0 |get source tag
1962 movel EXC_EA(%a6),%a1 |get the destination address
1970 bfclr DTAG(%a6){#0:#3} |set dtag to norm
1980 movew CMDREG1B(%a6),%d0
1991 leal ETEMP(%a6),%a0 |a0 will point to the packed decimal
1992 bsrl bindec |perform the convert; data at a6
1993 leal FP_SCR1(%a6),%a0 |load a0 with result address
1996 leal ETEMP(%a6),%a0 |a0 will point to the packed decimal
2003 leal ETEMP(%a6),%a0 |a0 will point to the packed decimal
2007 leal ETEMP(%a6),%a0 |a0 will point to the packed decimal
2015 movel USER_D0(%a6),%d0
2018 movel USER_D1(%a6),%d0