• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/arch/m68k/fpsp040/

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
133 orl #neg_mask,USER_FPSR(%a6) |set N
141 orl #inf_mask,USER_FPSR(%a6)
144 orl #nan_mask,USER_FPSR(%a6)
145 movel ETEMP_EX(%a6),FPTEMP_EX(%a6) |set up fptemp sign for
154 orl #z_mask,USER_FPSR(%a6)
162 moveb STAG(%a6),%d0
172 moveb STAG(%a6),%d0
184 moveb STAG(%a6),%d0
187 btstb #2,CMDREG1B+1(%a6) |check for rd
189 btstb #6,CMDREG1B+1(%a6) |check for rs
197 bfextu FPCR_MODE(%a6){#0:#2},%d0
211 bfextu FPCR_MODE(%a6){#2:#2},%d1 |get rmode
235 bfextu FPCR_MODE(%a6){#2:#2},%d1
268 bfextu FPCR_MODE(%a6){#2:#2},%d1
269 btstb #2,CMDREG1B+1(%a6) |check for rd
271 btstb #6,CMDREG1B+1(%a6) |check for rs
274 moveb FPCR_MODE(%a6),%d1
291 btstb #inex2_bit,FPSR_EXCEPT(%a6)
293 orl #aunfl_mask,USER_FPSR(%a6) |if the round was inex, set AUNFL
303 movel USER_FPCR(%a6),%d0
311 btstb #7,FPCR_MODE(%a6) |check for double
317 btstb #7,FPCR_MODE(%a6) |check for double
326 orl #z_mask,USER_FPSR(%a6)
327 moveb STAG(%a6),%d0
332 orl #unfl_mask,USER_FPSR(%a6) |set unfl
334 movel (%a0),ETEMP(%a6)
335 movel 4(%a0),ETEMP_HI(%a6)
336 movel 8(%a0),ETEMP_LO(%a6)
347 orl #z_mask,USER_FPSR(%a6) |set Z bit
351 orl #neg_mask,USER_FPSR(%a6)
364 tstb DY_MO_FLG(%a6) |all cases of dyadic instructions would
373 movew CMDREG1B(%a6),%d0 |get command register
383 st CU_ONLY(%a6) |set cu-only inst flag
397 bfclr STAG(%a6){#0:#4} |set tag to normalized, FPTE15 = 0
398 bsetb #4,STAG(%a6) |set ETE15
399 orb #0xf0,DNRM_FLG(%a6)
401 tstb DNRM_FLG(%a6) |check if any of the ops were denorms
405 moveb #0xfe,CU_SAVEPC(%a6)
406 bclrb #E1,E_BYTE(%a6)
408 clrw NMNEXC(%a6)
410 st RES_FLG(%a6) |indicate that a restore is needed
418 st CU_ONLY(%a6)
419 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
856 fmovex %fp0,WBTEMP(%a6) |write result to memory
858 movel USER_FPCR(%a6),%d1
864 bclrb #sign_bit,WBTEMP_EX(%a6)
865 sne WBTEMP_SGN(%a6)
867 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
869 bsetb #sign_bit,WBTEMP_EX(%a6)
872 movew ETEMP_EX(%a6),%d0
875 movew %d0,ETEMP_EX(%a6) |in the denorm
876 movel USER_FPCR(%a6),%d0
879 fmovex ETEMP(%a6),%fp0
880 faddx FPTEMP(%a6),%fp0
882 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
1030 leal WBTEMP(%a6),%a0 |point a0 to wbtemp in frame
1031 fmovex %fp0,WBTEMP(%a6) |write result to memory
1033 movel USER_FPCR(%a6),%d1
1039 bclrb #sign_bit,WBTEMP_EX(%a6)
1040 sne WBTEMP_SGN(%a6)
1042 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1044 bsetb #sign_bit,WBTEMP_EX(%a6)
1047 movew ETEMP_EX(%a6),%d0
1050 movew %d0,ETEMP_EX(%a6) |in the denorm
1051 movel USER_FPCR(%a6),%d0
1054 fmovex FPTEMP(%a6),%fp0
1055 fsubx ETEMP(%a6),%fp0
1057 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)
1261 movew CMDREG1B(%a6),%d0
1272 bfextu FPCR_MODE(%a6){#0:#2},%d0 |inst not forced - use fpcr prec
1276 bclrb #sign_bit,WBTEMP_EX(%a6)
1277 sne WBTEMP_SGN(%a6)
1281 bfclr WBTEMP_SGN(%a6){#0:#8} |convert back to IEEE ext format
1283 bsetb #sign_bit,WBTEMP_EX(%a6)
1285 orl #ovfinx_mask,USER_FPSR(%a6)
1290 bfextu CMDREG1B(%a6){#6:#3},%d0 |extract fp destination register
1297 fmovemx WBTEMP(%a6),%d0
1307 movel WBTEMP_EX(%a6),USER_FP3(%a6)
1308 movel WBTEMP_HI(%a6),USER_FP3+4(%a6)
1309 movel WBTEMP_LO(%a6),USER_FP3+8(%a6)
1312 movel WBTEMP_EX(%a6),USER_FP2(%a6)
1313 movel WBTEMP_HI(%a6),USER_FP2+4(%a6)
1314 movel WBTEMP_LO(%a6),USER_FP2+8(%a6)
1317 movel WBTEMP_EX(%a6),USER_FP1(%a6)
1318 movel WBTEMP_HI(%a6),USER_FP1+4(%a6)
1319 movel WBTEMP_LO(%a6),USER_FP1+8(%a6)
1322 movel WBTEMP_EX(%a6),USER_FP0(%a6)
1323 movel WBTEMP_HI(%a6),USER_FP0+4(%a6)
1324 movel WBTEMP_LO(%a6),USER_FP0+8(%a6)
1335 btstb #snan_bit,FPSR_EXCEPT(%a6) |if snan is set, and
1337 btstb #snan_bit,FPCR_ENABLE(%a6) |and don't overwrite
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
1508 fmovel %fp0,L_SCR1(%a6) |let the 040 perform conversion
1510 orl %d1,USER_FPSR(%a6) |capture inex2/ainex if set
1515 movel #0x7fffffff,L_SCR1(%a6) |answer is largest positive int
1523 movel #0x80000000,L_SCR1(%a6)
1537 btstb #7,STAG(%a6) |check for extended denorm
1540 fmovemx ETEMP(%a6),%fp0-%fp0
1551 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
1599 fmoveb %fp0,L_SCR1(%a6) |let the 040 perform conversion
1601 orl %d1,USER_FPSR(%a6) |capture inex2/ainex if set
1605 moveb #0x7f,L_SCR1(%a6) |answer is largest positive int
1613 moveb #0x80,L_SCR1(%a6)
1626 | -1 in L_SCR1(a6) will cover all contingencies (FMOVE.B/W/L out).
1629 movel #0,L_SCR1(%a6) | initialize result to 0
1630 bfextu FPCR_MODE(%a6){#2:#2},%d1 | d1 is the rounding mode
1634 tstw ETEMP(%a6) | RM: store -1 in L_SCR1 if src is negative
1636 movel #-1,L_SCR1(%a6)
1639 tstw ETEMP(%a6) | RP: store +1 of proper width in L_SCR1 if
1642 lea L_SCR1(%a6),%a1 | a1 is address of L_SCR1
1647 oril #inx2a_mask,USER_FPSR(%a6)
1650 fmovemx %fp0-%fp0,FPTEMP(%a6) |FPTEMP must contain the extended
1656 oril #opaop_mask,USER_FPSR(%a6)
1659 movel EXC_EA(%a6),%a1 |load destination address
1662 lea L_SCR1(%a6),%a0 |point to supervisor source address
1684 lea ETEMP(%a6),%a0
1687 btstb #7,STAG(%a6) |check for extended denorm
1692 lea ETEMP(%a6),%a0
1695 btstb #7,STAG(%a6) |check for extended denorm
1706 lea ETEMP(%a6),%a0
1710 btstb #7,STAG(%a6) |check for extended denorm
1725 bfextu FPCR_MODE(%a6){#2:#2},%d1 |rnd mode in d1
1734 movel EXC_EA(%a6),%a0
1736 bfextu CMDREG1B(%a6){#3:#3},%d1 |extract destination format
1759 bsetb #wbtemp15_bit,WB_BYTE(%a6) |set wbtemp15
1762 movel EXC_EA(%a6),%a0 |a0 has the destination pointer
1764 bsetb #unfl_bit,FPSR_EXCEPT(%a6)
1768 bsetb #etemp15_bit,STAG(%a6)
1778 bsetb #unfl_bit,FPSR_EXCEPT(%a6)
1782 bsetb #etemp15_bit,STAG(%a6)
1793 bsetb #unfl_bit,FPSR_EXCEPT(%a6)
1801 movel USER_FPSR(%a6),-(%a7)
1807 movel (%a7)+,USER_FPSR(%a6)
1814 movel EXC_EA(%a6),%a0 |a0 has the destination pointer
1817 oril #unfinx_mask,USER_FPSR(%a6)
1822 movel USER_FPSR(%a6),-(%a7)
1827 movel (%a7)+,USER_FPSR(%a6)
1834 movel EXC_EA(%a6),%a0 |a0 has the destination pointer
1837 oril #unfinx_mask,USER_FPSR(%a6)
1845 movel USER_FPSR(%a6),-(%a7)
1848 leal FP_SCR1(%a6),%a0 |use FP_SCR1 for creating result
1849 movel ETEMP_EX(%a6),(%a0)
1850 movel ETEMP_HI(%a6),4(%a0)
1851 movel ETEMP_LO(%a6),8(%a0)
1854 movel (%a7)+,USER_FPSR(%a6)
1857 movel EXC_EA(%a6),%a0
1859 orl #ovfinx_mask,USER_FPSR(%a6)
1864 movel USER_FPSR(%a6),-(%a7)
1867 leal FP_SCR1(%a6),%a0 |use FP_SCR1 for creating result
1868 movel ETEMP_EX(%a6),(%a0)
1869 movel ETEMP_HI(%a6),4(%a0)
1870 movel ETEMP_LO(%a6),8(%a0)
1873 movel (%a7)+,USER_FPSR(%a6)
1876 movel EXC_EA(%a6),%a0
1878 orl #ovfinx_mask,USER_FPSR(%a6)
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
1964 moveb #0,CU_SAVEPC(%a6) |set the cu save pc to all 0's
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