• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/m68k/ifpsp060/src/

Lines Matching refs:is

9 THE SOFTWARE is provided on an "AS IS" basis and without warranty.
24 so long as this entire notice is retained without alteration in any modified and/or
31 # This file is appended to the top of the 060ILSP package
588 bsr.l ssin # operand is a NORM
591 cmpi.b %d1,&ZERO # is operand a ZERO?
596 cmpi.b %d1,&INF # is operand an INF?
601 cmpi.b %d1,&QNAN # is operand a QNAN?
606 bsr.l ssind # operand is a DENORM
610 # Result is now in FP0
646 bsr.l ssin # operand is a NORM
649 cmpi.b %d1,&ZERO # is operand a ZERO?
654 cmpi.b %d1,&INF # is operand an INF?
659 cmpi.b %d1,&QNAN # is operand a QNAN?
664 bsr.l ssind # operand is a DENORM
668 # Result is now in FP0
704 bsr.l ssin # operand is a NORM
707 cmpi.b %d1,&ZERO # is operand a ZERO?
712 cmpi.b %d1,&INF # is operand an INF?
717 cmpi.b %d1,&QNAN # is operand a QNAN?
722 bsr.l ssind # operand is a DENORM
726 # Result is now in FP0
765 bsr.l scos # operand is a NORM
768 cmpi.b %d1,&ZERO # is operand a ZERO?
773 cmpi.b %d1,&INF # is operand an INF?
778 cmpi.b %d1,&QNAN # is operand a QNAN?
783 bsr.l scosd # operand is a DENORM
787 # Result is now in FP0
823 bsr.l scos # operand is a NORM
826 cmpi.b %d1,&ZERO # is operand a ZERO?
831 cmpi.b %d1,&INF # is operand an INF?
836 cmpi.b %d1,&QNAN # is operand a QNAN?
841 bsr.l scosd # operand is a DENORM
845 # Result is now in FP0
881 bsr.l scos # operand is a NORM
884 cmpi.b %d1,&ZERO # is operand a ZERO?
889 cmpi.b %d1,&INF # is operand an INF?
894 cmpi.b %d1,&QNAN # is operand a QNAN?
899 bsr.l scosd # operand is a DENORM
903 # Result is now in FP0
942 bsr.l ssinh # operand is a NORM
945 cmpi.b %d1,&ZERO # is operand a ZERO?
950 cmpi.b %d1,&INF # is operand an INF?
955 cmpi.b %d1,&QNAN # is operand a QNAN?
960 bsr.l ssinhd # operand is a DENORM
964 # Result is now in FP0
1000 bsr.l ssinh # operand is a NORM
1003 cmpi.b %d1,&ZERO # is operand a ZERO?
1008 cmpi.b %d1,&INF # is operand an INF?
1013 cmpi.b %d1,&QNAN # is operand a QNAN?
1018 bsr.l ssinhd # operand is a DENORM
1022 # Result is now in FP0
1058 bsr.l ssinh # operand is a NORM
1061 cmpi.b %d1,&ZERO # is operand a ZERO?
1066 cmpi.b %d1,&INF # is operand an INF?
1071 cmpi.b %d1,&QNAN # is operand a QNAN?
1076 bsr.l ssinhd # operand is a DENORM
1080 # Result is now in FP0
1119 bsr.l slognp1 # operand is a NORM
1122 cmpi.b %d1,&ZERO # is operand a ZERO?
1127 cmpi.b %d1,&INF # is operand an INF?
1132 cmpi.b %d1,&QNAN # is operand a QNAN?
1137 bsr.l slognp1d # operand is a DENORM
1141 # Result is now in FP0
1177 bsr.l slognp1 # operand is a NORM
1180 cmpi.b %d1,&ZERO # is operand a ZERO?
1185 cmpi.b %d1,&INF # is operand an INF?
1190 cmpi.b %d1,&QNAN # is operand a QNAN?
1195 bsr.l slognp1d # operand is a DENORM
1199 # Result is now in FP0
1235 bsr.l slognp1 # operand is a NORM
1238 cmpi.b %d1,&ZERO # is operand a ZERO?
1243 cmpi.b %d1,&INF # is operand an INF?
1248 cmpi.b %d1,&QNAN # is operand a QNAN?
1253 bsr.l slognp1d # operand is a DENORM
1257 # Result is now in FP0
1296 bsr.l setoxm1 # operand is a NORM
1299 cmpi.b %d1,&ZERO # is operand a ZERO?
1304 cmpi.b %d1,&INF # is operand an INF?
1309 cmpi.b %d1,&QNAN # is operand a QNAN?
1314 bsr.l setoxm1d # operand is a DENORM
1318 # Result is now in FP0
1354 bsr.l setoxm1 # operand is a NORM
1357 cmpi.b %d1,&ZERO # is operand a ZERO?
1362 cmpi.b %d1,&INF # is operand an INF?
1367 cmpi.b %d1,&QNAN # is operand a QNAN?
1372 bsr.l setoxm1d # operand is a DENORM
1376 # Result is now in FP0
1412 bsr.l setoxm1 # operand is a NORM
1415 cmpi.b %d1,&ZERO # is operand a ZERO?
1420 cmpi.b %d1,&INF # is operand an INF?
1425 cmpi.b %d1,&QNAN # is operand a QNAN?
1430 bsr.l setoxm1d # operand is a DENORM
1434 # Result is now in FP0
1473 bsr.l stanh # operand is a NORM
1476 cmpi.b %d1,&ZERO # is operand a ZERO?
1481 cmpi.b %d1,&INF # is operand an INF?
1486 cmpi.b %d1,&QNAN # is operand a QNAN?
1491 bsr.l stanhd # operand is a DENORM
1495 # Result is now in FP0
1531 bsr.l stanh # operand is a NORM
1534 cmpi.b %d1,&ZERO # is operand a ZERO?
1539 cmpi.b %d1,&INF # is operand an INF?
1544 cmpi.b %d1,&QNAN # is operand a QNAN?
1549 bsr.l stanhd # operand is a DENORM
1553 # Result is now in FP0
1589 bsr.l stanh # operand is a NORM
1592 cmpi.b %d1,&ZERO # is operand a ZERO?
1597 cmpi.b %d1,&INF # is operand an INF?
1602 cmpi.b %d1,&QNAN # is operand a QNAN?
1607 bsr.l stanhd # operand is a DENORM
1611 # Result is now in FP0
1650 bsr.l satan # operand is a NORM
1653 cmpi.b %d1,&ZERO # is operand a ZERO?
1658 cmpi.b %d1,&INF # is operand an INF?
1663 cmpi.b %d1,&QNAN # is operand a QNAN?
1668 bsr.l satand # operand is a DENORM
1672 # Result is now in FP0
1708 bsr.l satan # operand is a NORM
1711 cmpi.b %d1,&ZERO # is operand a ZERO?
1716 cmpi.b %d1,&INF # is operand an INF?
1721 cmpi.b %d1,&QNAN # is operand a QNAN?
1726 bsr.l satand # operand is a DENORM
1730 # Result is now in FP0
1766 bsr.l satan # operand is a NORM
1769 cmpi.b %d1,&ZERO # is operand a ZERO?
1774 cmpi.b %d1,&INF # is operand an INF?
1779 cmpi.b %d1,&QNAN # is operand a QNAN?
1784 bsr.l satand # operand is a DENORM
1788 # Result is now in FP0
1827 bsr.l sasin # operand is a NORM
1830 cmpi.b %d1,&ZERO # is operand a ZERO?
1835 cmpi.b %d1,&INF # is operand an INF?
1840 cmpi.b %d1,&QNAN # is operand a QNAN?
1845 bsr.l sasind # operand is a DENORM
1849 # Result is now in FP0
1885 bsr.l sasin # operand is a NORM
1888 cmpi.b %d1,&ZERO # is operand a ZERO?
1893 cmpi.b %d1,&INF # is operand an INF?
1898 cmpi.b %d1,&QNAN # is operand a QNAN?
1903 bsr.l sasind # operand is a DENORM
1907 # Result is now in FP0
1943 bsr.l sasin # operand is a NORM
1946 cmpi.b %d1,&ZERO # is operand a ZERO?
1951 cmpi.b %d1,&INF # is operand an INF?
1956 cmpi.b %d1,&QNAN # is operand a QNAN?
1961 bsr.l sasind # operand is a DENORM
1965 # Result is now in FP0
2004 bsr.l satanh # operand is a NORM
2007 cmpi.b %d1,&ZERO # is operand a ZERO?
2012 cmpi.b %d1,&INF # is operand an INF?
2017 cmpi.b %d1,&QNAN # is operand a QNAN?
2022 bsr.l satanhd # operand is a DENORM
2026 # Result is now in FP0
2062 bsr.l satanh # operand is a NORM
2065 cmpi.b %d1,&ZERO # is operand a ZERO?
2070 cmpi.b %d1,&INF # is operand an INF?
2075 cmpi.b %d1,&QNAN # is operand a QNAN?
2080 bsr.l satanhd # operand is a DENORM
2084 # Result is now in FP0
2120 bsr.l satanh # operand is a NORM
2123 cmpi.b %d1,&ZERO # is operand a ZERO?
2128 cmpi.b %d1,&INF # is operand an INF?
2133 cmpi.b %d1,&QNAN # is operand a QNAN?
2138 bsr.l satanhd # operand is a DENORM
2142 # Result is now in FP0
2181 bsr.l stan # operand is a NORM
2184 cmpi.b %d1,&ZERO # is operand a ZERO?
2189 cmpi.b %d1,&INF # is operand an INF?
2194 cmpi.b %d1,&QNAN # is operand a QNAN?
2199 bsr.l stand # operand is a DENORM
2203 # Result is now in FP0
2239 bsr.l stan # operand is a NORM
2242 cmpi.b %d1,&ZERO # is operand a ZERO?
2247 cmpi.b %d1,&INF # is operand an INF?
2252 cmpi.b %d1,&QNAN # is operand a QNAN?
2257 bsr.l stand # operand is a DENORM
2261 # Result is now in FP0
2297 bsr.l stan # operand is a NORM
2300 cmpi.b %d1,&ZERO # is operand a ZERO?
2305 cmpi.b %d1,&INF # is operand an INF?
2310 cmpi.b %d1,&QNAN # is operand a QNAN?
2315 bsr.l stand # operand is a DENORM
2319 # Result is now in FP0
2358 bsr.l setox # operand is a NORM
2361 cmpi.b %d1,&ZERO # is operand a ZERO?
2366 cmpi.b %d1,&INF # is operand an INF?
2371 cmpi.b %d1,&QNAN # is operand a QNAN?
2376 bsr.l setoxd # operand is a DENORM
2380 # Result is now in FP0
2416 bsr.l setox # operand is a NORM
2419 cmpi.b %d1,&ZERO # is operand a ZERO?
2424 cmpi.b %d1,&INF # is operand an INF?
2429 cmpi.b %d1,&QNAN # is operand a QNAN?
2434 bsr.l setoxd # operand is a DENORM
2438 # Result is now in FP0
2474 bsr.l setox # operand is a NORM
2477 cmpi.b %d1,&ZERO # is operand a ZERO?
2482 cmpi.b %d1,&INF # is operand an INF?
2487 cmpi.b %d1,&QNAN # is operand a QNAN?
2492 bsr.l setoxd # operand is a DENORM
2496 # Result is now in FP0
2535 bsr.l stwotox # operand is a NORM
2538 cmpi.b %d1,&ZERO # is operand a ZERO?
2543 cmpi.b %d1,&INF # is operand an INF?
2548 cmpi.b %d1,&QNAN # is operand a QNAN?
2553 bsr.l stwotoxd # operand is a DENORM
2557 # Result is now in FP0
2593 bsr.l stwotox # operand is a NORM
2596 cmpi.b %d1,&ZERO # is operand a ZERO?
2601 cmpi.b %d1,&INF # is operand an INF?
2606 cmpi.b %d1,&QNAN # is operand a QNAN?
2611 bsr.l stwotoxd # operand is a DENORM
2615 # Result is now in FP0
2651 bsr.l stwotox # operand is a NORM
2654 cmpi.b %d1,&ZERO # is operand a ZERO?
2659 cmpi.b %d1,&INF # is operand an INF?
2664 cmpi.b %d1,&QNAN # is operand a QNAN?
2669 bsr.l stwotoxd # operand is a DENORM
2673 # Result is now in FP0
2712 bsr.l stentox # operand is a NORM
2715 cmpi.b %d1,&ZERO # is operand a ZERO?
2720 cmpi.b %d1,&INF # is operand an INF?
2725 cmpi.b %d1,&QNAN # is operand a QNAN?
2730 bsr.l stentoxd # operand is a DENORM
2734 # Result is now in FP0
2770 bsr.l stentox # operand is a NORM
2773 cmpi.b %d1,&ZERO # is operand a ZERO?
2778 cmpi.b %d1,&INF # is operand an INF?
2783 cmpi.b %d1,&QNAN # is operand a QNAN?
2788 bsr.l stentoxd # operand is a DENORM
2792 # Result is now in FP0
2828 bsr.l stentox # operand is a NORM
2831 cmpi.b %d1,&ZERO # is operand a ZERO?
2836 cmpi.b %d1,&INF # is operand an INF?
2841 cmpi.b %d1,&QNAN # is operand a QNAN?
2846 bsr.l stentoxd # operand is a DENORM
2850 # Result is now in FP0
2889 bsr.l slogn # operand is a NORM
2892 cmpi.b %d1,&ZERO # is operand a ZERO?
2897 cmpi.b %d1,&INF # is operand an INF?
2902 cmpi.b %d1,&QNAN # is operand a QNAN?
2907 bsr.l slognd # operand is a DENORM
2911 # Result is now in FP0
2947 bsr.l slogn # operand is a NORM
2950 cmpi.b %d1,&ZERO # is operand a ZERO?
2955 cmpi.b %d1,&INF # is operand an INF?
2960 cmpi.b %d1,&QNAN # is operand a QNAN?
2965 bsr.l slognd # operand is a DENORM
2969 # Result is now in FP0
3005 bsr.l slogn # operand is a NORM
3008 cmpi.b %d1,&ZERO # is operand a ZERO?
3013 cmpi.b %d1,&INF # is operand an INF?
3018 cmpi.b %d1,&QNAN # is operand a QNAN?
3023 bsr.l slognd # operand is a DENORM
3027 # Result is now in FP0
3066 bsr.l slog10 # operand is a NORM
3069 cmpi.b %d1,&ZERO # is operand a ZERO?
3074 cmpi.b %d1,&INF # is operand an INF?
3079 cmpi.b %d1,&QNAN # is operand a QNAN?
3084 bsr.l slog10d # operand is a DENORM
3088 # Result is now in FP0
3124 bsr.l slog10 # operand is a NORM
3127 cmpi.b %d1,&ZERO # is operand a ZERO?
3132 cmpi.b %d1,&INF # is operand an INF?
3137 cmpi.b %d1,&QNAN # is operand a QNAN?
3142 bsr.l slog10d # operand is a DENORM
3146 # Result is now in FP0
3182 bsr.l slog10 # operand is a NORM
3185 cmpi.b %d1,&ZERO # is operand a ZERO?
3190 cmpi.b %d1,&INF # is operand an INF?
3195 cmpi.b %d1,&QNAN # is operand a QNAN?
3200 bsr.l slog10d # operand is a DENORM
3204 # Result is now in FP0
3243 bsr.l slog2 # operand is a NORM
3246 cmpi.b %d1,&ZERO # is operand a ZERO?
3251 cmpi.b %d1,&INF # is operand an INF?
3256 cmpi.b %d1,&QNAN # is operand a QNAN?
3261 bsr.l slog2d # operand is a DENORM
3265 # Result is now in FP0
3301 bsr.l slog2 # operand is a NORM
3304 cmpi.b %d1,&ZERO # is operand a ZERO?
3309 cmpi.b %d1,&INF # is operand an INF?
3314 cmpi.b %d1,&QNAN # is operand a QNAN?
3319 bsr.l slog2d # operand is a DENORM
3323 # Result is now in FP0
3359 bsr.l slog2 # operand is a NORM
3362 cmpi.b %d1,&ZERO # is operand a ZERO?
3367 cmpi.b %d1,&INF # is operand an INF?
3372 cmpi.b %d1,&QNAN # is operand a QNAN?
3377 bsr.l slog2d # operand is a DENORM
3381 # Result is now in FP0
3420 bsr.l scosh # operand is a NORM
3423 cmpi.b %d1,&ZERO # is operand a ZERO?
3428 cmpi.b %d1,&INF # is operand an INF?
3433 cmpi.b %d1,&QNAN # is operand a QNAN?
3438 bsr.l scoshd # operand is a DENORM
3442 # Result is now in FP0
3478 bsr.l scosh # operand is a NORM
3481 cmpi.b %d1,&ZERO # is operand a ZERO?
3486 cmpi.b %d1,&INF # is operand an INF?
3491 cmpi.b %d1,&QNAN # is operand a QNAN?
3496 bsr.l scoshd # operand is a DENORM
3500 # Result is now in FP0
3536 bsr.l scosh # operand is a NORM
3539 cmpi.b %d1,&ZERO # is operand a ZERO?
3544 cmpi.b %d1,&INF # is operand an INF?
3549 cmpi.b %d1,&QNAN # is operand a QNAN?
3554 bsr.l scoshd # operand is a DENORM
3558 # Result is now in FP0
3597 bsr.l sacos # operand is a NORM
3600 cmpi.b %d1,&ZERO # is operand a ZERO?
3605 cmpi.b %d1,&INF # is operand an INF?
3610 cmpi.b %d1,&QNAN # is operand a QNAN?
3615 bsr.l sacosd # operand is a DENORM
3619 # Result is now in FP0
3655 bsr.l sacos # operand is a NORM
3658 cmpi.b %d1,&ZERO # is operand a ZERO?
3663 cmpi.b %d1,&INF # is operand an INF?
3668 cmpi.b %d1,&QNAN # is operand a QNAN?
3673 bsr.l sacosd # operand is a DENORM
3677 # Result is now in FP0
3713 bsr.l sacos # operand is a NORM
3716 cmpi.b %d1,&ZERO # is operand a ZERO?
3721 cmpi.b %d1,&INF # is operand an INF?
3726 cmpi.b %d1,&QNAN # is operand a QNAN?
3731 bsr.l sacosd # operand is a DENORM
3735 # Result is now in FP0
3774 bsr.l sgetexp # operand is a NORM
3777 cmpi.b %d1,&ZERO # is operand a ZERO?
3782 cmpi.b %d1,&INF # is operand an INF?
3787 cmpi.b %d1,&QNAN # is operand a QNAN?
3792 bsr.l sgetexpd # operand is a DENORM
3796 # Result is now in FP0
3832 bsr.l sgetexp # operand is a NORM
3835 cmpi.b %d1,&ZERO # is operand a ZERO?
3840 cmpi.b %d1,&INF # is operand an INF?
3845 cmpi.b %d1,&QNAN # is operand a QNAN?
3850 bsr.l sgetexpd # operand is a DENORM
3854 # Result is now in FP0
3890 bsr.l sgetexp # operand is a NORM
3893 cmpi.b %d1,&ZERO # is operand a ZERO?
3898 cmpi.b %d1,&INF # is operand an INF?
3903 cmpi.b %d1,&QNAN # is operand a QNAN?
3908 bsr.l sgetexpd # operand is a DENORM
3912 # Result is now in FP0
3951 bsr.l sgetman # operand is a NORM
3954 cmpi.b %d1,&ZERO # is operand a ZERO?
3959 cmpi.b %d1,&INF # is operand an INF?
3964 cmpi.b %d1,&QNAN # is operand a QNAN?
3969 bsr.l sgetmand # operand is a DENORM
3973 # Result is now in FP0
4009 bsr.l sgetman # operand is a NORM
4012 cmpi.b %d1,&ZERO # is operand a ZERO?
4017 cmpi.b %d1,&INF # is operand an INF?
4022 cmpi.b %d1,&QNAN # is operand a QNAN?
4027 bsr.l sgetmand # operand is a DENORM
4031 # Result is now in FP0
4067 bsr.l sgetman # operand is a NORM
4070 cmpi.b %d1,&ZERO # is operand a ZERO?
4075 cmpi.b %d1,&INF # is operand an INF?
4080 cmpi.b %d1,&QNAN # is operand a QNAN?
4085 bsr.l sgetmand # operand is a DENORM
4089 # Result is now in FP0
4128 bsr.l ssincos # operand is a NORM
4131 cmpi.b %d1,&ZERO # is operand a ZERO?
4136 cmpi.b %d1,&INF # is operand an INF?
4141 cmpi.b %d1,&QNAN # is operand a QNAN?
4146 bsr.l ssincosd # operand is a DENORM
4150 # Result is now in FP0
4188 bsr.l ssincos # operand is a NORM
4191 cmpi.b %d1,&ZERO # is operand a ZERO?
4196 cmpi.b %d1,&INF # is operand an INF?
4201 cmpi.b %d1,&QNAN # is operand a QNAN?
4206 bsr.l ssincosd # operand is a DENORM
4210 # Result is now in FP0
4248 bsr.l ssincos # operand is a NORM
4251 cmpi.b %d1,&ZERO # is operand a ZERO?
4256 cmpi.b %d1,&INF # is operand an INF?
4261 cmpi.b %d1,&QNAN # is operand a QNAN?
4266 bsr.l ssincosd # operand is a DENORM
4270 # Result is now in FP0
4320 bsr.l srem_snorm # operand is a NORM
4323 cmpi.b %d1,&ZERO # is operand a ZERO?
4328 cmpi.b %d1,&INF # is operand an INF?
4333 cmpi.b %d1,&QNAN # is operand a QNAN?
4338 bsr.l srem_sdnrm # operand is a DENORM
4342 # Result is now in FP0
4386 bsr.l srem_snorm # operand is a NORM
4389 cmpi.b %d1,&ZERO # is operand a ZERO?
4394 cmpi.b %d1,&INF # is operand an INF?
4399 cmpi.b %d1,&QNAN # is operand a QNAN?
4404 bsr.l srem_sdnrm # operand is a DENORM
4408 # Result is now in FP0
4454 bsr.l srem_snorm # operand is a NORM
4457 cmpi.b %d1,&ZERO # is operand a ZERO?
4462 cmpi.b %d1,&INF # is operand an INF?
4467 cmpi.b %d1,&QNAN # is operand a QNAN?
4472 bsr.l srem_sdnrm # operand is a DENORM
4476 # Result is now in FP0
4524 bsr.l smod_snorm # operand is a NORM
4527 cmpi.b %d1,&ZERO # is operand a ZERO?
4532 cmpi.b %d1,&INF # is operand an INF?
4537 cmpi.b %d1,&QNAN # is operand a QNAN?
4542 bsr.l smod_sdnrm # operand is a DENORM
4546 # Result is now in FP0
4590 bsr.l smod_snorm # operand is a NORM
4593 cmpi.b %d1,&ZERO # is operand a ZERO?
4598 cmpi.b %d1,&INF # is operand an INF?
4603 cmpi.b %d1,&QNAN # is operand a QNAN?
4608 bsr.l smod_sdnrm # operand is a DENORM
4612 # Result is now in FP0
4658 bsr.l smod_snorm # operand is a NORM
4661 cmpi.b %d1,&ZERO # is operand a ZERO?
4666 cmpi.b %d1,&INF # is operand an INF?
4671 cmpi.b %d1,&QNAN # is operand a QNAN?
4676 bsr.l smod_sdnrm # operand is a DENORM
4680 # Result is now in FP0
4728 bsr.l sscale_snorm # operand is a NORM
4731 cmpi.b %d1,&ZERO # is operand a ZERO?
4736 cmpi.b %d1,&INF # is operand an INF?
4741 cmpi.b %d1,&QNAN # is operand a QNAN?
4746 bsr.l sscale_sdnrm # operand is a DENORM
4750 # Result is now in FP0
4794 bsr.l sscale_snorm # operand is a NORM
4797 cmpi.b %d1,&ZERO # is operand a ZERO?
4802 cmpi.b %d1,&INF # is operand an INF?
4807 cmpi.b %d1,&QNAN # is operand a QNAN?
4812 bsr.l sscale_sdnrm # operand is a DENORM
4816 # Result is now in FP0
4862 bsr.l sscale_snorm # operand is a NORM
4865 cmpi.b %d1,&ZERO # is operand a ZERO?
4870 cmpi.b %d1,&INF # is operand an INF?
4875 cmpi.b %d1,&QNAN # is operand a QNAN?
4880 bsr.l sscale_sdnrm # operand is a DENORM
4884 # Result is now in FP0
4913 # The returned result is within 1 ulp in 64 significant bit, i.e. #
4914 # within 0.5001 ulp to 53 bits if the result is subsequently #
4915 # rounded to double precision. The result is provably monotonic #
4921 # 1. If SIN is invoked, set AdjN := 0; otherwise, set AdjN := 1. #
4929 # 4. If k is even, go to 6. #
4931 # 5. (k is odd) Set j := (k-1)/2, sgn := (-1)**j. #
4932 # Return sgn*cos(r) where cos(r) is approximated by an #
4937 # 6. (k is even) Set j := k/2, sgn := (-1)**j. Return sgn*sin(r) #
4938 # where sin(r) is approximated by an odd polynomial in r #
4944 # 8. (|X|<2**(-40)) If SIN is invoked, return X; #
4956 # 3. If k is even, go to 5. #
4958 # 4. (k is odd) Set j1 := (k-1)/2, j2 := j1 (EOR) (k mod 2), ie. #
4965 # 5. (k is even) Set j1 := k/2, sgn1 := (-1)**j1. #
5036 cmpi.l %d1,&0x3FD78000 # is |X| >= 2**(-40)?
5038 bra.w SINSM # yes; input is very small
5041 cmp.l %d1,&0x4004BC7E # is |X| < 15 PI?
5043 bra.w SREDUCEX # yes; input is very large
5203 # here, the operation may underflow iff the precision is sgl or dbl.
5209 mov.b &FMOV_OP,%d1 # last inst is MOVE
5445 mov.b &FMOV_OP,%d1 # last inst is MOVE
5470 #--If compact form of abs(arg) in d0=$7ffeffff, argument is so large that
5471 #--there is a danger of unwanted overflow in first LOOP iteration. In this
5474 cmp.l %d1,&0x7ffeffff # is arg dangerously large?
5493 fadd.x FP_SCR0(%a6),%fp0 # high part of reduction is exact
5501 #--Intermeditate remainder is 66-bit long; (R,r) in (FP0,FP1)
5586 #--No need to calculate r if this is the last loop
5618 # The returned result is within 3 ulp in 64 significant bit, i.e. #
5619 # within 0.5001 ulp to 53 bits if the result is subsequently #
5620 # rounded to double precision. The result is provably monotonic #
5630 # 3. If k is odd, go to 5. #
5632 # 4. (k is even) Tan(X) = tan(r) and tan(r) is approximated by a #
5638 # 4. (k is odd) Tan(X) = -cot(r). Since tan(r) is approximated by #
5884 mov.b &FMOV_OP,%d1 # last inst is MOVE
5901 #--If compact form of abs(arg) in d0=$7ffeffff, argument is so large that
5902 #--there is a danger of unwanted overflow in first LOOP iteration. In this
5905 cmp.l %d1,&0x7ffeffff # is arg dangerously large?
5924 fadd.x FP_SCR0(%a6),%fp0 # high part of reduction is exact
5932 #--Intermeditate remainder is 66-bit long; (R,r) in (FP0,FP1)
6017 #--No need to calculate r if this is the last loop
6048 # The returned result is within 2 ulps in 64 significant bit, #
6049 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
6050 # rounded to double precision. The result is provably monotonic #
6064 # Step 4. Return arctan(F) + poly, arctan(F) is fetched from a #
6399 mov.b &FMOV_OP,%d1 # last inst is MOVE
6498 # The returned result is within 3 ulps in 64 significant bit, #
6499 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
6500 # rounded to double precision. The result is provably monotonic #
6532 # This catch is added here for the '060 QSP. Originally, the call to
6578 mov.b &FMOV_OP,%d1 # last inst is MOVE
6599 # The returned result is within 3 ulps in 64 significant bit, #
6600 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
6601 # rounded to double precision. The result is provably monotonic #
6660 tst.b (%a0) # is X positive or negative?
6672 bra ld_pzero # answer is positive zero
6695 # The returned result is within 0.85 ulps in 64 significant bit, #
6696 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
6697 # rounded to double precision. The result is provably monotonic #
6720 # compact representation of |X| is used. This format is a #
6727 # 16380 log(2) used in Step 1.3 is also in the compact #
6729 # |X| < 16380 log(2). There is no harm to have a small #
6730 # number of cases where |X| is less than, but close to, #
6731 # 16380 log(2) and the branch to Step 9 is taken. #
6743 # Notes: The calculation in 2.2 is really performed by #
6751 # "constant" is that the calculated value Z is #
6764 # b) N*L1 is exact because N is no longer than 22 bits #
6765 # and L1 is no longer than 24 bits. #
6766 # c) The calculation X+N*L1 is also exact due to #
6767 # cancellation. Thus, R is practically X+N(L1+L2) to full #
6769 # d) It is important to estimate how large can |R| be #
6787 # are made as "short" as possible: A1 (which is 1/2), A4 #
6792 # Note that 0.0062 is slightly bigger than 0.57 log2/64. #
6793 # c) To fully utilize the pipeline, p is separated into #
6802 # Notes: 2^(J/64) is stored as T and t where T+t approximates #
6803 # 2^(J/64) to roughly 85 bits; T is in extended precision #
6804 # and t is in single precision. Note also that T is #
6806 # zero. The reason for such a special form is that T-1, #
6823 # When that is the case, AdjScale = 2^(M1) where M1 is #
6825 # over/underflow. Possible exception in 6.4 is overflow #
6826 # or underflow. The inexact exception is not generated in #
6829 # cost to much than the flag is worth in practical uses. #
6836 # raised by 7.3. That is the only exception raised by 7.3.#
6839 # the FMOVEM may not seem relevant since X is normalized, #
6887 # However, it is conceivable |X| can be small very often #
6888 # because EXPM1 is intended to evaluate exp(X)-1 #
6889 # accurately when |X| is small. For further details on #
6915 # are made as "short" as possible: A1 (which is 1/2), A5 #
6921 # c) To fully utilize the pipeline, p is separated into #
6930 # Notes: 2^(J/64) is stored as T and t where T+t approximates #
6931 # 2^(J/64) to roughly 85 bits; T is in extended precision #
6932 # and t is in single precision. Note also that T is #
6934 # zero. The reason for such a special form is that T-1, #
6937 # in p is no bigger than 2^(-67.7) compared to the final #
6963 # Notes: The idea is to return "X - tiny" under the user #
6973 # are made as "short" as possible: B1 (which is 1/2), B9 #
6975 # precision; and B2 is double extended. #
6979 # Note that 0.251 is slightly bigger than 1/4. #
6980 # c) To fully preserve accuracy, the polynomial is #
6984 # d) To fully utilize the pipeline, Q is separated into #
7102 #--entry point for EXP(X), here X is finite, non-zero, and not NaN's
7120 #--This is the normal branch: 2^(-65) <= |X| < 16380 log2.
7132 and.l &0x3F,%d1 # D0 is J = N mod 64
7136 asr.l &6,%d1 # D0 is M
7142 #--fp1,fp2 saved on the stack. fp0 is N, fp1 is X,
7143 #--a0 points to 2^(J/64), D0 is biased expo. of 2^(M)
7148 fadd.x %fp2,%fp0 # fp0 is R, reduced arg.
7169 mov.w %d1,SCALE(%a6) # SCALE is 2^(M) in extended
7181 fmov.x (%a1)+,%fp1 # fp1 is lead. pt. of 2^(J/64)
7182 fadd.x %fp2,%fp0 # fp0 is EXP(R) - 1
7202 mov.b &FMUL_OP,%d1 # last inst is MUL
7228 and.l &0x3F,%d1 # D0 is J = N mod 64
7232 asr.l &6,%d1 # D0 is K
7234 asr.l &1,%d1 # D0 is M1
7235 sub.l %d1,L_SCR1(%a6) # a1 is M
7240 mov.l L_SCR1(%a6),%d1 # D0 is M
7246 tst.b (%a0) # is X positive or negative?
7252 #--entry point for EXP(X), X is denormalized
7265 #--entry point for EXPM1(X), here X is finite, non-zero, non-NaN
7285 #--This is the case: 1/4 <= |X| <= 70 log2.
7296 and.l &0x3F,%d1 # D0 is J = N mod 64
7300 asr.l &6,%d1 # D0 is M
7304 #--fp1,fp2 saved on the stack. fp0 is N, fp1 is X,
7310 fadd.x %fp2,%fp0 # fp0 is R, reduced arg.
7311 add.w &0x3FFF,%d1 # D0 is biased expo. of 2^M
7330 mov.w %d1,SC(%a6) # SC is 2^(M) in extended
7335 mov.l L_SCR1(%a6),%d1 # D0 is M
7336 neg.w %d1 # D0 is -M
7344 mov.w %d1,ONEBYSC(%a6) # OnebySc is -2^(-M)
7367 fmov.s 12(%a1),%fp1 # fp1 is t
7368 fadd.x ONEBYSC(%a6),%fp1 # fp1 is t+OnebySc
7384 fmov.x (%a1)+,%fp1 # fp1 is T
7385 fadd.s (%a1),%fp0 # fp0 is p+t
7386 fadd.x ONEBYSC(%a6),%fp1 # fp1 is T+OnebySc
7405 mov.l &0x80010000,SC(%a6) # SC is -2^(-16382)
7410 mov.b &FADD_OP,%d1 # last inst is ADD
7423 mov.b &FMUL_OP,%d1 # last inst is MUL
7429 fmov.x (%a0),%fp0 # fp0 is X
7430 fmul.x %fp0,%fp0 # fp0 is S := X*X
7432 fmov.s &0x2F30CAA8,%fp1 # fp1 is B12
7433 fmul.x %fp0,%fp1 # fp1 is S*B12
7434 fmov.s &0x310F8290,%fp2 # fp2 is B11
7435 fadd.s &0x32D73220,%fp1 # fp1 is B10+S*B12
7437 fmul.x %fp0,%fp2 # fp2 is S*B11
7438 fmul.x %fp0,%fp1 # fp1 is S*(B10 + ...
7440 fadd.s &0x3493F281,%fp2 # fp2 is B9+S*...
7441 fadd.d EM1B8(%pc),%fp1 # fp1 is B8+S*...
7443 fmul.x %fp0,%fp2 # fp2 is S*(B9+...
7444 fmul.x %fp0,%fp1 # fp1 is S*(B8+...
7446 fadd.d EM1B7(%pc),%fp2 # fp2 is B7+S*...
7447 fadd.d EM1B6(%pc),%fp1 # fp1 is B6+S*...
7449 fmul.x %fp0,%fp2 # fp2 is S*(B7+...
7450 fmul.x %fp0,%fp1 # fp1 is S*(B6+...
7452 fadd.d EM1B5(%pc),%fp2 # fp2 is B5+S*...
7453 fadd.d EM1B4(%pc),%fp1 # fp1 is B4+S*...
7455 fmul.x %fp0,%fp2 # fp2 is S*(B5+...
7456 fmul.x %fp0,%fp1 # fp1 is S*(B4+...
7458 fadd.d EM1B3(%pc),%fp2 # fp2 is B3+S*...
7459 fadd.x EM1B2(%pc),%fp1 # fp1 is B2+S*...
7461 fmul.x %fp0,%fp2 # fp2 is S*(B3+...
7462 fmul.x %fp0,%fp1 # fp1 is S*(B2+...
7464 fmul.x %fp0,%fp2 # fp2 is S*S*(B3+...)
7465 fmul.x (%a0),%fp1 # fp1 is X*S*(B2...
7467 fmul.s &0x3F000000,%fp0 # fp0 is S*B1
7468 fadd.x %fp2,%fp1 # fp1 is Q
7472 fadd.x %fp1,%fp0 # fp0 is S*B1+Q
7484 fmov.s &0xBF800000,%fp0 # fp0 is -1
7491 #--entry point for EXPM1(X), here X is denormalized
7497 # The exponent bias is removed and the exponent value is #
7502 # mantissa is converted to an extended precision number w/ #
7503 # an exponent of $3fff and is returned in fp0. The range of #
7504 # the result is [1.0 - 2.0). #
7576 # The returned result is within 3 ulps in 64 significant bit, #
7577 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
7578 # rounded to double precision. The result is provably monotonic #
7586 # 2. (|X| <= 16380 log2) Cosh(X) is obtained by the formulae #
7605 # the appropriate sign. Huge is the largest finite number #
7641 mov.b &FADD_OP,%d1 # last inst is ADD
7662 mov.b &FMUL_OP,%d1 # last inst is MUL
7690 # The returned result is within 3 ulps in 64 significant bit, #
7691 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
7692 # rounded to double precision. The result is provably monotonic #
7700 # 2. (|X| <= 16380 log2) Sinh(X) is obtained by the formula #
7720 # the appropriate sign. Huge is the largest finite number in #
7761 mov.b &FMUL_OP,%d1 # last inst is MUL
7787 mov.b &FMUL_OP,%d1 # last inst is MUL
7808 # The returned result is within 3 ulps in 64 significant bit, #
7809 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
7810 # rounded to double precision. The result is provably monotonic #
7859 cmp.l %d1, &0x3fd78000 # is |X| < 2^(-40)?
7861 cmp.l %d1, &0x3fffddce # is |X| > (5/2)LOG2?
7932 mov.b &FADD_OP,%d1 # last inst is ADD
7938 mov.b &FMOV_OP,%d1 # last inst is MOVE
7974 # The returned result is within 2 ulps in 64 significant bit, #
7975 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
7976 # rounded to double precision. The result is provably monotonic #
8321 # if the input is exactly equal to one, then exit through ld_pzero.
8324 fcmp.b %fp0,&0x1 # is it equal to one?
8386 #----the value TWOTO100 is no longer needed.
8387 #----Note that this code assumes the denormalized input is NON-ZERO.
8390 mov.l (%a0),%d3 # D3 is exponent of smallest norm. #
8392 mov.l 8(%a0),%d5 # (D4,D5) is (Hi_X,Lo_X)
8405 add.l %d6,%d2 # (D3,D4,D5) is normalized
8447 mov.b &FMOV_OP,%d1 # last inst is MOVE
8569 # The returned result is within 3 ulps in 64 significant bit, #
8570 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
8571 # rounded to double precision. The result is provably monotonic #
8630 mov.b &FMUL_OP,%d1 # last inst is MUL
8659 # The returned result is within 1.7 ulps in 64 significant bit, #
8660 # i.e. within 0.5003 ulp to 53 bits if the result is subsequently #
8661 # rounded to double precision. The result is provably monotonic #
8674 # Notes: Even if X is denormalized, log(X) is always normalized. #
8701 # Notes: Even if X is denormalized, log(X) is always normalized. #
8714 # Step 1. If X is not an integer power of two, i.e., X != 2^k, #
8737 #--entry point for Log10(X), X is normalized
8753 #--entry point for Log10(X), X is denormalized
8765 #--entry point for Log2(X), X is normalized
8771 bne.b continue # X is not 2^k
8798 #--entry point for Log2(X), X is denormalized
8823 # The returned result is within 2 ulps in 64 significant bit, #
8824 # i.e. within 0.5001 ulp to 53 bits if the result is subsequently #
8825 # rounded to double precision. The result is provably monotonic #
8855 # log_10(2)/64 and L10 is the natural log of 10. Then #
9189 mov.b &FMUL_OP,%d1 # last inst is MUL
9206 # operand. If the absoulute value of the source operand is #
9207 # >= 2^14, an overflow or underflow is returned. #
9230 cmpi.w %d0,&0x3fff # is src ~ ZERO?
9232 cmpi.w %d0,&0x400c # no; is src too big?
9236 # Source is within 2^14 range.
9245 tst.b DST_HI(%a1) # is dst denormalized?
9248 # the dst is a DENORM. normalize the DENORM and add the adjustment to
9264 cmpi.w %d0,&-0x3fff # is the shft amt really low?
9272 # is slower. but, don't fret, I don't see it being used much either.
9277 cmpi.b %d0,&0x20 # is it > 32?
9307 mov.b &FMUL_OP,%d1 # last inst is MUL
9312 # Source is outside of 2^14 range. Test the sign and branch
9318 tst.b SRC_EX(%a1) # is src negative?
9323 # The source input is below 1, so we check for denormalized numbers
9327 tst.b DST_HI(%a1) # is dst denormalized?
9332 mov.b &FMOV_OP,%d1 # last inst is MOVE
9360 # is requested. #
9378 # MOD is requested, go to Step 6. #
9380 # Step 5. R = MOD(X,Y), but REM(X,Y) is requested. #
9385 # 5.3 This is the tricky case of R = Y/2. If Q is odd, #
9440 mov.l SRC_LO(%a0),%d5 # (D3,D4,D5) is |Y|
9456 sub.l %d6,%d3 # (D3,D4,D5) is normalized
9487 mov.l DST_LO(%a1),%d2 # (D0,D1,D2) is |X|
9501 sub.l %d6,%d0 # (D0,D1,D2) is normalized
9530 clr.l %d3 # D3 is Q
9531 mov.l &0,%a1 # A1 is k; j+k=L, Q=0
9533 #..(Carry,D1,D2) is R
9560 bcs.b R_LT_Y # borrow is set iff R < Y
9563 #..If Carry is set, then Y < (Carry,D1,D2) < 2Y. Otherwise, Carry = 0
9600 sub.l %d6,%d0 # (D0,D1,D2) is normalized
9682 mov.w SignQ(%a6),%d6 # D6 is sign(Q)
9701 mov.b &FMUL_OP,%d1 # last inst is MUL
9712 mov.b &FMOV_OP,%d1 # last inst is MOVE
9719 cmp.l %d0,&8 # D0 is j
9738 beq.w Fix_Sign # Q is even
9740 #..Q is odd, Q := Q + 1, signX := -signX
9751 # This routine is used by the 060FPLSP. #
9775 cmpi.w %d0, &0x7fff # is (EXP == MAX)?
9784 tst.w %d0 # is exponent = 0?
9807 and.l &0x7fffffff, %d0 # msb is a don't care!
9838 # a DZ exception should occur for the instruction. If DZ is disabled, #
9840 # If DZ is enabled, the dst operand should be returned unscathed #
9841 # in fp0 while fp1 is used to create a DZ exception so that the #
9858 # dz is disabled. return a -INF.
9862 # dz is enabled. create a dz exception so the user can record it
9877 # dz is disabled. return a +INF.
9881 # dz is enabled. create a dz exception so the user can record it
9894 # This routine is used by the 060FPLSP package. #
9908 # emulation in the 060FPLSP. If OPERR is disabled, just return a NAN #
9909 # in fp0. If OPERR is enabled, return the dst operand unscathed in fp0 #
9922 # operr is disabled. return a QNAN in fp0
9926 # operr is enabled. create an operr exception so the user can record it
9952 # This routine is used by the 060FPLSP package. #
10009 # This routine is used by the 060FPLSP package. #
10037 # dst op is a DENORM. we have to normalize the mantissa to see if the
10048 cmpi.b %d1,&0x40 # is precision sgl?
10051 tst.l LOCAL_LO(%a0) # is lo lw of sgl set?
10053 tst.b 3+LOCAL_HI(%a0) # is lo byte of hi lw set?
10156 # 060FPLSP should be inexact. So, if inexact is enabled, then we create #
10179 btst &inex2_bit,FPCR_ENABLE(%a6) # is inexact enabled?
10198 # This routine is used by the 060FPLSP package. #
10211 # f(x)=x, this is the entry point. #
10212 # DENORM value is moved using "fmove" which triggers an exception #
10238 # This is used by fsincos library emulation. The correct
10248 # dst_qnan --- force result when destination is a NaN
10263 # src_qnan --- force result when source is a NaN
10620 # ssincosz(): When the src operand is ZERO, store a one in the
10638 # ssincosi(): When the src operand is INF, store a QNAN in the cosine
10648 # ssincosqnan(): When the src operand is a QNAN, store the QNAN in the cosine
10831 # a0 = the input operand's mantissa is normalized; the exponent #
10832 # is unchanged. #
10844 beq.b norm_lo # hi(man) is all zeroes!
10869 clr.l FTEMP_LO(%a0) # lo(man) is now zero
10892 # d0 = optype tag - is corrected to one of NORM, DENORM, or ZERO #
10901 bne.b unnorm_shift # hi(man) is not all zeroes
10904 # hi(man) is all zeroes so see if any bits in lo(man) are set
10907 bfffo FTEMP_LO(%a0){&0:&32}, %d0 # is operand really a zero?
10941 cmp.b %d1, &32 # is exp <= 32?
10974 # whole mantissa is zero so this UNNORM is actually a zero