home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2350 / att.pats
Encoding:
Text File  |  1990-12-28  |  39.6 KB  |  2,078 lines

  1. *** ../_getsw.s    Sun Dec  9 18:13:52 1990
  2. --- _getsw.s    Mon Dec 17 15:02:29 1990
  3. ***************
  4. *** 1,11 ****
  5. ! /*
  6. ! ** This file is part of the alternative 80386 math library and is
  7. ! ** covered by the GNU General Public license with my modification
  8. ! ** as noted in the README file that accompanied this file.
  9. ! **
  10. ! ** Copyright 1990 G. Geers
  11. ! **
  12. ! */
  13.   
  14.           .align 4
  15.           .globl _getsw
  16. --- 1,11 ----
  17. ! //
  18. ! // This file is part of the alternative 80386 math library and is
  19. ! // covered by the GNU General Public license with my modification
  20. ! // as noted in the README file that accompanied this file.
  21. ! //
  22. ! // Copyright 1990 G. Geers
  23. ! //
  24. ! //
  25.   
  26.           .align 4
  27.           .globl _getsw
  28. *** ../acos.s    Sun Dec  9 18:13:52 1990
  29. --- acos.s    Mon Dec 17 14:06:57 1990
  30. ***************
  31. *** 1,11 ****
  32. ! /*
  33. ! ** This file is part of the alternative 80386 math library and is
  34. ! ** covered by the GNU General Public license with my modification
  35. ! ** as noted in the README file that accompanied this file.
  36. ! **
  37. ! ** Copyright 1990 G. Geers
  38. ! **
  39. ! */
  40.   
  41.       .align 4
  42.   .Lhalfpi:
  43. --- 1,11 ----
  44. ! //
  45. ! // This file is part of the alternative 80386 math library and is
  46. ! // covered by the GNU General Public license with my modification
  47. ! // as noted in the README file that accompanied this file.
  48. ! //
  49. ! // Copyright 1990 G. Geers
  50. ! //
  51. ! //
  52.   
  53.       .align 4
  54.   .Lhalfpi:
  55. ***************
  56. *** 27,41 ****
  57.       fst %st(1)
  58.       fmull 8(%ebp)
  59.       fld1
  60. !     fsubp
  61.       fsqrt
  62. !     fdivp
  63.       fld1
  64.       fpatan
  65.       jnc .Ldone
  66.   
  67.       fldpi
  68. !     faddp
  69.       leave
  70.       ret
  71.   
  72. --- 27,41 ----
  73.       fst %st(1)
  74.       fmull 8(%ebp)
  75.       fld1
  76. !     fsubp %st, %st(1)
  77.       fsqrt
  78. !     fdivp %st, %st(1)
  79.       fld1
  80.       fpatan
  81.       jnc .Ldone
  82.   
  83.       fldpi
  84. !     faddp %st, %st(1)
  85.       leave
  86.       ret
  87.   
  88. *** ../acosh.s    Sun Dec  9 18:13:52 1990
  89. --- acosh.s    Tue Dec 18 06:51:37 1990
  90. ***************
  91. *** 1,11 ****
  92. ! /*
  93. ! ** This file is part of the alternative 80386 math library and is
  94. ! ** covered by the GNU General Public license with my modification
  95. ! ** as noted in the README file that accompanied this file.
  96. ! **
  97. ! ** Copyright 1990 G. Geers
  98. ! **
  99. ! */
  100.   
  101.       .align 4
  102.       .globl acosh
  103. --- 1,11 ----
  104. ! //
  105. ! // This file is part of the alternative 80386 math library and is
  106. ! // covered by the GNU General Public license with my modification
  107. ! // as noted in the README file that accompanied this file.
  108. ! //
  109. ! // Copyright 1990 G. Geers
  110. ! //
  111. ! //
  112.   
  113.       .align 4
  114.       .globl acosh
  115. ***************
  116. *** 17,23 ****
  117.   
  118.       fmull 8(%ebp)
  119.       fld1
  120. !     fsubrp
  121.       fsqrt
  122.       faddl 8(%ebp)
  123.       fldln2
  124. --- 17,23 ----
  125.   
  126.       fmull 8(%ebp)
  127.       fld1
  128. !     fsubrp %st, %st(1)
  129.       fsqrt
  130.       faddl 8(%ebp)
  131.       fldln2
  132. *** ../asin.s    Sun Dec  9 18:13:52 1990
  133. --- asin.s    Mon Dec 17 14:10:03 1990
  134. ***************
  135. *** 1,11 ****
  136. ! /*
  137. ! ** This file is part of the alternative 80386 math library and is
  138. ! ** covered by the GNU General Public license with my modification
  139. ! ** as noted in the README file that accompanied this file.
  140. ! **
  141. ! ** Copyright 1990 G. Geers
  142. ! **
  143. ! */
  144.   
  145.       .align 4
  146.       .globl asin
  147. --- 1,11 ----
  148. ! //
  149. ! // This file is part of the alternative 80386 math library and is
  150. ! // covered by the GNU General Public license with my modification
  151. ! // as noted in the README file that accompanied this file.
  152. ! //
  153. ! // Copyright 1990 G. Geers
  154. ! //
  155. ! //
  156.   
  157.       .align 4
  158.       .globl asin
  159. ***************
  160. *** 16,28 ****
  161.       fldl 8(%ebp)
  162.       fst %st(1)
  163.       fst %st(2)
  164. !     fmulp
  165.       fld1
  166. !     fsubp
  167.       fsqrt
  168.       fld1
  169. !     fdivp
  170. !     fmulp
  171.       fld1
  172.       fpatan
  173.   
  174. --- 16,28 ----
  175.       fldl 8(%ebp)
  176.       fst %st(1)
  177.       fst %st(2)
  178. !     fmulp %st, %st(1)
  179.       fld1
  180. !     fsubp %st, %st(1)
  181.       fsqrt
  182.       fld1
  183. !     fdivp %st, %st(1)
  184. !     fmulp %st, %st(1)
  185.       fld1
  186.       fpatan
  187.   
  188. *** ../asinh.s    Sun Dec  9 18:13:52 1990
  189. --- asinh.s    Mon Dec 17 14:11:34 1990
  190. ***************
  191. *** 1,11 ****
  192. ! /*
  193. ! ** This file is part of the alternative 80386 math library and is
  194. ! ** covered by the GNU General Public license with my modification
  195. ! ** as noted in the README file that accompanied this file.
  196. ! **
  197. ! ** Copyright 1990 G. Geers
  198. ! **
  199. ! */
  200.   
  201.       .align 4
  202.       .globl asinh
  203. --- 1,11 ----
  204. ! //
  205. ! // This file is part of the alternative 80386 math library and is
  206. ! // covered by the GNU General Public license with my modification
  207. ! // as noted in the README file that accompanied this file.
  208. ! //
  209. ! // Copyright 1990 G. Geers
  210. ! //
  211. ! //
  212.   
  213.       .align 4
  214.       .globl asinh
  215. ***************
  216. *** 17,23 ****
  217.   
  218.       fmull 8(%ebp)
  219.       fld1
  220. !     faddp
  221.       fsqrt
  222.       faddl 8(%ebp)
  223.       fldln2
  224. --- 17,23 ----
  225.   
  226.       fmull 8(%ebp)
  227.       fld1
  228. !     faddp %st, %st(1)
  229.       fsqrt
  230.       faddl 8(%ebp)
  231.       fldln2
  232. *** ../atan.s    Sun Dec  9 18:13:52 1990
  233. --- atan.s    Mon Dec 17 14:12:28 1990
  234. ***************
  235. *** 1,11 ****
  236. ! /*
  237. ! ** This file is part of the alternative 80386 math library and is
  238. ! ** covered by the GNU General Public license with my modification
  239. ! ** as noted in the README file that accompanied this file.
  240. ! **
  241. ! ** Copyright 1990 G. Geers
  242. ! **
  243. ! */
  244.   
  245.       .align 4
  246.       .globl atan
  247. --- 1,11 ----
  248. ! //
  249. ! // This file is part of the alternative 80386 math library and is
  250. ! // covered by the GNU General Public license with my modification
  251. ! // as noted in the README file that accompanied this file.
  252. ! //
  253. ! // Copyright 1990 G. Geers
  254. ! //
  255. ! //
  256.   
  257.       .align 4
  258.       .globl atan
  259. *** ../atan2.s    Sun Dec  9 18:13:52 1990
  260. --- atan2.s    Tue Dec 18 06:57:16 1990
  261. ***************
  262. *** 1,11 ****
  263. ! /*
  264. ! ** This file is part of the alternative 80386 math library and is
  265. ! ** covered by the GNU General Public license with my modification
  266. ! ** as noted in the README file that accompanied this file.
  267. ! **
  268. ! ** Copyright 1990 G. Geers
  269. ! **
  270. ! */
  271.   
  272.       .align 4
  273.   .Lpi:
  274. --- 1,11 ----
  275. ! //
  276. ! // This file is part of the alternative 80386 math library and is
  277. ! // covered by the GNU General Public license with my modification
  278. ! // as noted in the README file that accompanied this file.
  279. ! //
  280. ! // Copyright 1990 G. Geers
  281. ! //
  282. ! //
  283.   
  284.       .align 4
  285.   .Lpi:
  286. ***************
  287. *** 37,43 ****
  288.       jz .Lgotzero
  289.       jc .Lgotneg
  290.   
  291. !     fdivp
  292.       fld1
  293.       fpatan
  294.   
  295. --- 37,43 ----
  296.       jz .Lgotzero
  297.       jc .Lgotneg
  298.   
  299. !     fdivp %st, %st(1)
  300.       fld1
  301.       fpatan
  302.   
  303. ***************
  304. *** 50,70 ****
  305.       sahf 
  306.       jc .Lneg1
  307.   
  308. !     fdivp
  309.       fld1
  310.       fpatan
  311.       fldl .Lmpi
  312. !     fsubrp
  313.   
  314.       leave
  315.       ret
  316.   
  317.   .Lneg1:
  318. !     fdivp
  319.       fld1
  320.       fpatan
  321.       fldl .Lpi
  322. !     fsubrp
  323.   
  324.       leave
  325.       ret
  326. --- 50,70 ----
  327.       sahf 
  328.       jc .Lneg1
  329.   
  330. !     fdivp %st, %st(1)
  331.       fld1
  332.       fpatan
  333.       fldl .Lmpi
  334. !     fsubrp %st, %st(1)
  335.   
  336.       leave
  337.       ret
  338.   
  339.   .Lneg1:
  340. !     fdivp %st, %st(1)
  341.       fld1
  342.       fpatan
  343.       fldl .Lpi
  344. !     fsubrp %st, %st(1)
  345.   
  346.       leave
  347.       ret
  348. *** ../atanh.s    Sun Dec  9 18:13:53 1990
  349. --- atanh.s    Tue Dec 18 06:50:11 1990
  350. ***************
  351. *** 1,11 ****
  352. ! /*
  353. ! ** This file is part of the alternative 80386 math library and is
  354. ! ** covered by the GNU General Public license with my modification
  355. ! ** as noted in the README file that accompanied this file.
  356. ! **
  357. ! ** Copyright 1990 G. Geers
  358. ! **
  359. ! */
  360.   
  361.       .align 4
  362.   .Lhalf:
  363. --- 1,11 ----
  364. ! //
  365. ! // This file is part of the alternative 80386 math library and is
  366. ! // covered by the GNU General Public license with my modification
  367. ! // as noted in the README file that accompanied this file.
  368. ! //
  369. ! // Copyright 1990 G. Geers
  370. ! //
  371. ! //
  372.   
  373.       .align 4
  374.   .Lhalf:
  375. ***************
  376. *** 21,27 ****
  377.       faddl 8(%ebp)
  378.       fld1
  379.       fsubl 8(%ebp)
  380. !     fdivrp
  381.   
  382.       fldln2
  383.       fxch %st(1)
  384. --- 21,27 ----
  385.       faddl 8(%ebp)
  386.       fld1
  387.       fsubl 8(%ebp)
  388. !     fdivrp %st, %st(1)
  389.   
  390.       fldln2
  391.       fxch %st(1)
  392. ***************
  393. *** 28,34 ****
  394.       fyl2x
  395.   
  396.       fldl .Lhalf
  397. !     fmulp
  398.   
  399.       leave
  400.       ret
  401. --- 28,34 ----
  402.       fyl2x
  403.   
  404.       fldl .Lhalf
  405. !     fmulp %st, %st(1)
  406.   
  407.       leave
  408.       ret
  409. *** ../ceil.s    Sun Dec  9 18:13:53 1990
  410. --- ceil.s    Mon Dec 17 14:17:24 1990
  411. ***************
  412. *** 1,13 ****
  413. ! /*
  414. ! ** This file is part of the alternative 80386 math library and is
  415. ! ** covered by the GNU General Public license with my modification
  416. ! ** as noted in the README file that accompanied this file.
  417. ! **
  418. ! ** Could use ceil(x) = -floor(-x) but this is quicker.
  419. ! **
  420. ! ** Copyright 1990 G. Geers
  421. ! **
  422. ! */
  423.   
  424.       .align 4
  425.       .globl ceil
  426. --- 1,13 ----
  427. ! //
  428. ! // This file is part of the alternative 80386 math library and is
  429. ! // covered by the GNU General Public license with my modification
  430. ! // as noted in the README file that accompanied this file.
  431. ! //
  432. ! // Could use ceil(x) = -floor(-x) but this is quicker.
  433. ! //
  434. ! // Copyright 1990 G. Geers
  435. ! //
  436. ! //
  437.   
  438.       .align 4
  439.       .globl ceil
  440. *** ../copysign.s    Wed Dec 12 06:52:45 1990
  441. --- copysign.s    Mon Dec 17 14:18:13 1990
  442. ***************
  443. *** 1,11 ****
  444. ! /*
  445. ! ** This file is part of the alternative 80386 math library and is
  446. ! ** covered by the GNU General Public license with my modification
  447. ! ** as noted in the README file that accompanied this file.
  448. ! **
  449. ! ** Copyright 1990 G. Geers
  450. ! **
  451. ! */
  452.   
  453.       .align 4
  454.   .globl copysign
  455. --- 1,11 ----
  456. ! //
  457. ! // This file is part of the alternative 80386 math library and is
  458. ! // covered by the GNU General Public license with my modification
  459. ! // as noted in the README file that accompanied this file.
  460. ! //
  461. ! // Copyright 1990 G. Geers
  462. ! //
  463. ! //
  464.   
  465.       .align 4
  466.   .globl copysign
  467. *** ../cos.s    Sun Dec  9 18:13:53 1990
  468. --- cos.s    Mon Dec 17 14:18:49 1990
  469. ***************
  470. *** 1,11 ****
  471. ! /*
  472. ! ** This file is part of the alternative 80386 math library and is
  473. ! ** covered by the GNU General Public license with my modification
  474. ! ** as noted in the README file that accompanied this file.
  475. ! **
  476. ! ** Copyright 1990 G. Geers
  477. ! **
  478. ! */
  479.   
  480.       .align 4
  481.       .globl cos
  482. --- 1,11 ----
  483. ! //
  484. ! // This file is part of the alternative 80386 math library and is
  485. ! // covered by the GNU General Public license with my modification
  486. ! // as noted in the README file that accompanied this file.
  487. ! //
  488. ! // Copyright 1990 G. Geers
  489. ! //
  490. ! //
  491.   
  492.       .align 4
  493.       .globl cos
  494. *** ../cosh.s    Thu Dec 13 19:35:36 1990
  495. --- cosh.s    Tue Dec 18 06:55:23 1990
  496. ***************
  497. *** 1,11 ****
  498. ! /*
  499. ! ** This file is part of the alternative 80386 math library and is
  500. ! ** covered by the GNU General Public license with my modification
  501. ! ** as noted in the README file that accompanied this file.
  502. ! **
  503. ! ** Copyright 1990 G. Geers
  504. ! **
  505. ! */
  506.   
  507.       .align 4
  508.   .LC2:
  509. --- 1,11 ----
  510. ! //
  511. ! // This file is part of the alternative 80386 math library and is
  512. ! // covered by the GNU General Public license with my modification
  513. ! // as noted in the README file that accompanied this file.
  514. ! //
  515. ! // Copyright 1990 G. Geers
  516. ! //
  517. ! //
  518.   
  519.       .align 4
  520.   .LC2:
  521. ***************
  522. *** 26,48 ****
  523.   
  524.   .Lpos:
  525.       fldl2e
  526. !     fmulp
  527. !     fstl %st(1)
  528.       frndint
  529. !     fstl %st(2)
  530. !     fsubrp
  531.       f2xm1
  532.       fld1
  533. !     faddp
  534.       fscale
  535.       fst %st(1)
  536.   
  537.       fld1
  538. !     fdivp
  539. !     faddp
  540.   
  541.       fldl .LC2
  542. !     fmulp
  543.   
  544.       leave
  545.       ret
  546. --- 26,48 ----
  547.   
  548.   .Lpos:
  549.       fldl2e
  550. !     fmulp %st, %st(1)
  551. !     fst %st(1)
  552.       frndint
  553. !     fst %st(2)
  554. !     fsubrp %st, %st(1)
  555.       f2xm1
  556.       fld1
  557. !     faddp %st, %st(1)
  558.       fscale
  559.       fst %st(1)
  560.   
  561.       fld1
  562. !     fdivp %st, %st(1)
  563. !     faddp %st, %st(1)
  564.   
  565.       fldl .LC2
  566. !     fmulp %st, %st(1)
  567.   
  568.       leave
  569.       ret
  570. *** ../drem.s    Sun Dec  9 18:13:53 1990
  571. --- drem.s    Mon Dec 17 14:24:54 1990
  572. ***************
  573. *** 1,11 ****
  574. ! /*
  575. ! ** This file is part of the alternative 80386 math library and is
  576. ! ** covered by the GNU General Public license with my modification
  577. ! ** as noted in the README file that accompanied this file.
  578. ! **
  579. ! ** Copyright 1990 G. Geers
  580. ! **
  581. ! */
  582.   
  583.       .align 4
  584.       .globl drem
  585. --- 1,11 ----
  586. ! //
  587. ! // This file is part of the alternative 80386 math library and is
  588. ! // covered by the GNU General Public license with my modification
  589. ! // as noted in the README file that accompanied this file.
  590. ! //
  591. ! // Copyright 1990 G. Geers
  592. ! //
  593. ! //
  594.   
  595.       .align 4
  596.       .globl drem
  597. *** ../exp.s    Sun Dec  9 18:13:54 1990
  598. --- exp.s    Tue Dec 18 09:43:48 1990
  599. ***************
  600. *** 1,11 ****
  601. ! /*
  602. ! ** This file is part of the alternative 80386 math library and is
  603. ! ** covered by the GNU General Public license with my modification
  604. ! ** as noted in the README file that accompanied this file.
  605. ! **
  606. ! ** Copyright 1990 G. Geers
  607. ! **
  608. ! */
  609.   
  610.       .align 4
  611.       .globl exp
  612. --- 1,11 ----
  613. ! //
  614. ! // This file is part of the alternative 80386 math library and is
  615. ! // covered by the GNU General Public license with my modification
  616. ! // as noted in the README file that accompanied this file.
  617. ! //
  618. ! // Copyright 1990 G. Geers
  619. ! //
  620. ! //
  621.   
  622.       .align 4
  623.       .globl exp
  624. ***************
  625. *** 15,28 ****
  626.   
  627.       fldl 8(%ebp)
  628.       fldl2e
  629. !     fmulp
  630. !     fstl %st(1)
  631.       frndint
  632. !     fstl %st(2)
  633. !     fsubrp
  634.       f2xm1
  635.       fld1
  636. !     faddp
  637.       fscale
  638.   
  639.       leave
  640. --- 15,28 ----
  641.   
  642.       fldl 8(%ebp)
  643.       fldl2e
  644. !     fmulp %st, %st(1)
  645. !     fst %st(1)
  646.       frndint
  647. !     fst %st(2)
  648. !     fsubrp %st, %st(1)
  649.       f2xm1
  650.       fld1
  651. !     faddp %st, %st(1)
  652.       fscale
  653.   
  654.       leave
  655. *** ../exp10.s    Sun Dec  9 18:13:54 1990
  656. --- exp10.s    Tue Dec 18 06:53:40 1990
  657. ***************
  658. *** 1,11 ****
  659. ! /*
  660. ! ** This file is part of the alternative 80386 math library and is
  661. ! ** covered by the GNU General Public license with my modification
  662. ! ** as noted in the README file that accompanied this file.
  663. ! **
  664. ! ** Copyright 1990 G. Geers
  665. ! **
  666. ! */
  667.   
  668.       .align 4
  669.       .globl exp10
  670. --- 1,11 ----
  671. ! //
  672. ! // This file is part of the alternative 80386 math library and is
  673. ! // covered by the GNU General Public license with my modification
  674. ! // as noted in the README file that accompanied this file.
  675. ! //
  676. ! // Copyright 1990 G. Geers
  677. ! //
  678. ! //
  679.   
  680.       .align 4
  681.       .globl exp10
  682. ***************
  683. *** 15,28 ****
  684.   
  685.       fldl 8(%ebp)
  686.       fldl2t
  687. !     fmulp
  688. !     fstl %st(1)
  689.       frndint
  690. !     fstl %st(2)
  691. !     fsubrp
  692.       f2xm1
  693.       fld1
  694. !     faddp
  695.       fscale
  696.   
  697.       leave
  698. --- 15,28 ----
  699.   
  700.       fldl 8(%ebp)
  701.       fldl2t
  702. !     fmulp %st, %st(1)
  703. !     fst %st(1)
  704.       frndint
  705. !     fst %st(2)
  706. !     fsubrp %st, %st(1)
  707.       f2xm1
  708.       fld1
  709. !     faddp %st, %st(1)
  710.       fscale
  711.   
  712.       leave
  713. *** ../exp2.s    Sun Dec  9 18:13:54 1990
  714. --- exp2.s    Tue Dec 18 06:57:45 1990
  715. ***************
  716. *** 1,11 ****
  717. ! /*
  718. ! ** This file is part of the alternative 80386 math library and is
  719. ! ** covered by the GNU General Public license with my modification
  720. ! ** as noted in the README file that accompanied this file.
  721. ! **
  722. ! ** Copyright 1990 G. Geers
  723. ! **
  724. ! */
  725.   
  726.       .align 4
  727.       .globl exp2
  728. --- 1,11 ----
  729. ! //
  730. ! // This file is part of the alternative 80386 math library and is
  731. ! // covered by the GNU General Public license with my modification
  732. ! // as noted in the README file that accompanied this file.
  733. ! //
  734. ! // Copyright 1990 G. Geers
  735. ! //
  736. ! //
  737.   
  738.       .align 4
  739.       .globl exp2
  740. ***************
  741. *** 14,26 ****
  742.       movl %esp,%ebp
  743.   
  744.       fldl 8(%ebp)
  745. !     fstl %st(1)
  746.       frndint
  747. !     fstl %st(2)
  748. !     fsubrp
  749.       f2xm1
  750.       fld1
  751. !     faddp
  752.       fscale
  753.   
  754.       leave
  755. --- 14,26 ----
  756.       movl %esp,%ebp
  757.   
  758.       fldl 8(%ebp)
  759. !     fst %st(1)
  760.       frndint
  761. !     fst %st(2)
  762. !     fsubrp %st, %st(1)
  763.       f2xm1
  764.       fld1
  765. !     faddp %st, %st(1)
  766.       fscale
  767.   
  768.       leave
  769. *** ../expm1.s    Thu Dec 13 19:03:26 1990
  770. --- expm1.s    Tue Dec 18 06:54:10 1990
  771. ***************
  772. *** 1,11 ****
  773. ! /*
  774. ! ** This file is part of the alternative 80386 math library and is
  775. ! ** covered by the GNU General Public license with my modification
  776. ! ** as noted in the README file that accompanied this file.
  777. ! **
  778. ! ** Copyright 1990 G. Geers
  779. ! **
  780. ! */
  781.   
  782.       .align 4
  783.       .globl expm1
  784. --- 1,11 ----
  785. ! //
  786. ! // This file is part of the alternative 80386 math library and is
  787. ! // covered by the GNU General Public license with my modification
  788. ! // as noted in the README file that accompanied this file.
  789. ! //
  790. ! // Copyright 1990 G. Geers
  791. ! //
  792. ! //
  793.   
  794.       .align 4
  795.       .globl expm1
  796. ***************
  797. *** 16,29 ****
  798.   
  799.       fldl 8(%ebp)
  800.       fldl2e
  801. !     fmulp
  802. !     fstl %st(1)
  803.       frndint
  804. !     fstl %st(2)
  805. !     fsubrp
  806.       f2xm1
  807.       fld1
  808. !     faddp
  809.       fscale
  810.   
  811.       fstpl -8(%ebp)
  812. --- 16,29 ----
  813.   
  814.       fldl 8(%ebp)
  815.       fldl2e
  816. !     fmulp %st, %st(1)
  817. !     fst %st(1)
  818.       frndint
  819. !     fst %st(2)
  820. !     fsubrp %st, %st(1)
  821.       f2xm1
  822.       fld1
  823. !     faddp %st, %st(1)
  824.       fscale
  825.   
  826.       fstpl -8(%ebp)
  827. ***************
  828. *** 31,48 ****
  829.       fldl 8(%ebp)
  830.       fchs
  831.       fldl2e
  832. !     fmulp
  833. !     fstl %st(1)
  834.       frndint
  835. !     fstl %st(2)
  836. !     fsubrp
  837.       f2xm1
  838.       fld1
  839. !     faddp
  840.       fscale
  841.   
  842.       fld1
  843. !     fsubp
  844.       fmull -8(%ebp)
  845.   
  846.       leave
  847. --- 31,48 ----
  848.       fldl 8(%ebp)
  849.       fchs
  850.       fldl2e
  851. !     fmulp %st, %st(1)
  852. !     fst %st(1)
  853.       frndint
  854. !     fst %st(2)
  855. !     fsubrp %st, %st(1)
  856.       f2xm1
  857.       fld1
  858. !     faddp %st, %st(1)
  859.       fscale
  860.   
  861.       fld1
  862. !     fsubp %st, %st(1)
  863.       fmull -8(%ebp)
  864.   
  865.       leave
  866. *** ../fabs.s    Sun Dec  9 18:13:54 1990
  867. --- fabs.s    Mon Dec 17 14:31:48 1990
  868. ***************
  869. *** 1,11 ****
  870. ! /*
  871. ! ** This file is part of the alternative 80386 math library and is
  872. ! ** covered by the GNU General Public license with my modification
  873. ! ** as noted in the README file that accompanied this file.
  874. ! **
  875. ! ** Copyright 1990 G. Geers
  876. ! **
  877. ! */
  878.   
  879.       .align 4
  880.       .globl fabs
  881. --- 1,11 ----
  882. ! //
  883. ! // This file is part of the alternative 80386 math library and is
  884. ! // covered by the GNU General Public license with my modification
  885. ! // as noted in the README file that accompanied this file.
  886. ! //
  887. ! // Copyright 1990 G. Geers
  888. ! //
  889. ! //
  890.   
  891.       .align 4
  892.       .globl fabs
  893. *** ../finite.s    Sun Dec  9 18:13:54 1990
  894. --- finite.s    Mon Dec 17 14:32:09 1990
  895. ***************
  896. *** 1,11 ****
  897. ! /*
  898. ! ** This file is part of the alternative 80386 math library and is
  899. ! ** covered by the GNU General Public license with my modification
  900. ! ** as noted in the README file that accompanied this file.
  901. ! **
  902. ! ** Copyright 1990 G. Geers
  903. ! **
  904. ! */
  905.   
  906.       .align 4
  907.       .globl finite
  908. --- 1,11 ----
  909. ! //
  910. ! // This file is part of the alternative 80386 math library and is
  911. ! // covered by the GNU General Public license with my modification
  912. ! // as noted in the README file that accompanied this file.
  913. ! //
  914. ! // Copyright 1990 G. Geers
  915. ! //
  916. ! //
  917.   
  918.       .align 4
  919.       .globl finite
  920. *** ../floor.s    Sun Dec  9 18:13:54 1990
  921. --- floor.s    Mon Dec 17 14:32:41 1990
  922. ***************
  923. *** 1,11 ****
  924. ! /*
  925. ! ** This file is part of the alternative 80386 math library and is
  926. ! ** covered by the GNU General Public license with my modification
  927. ! ** as noted in the README file that accompanied this file.
  928. ! **
  929. ! ** Copyright 1990 G. Geers
  930. ! **
  931. ! */
  932.   
  933.       .align 4
  934.       .globl floor
  935. --- 1,11 ----
  936. ! //
  937. ! // This file is part of the alternative 80386 math library and is
  938. ! // covered by the GNU General Public license with my modification
  939. ! // as noted in the README file that accompanied this file.
  940. ! //
  941. ! // Copyright 1990 G. Geers
  942. ! //
  943. ! //
  944.   
  945.       .align 4
  946.       .globl floor
  947. *** ../fmod.s    Sun Dec  9 18:13:54 1990
  948. --- fmod.s    Mon Dec 17 14:33:15 1990
  949. ***************
  950. *** 1,11 ****
  951. ! /*
  952. ! ** This file is part of the alternative 80386 math library and is
  953. ! ** covered by the GNU General Public license with my modification
  954. ! ** as noted in the README file that accompanied this file.
  955. ! **
  956. ! ** Copyright 1990 G. Geers
  957. ! **
  958. ! */
  959.   
  960.       .align 4
  961.       .globl fmod
  962. --- 1,11 ----
  963. ! //
  964. ! // This file is part of the alternative 80386 math library and is
  965. ! // covered by the GNU General Public license with my modification
  966. ! // as noted in the README file that accompanied this file.
  967. ! //
  968. ! // Copyright 1990 G. Geers
  969. ! //
  970. ! //
  971.   
  972.       .align 4
  973.       .globl fmod
  974. *** ../hypot.s    Sun Dec  9 18:13:55 1990
  975. --- hypot.s    Mon Dec 17 14:35:25 1990
  976. ***************
  977. *** 1,11 ****
  978. ! /*
  979. ! ** This file is part of the alternative 80386 math library and is
  980. ! ** covered by the GNU General Public license with my modification
  981. ! ** as noted in the README file that accompanied this file.
  982. ! **
  983. ! ** Copyright 1990 G. Geers
  984. ! **
  985. ! */
  986.   
  987.       .align 4
  988.   .globl hypot
  989. --- 1,11 ----
  990. ! //
  991. ! // This file is part of the alternative 80386 math library and is
  992. ! // covered by the GNU General Public license with my modification
  993. ! // as noted in the README file that accompanied this file.
  994. ! //
  995. ! // Copyright 1990 G. Geers
  996. ! //
  997. ! //
  998.   
  999.       .align 4
  1000.   .globl hypot
  1001. ***************
  1002. *** 17,23 ****
  1003.       fmull 8(%ebp)
  1004.       fldl 16(%ebp)
  1005.       fmull 16(%ebp)
  1006. !     faddp
  1007.       fsqrt
  1008.   
  1009.       leave
  1010. --- 17,23 ----
  1011.       fmull 8(%ebp)
  1012.       fldl 16(%ebp)
  1013.       fmull 16(%ebp)
  1014. !     faddp %st, %st(1)
  1015.       fsqrt
  1016.   
  1017.       leave
  1018. *** ../ieee_ext.s    Tue Dec 11 18:45:05 1990
  1019. --- ieee_ext.s    Mon Dec 17 14:36:21 1990
  1020. ***************
  1021. *** 1,11 ****
  1022. ! /*
  1023. ! ** This file is part of the alternative 80386 math library and is
  1024. ! ** covered by the GNU General Public license with my modification
  1025. ! ** as noted in the README file that accompanied this file.
  1026. ! **
  1027. ! ** Copyright 1990 G. Geers
  1028. ! **
  1029. ! */
  1030.   
  1031.       .align 4
  1032.       .globl isnan
  1033. --- 1,11 ----
  1034. ! //
  1035. ! // This file is part of the alternative 80386 math library and is
  1036. ! // covered by the GNU General Public license with my modification
  1037. ! // as noted in the README file that accompanied this file.
  1038. ! //
  1039. ! // Copyright 1990 G. Geers
  1040. ! //
  1041. ! //
  1042.   
  1043.       .align 4
  1044.       .globl isnan
  1045. *** ../ieee_values.s    Mon Dec 17 12:11:31 1990
  1046. --- ieee_values.s    Mon Dec 17 14:36:46 1990
  1047. ***************
  1048. *** 1,11 ****
  1049. ! /*
  1050. ! ** This file is part of the alternative 80386 math library and is
  1051. ! ** covered by the GNU General Public license with my modification
  1052. ! ** as noted in the README file that accompanied this file.
  1053. ! **
  1054. ! ** Copyright 1990 G. Geers
  1055. ! **
  1056. ! */
  1057.   
  1058.       .align 4
  1059.       .globl max_normal
  1060. --- 1,11 ----
  1061. ! //
  1062. ! // This file is part of the alternative 80386 math library and is
  1063. ! // covered by the GNU General Public license with my modification
  1064. ! // as noted in the README file that accompanied this file.
  1065. ! //
  1066. ! // Copyright 1990 G. Geers
  1067. ! //
  1068. ! //
  1069.   
  1070.       .align 4
  1071.       .globl max_normal
  1072. *** ../infinity.s    Mon Dec 17 12:08:18 1990
  1073. --- infinity.s    Mon Dec 17 14:37:07 1990
  1074. ***************
  1075. *** 1,11 ****
  1076. ! /*
  1077. ! ** This file is part of the alternative 80386 math library and is
  1078. ! ** covered by the GNU General Public license with my modification
  1079. ! ** as noted in the README file that accompanied this file.
  1080. ! **
  1081. ! ** Copyright 1990 G. Geers
  1082. ! **
  1083. ! */
  1084.   
  1085.       .align 4
  1086.       .globl infinity
  1087. --- 1,11 ----
  1088. ! //
  1089. ! // This file is part of the alternative 80386 math library and is
  1090. ! // covered by the GNU General Public license with my modification
  1091. ! // as noted in the README file that accompanied this file.
  1092. ! //
  1093. ! // Copyright 1990 G. Geers
  1094. ! //
  1095. ! //
  1096.   
  1097.       .align 4
  1098.       .globl infinity
  1099. *** ../log.s    Sun Dec  9 18:13:55 1990
  1100. --- log.s    Mon Dec 17 14:38:00 1990
  1101. ***************
  1102. *** 1,11 ****
  1103. ! /*
  1104. ! ** This file is part of the alternative 80386 math library and is
  1105. ! ** covered by the GNU General Public license with my modification
  1106. ! ** as noted in the README file that accompanied this file.
  1107. ! **
  1108. ! ** Copyright 1990 G. Geers
  1109. ! **
  1110. ! */
  1111.   
  1112.       .align 4
  1113.       .globl log
  1114. --- 1,11 ----
  1115. ! //
  1116. ! // This file is part of the alternative 80386 math library and is
  1117. ! // covered by the GNU General Public license with my modification
  1118. ! // as noted in the README file that accompanied this file.
  1119. ! //
  1120. ! // Copyright 1990 G. Geers
  1121. ! //
  1122. ! //
  1123.   
  1124.       .align 4
  1125.       .globl log
  1126. *** ../log10.s    Sun Dec  9 18:13:55 1990
  1127. --- log10.s    Mon Dec 17 14:38:09 1990
  1128. ***************
  1129. *** 1,11 ****
  1130. ! /*
  1131. ! ** This file is part of the alternative 80386 math library and is
  1132. ! ** covered by the GNU General Public license with my modification
  1133. ! ** as noted in the README file that accompanied this file.
  1134. ! **
  1135. ! ** Copyright 1990 G. Geers
  1136. ! **
  1137. ! */
  1138.   
  1139.       .align 4
  1140.       .globl log10
  1141. --- 1,11 ----
  1142. ! //
  1143. ! // This file is part of the alternative 80386 math library and is
  1144. ! // covered by the GNU General Public license with my modification
  1145. ! // as noted in the README file that accompanied this file.
  1146. ! //
  1147. ! // Copyright 1990 G. Geers
  1148. ! //
  1149. ! //
  1150.   
  1151.       .align 4
  1152.       .globl log10
  1153. *** ../log1p.s    Sun Dec  9 18:13:56 1990
  1154. --- log1p.s    Mon Dec 17 14:38:41 1990
  1155. ***************
  1156. *** 1,11 ****
  1157. ! /*
  1158. ! ** This file is part of the alternative 80386 math library and is
  1159. ! ** covered by the GNU General Public license with my modification
  1160. ! ** as noted in the README file that accompanied this file.
  1161. ! **
  1162. ! ** Copyright 1990 G. Geers
  1163. ! **
  1164. ! */
  1165.   
  1166.       .align 4
  1167.       .globl log1p
  1168. --- 1,11 ----
  1169. ! //
  1170. ! // This file is part of the alternative 80386 math library and is
  1171. ! // covered by the GNU General Public license with my modification
  1172. ! // as noted in the README file that accompanied this file.
  1173. ! //
  1174. ! // Copyright 1990 G. Geers
  1175. ! //
  1176. ! //
  1177.   
  1178.       .align 4
  1179.       .globl log1p
  1180. ***************
  1181. *** 16,22 ****
  1182.       fldln2
  1183.       fldl 8(%ebp)
  1184.       fld1
  1185. !     faddp
  1186.       fyl2x
  1187.   
  1188.       leave
  1189. --- 16,22 ----
  1190.       fldln2
  1191.       fldl 8(%ebp)
  1192.       fld1
  1193. !     faddp %st, %st(1)
  1194.       fyl2x
  1195.   
  1196.       leave
  1197. *** ../log2.s    Sun Dec  9 18:13:56 1990
  1198. --- log2.s    Mon Dec 17 14:39:30 1990
  1199. ***************
  1200. *** 1,11 ****
  1201. ! /*
  1202. ! ** This file is part of the alternative 80386 math library and is
  1203. ! ** covered by the GNU General Public license with my modification
  1204. ! ** as noted in the README file that accompanied this file.
  1205. ! **
  1206. ! ** Copyright 1990 G. Geers
  1207. ! **
  1208. ! */
  1209.   
  1210.       .align 4
  1211.       .globl log2
  1212. --- 1,11 ----
  1213. ! //
  1214. ! // This file is part of the alternative 80386 math library and is
  1215. ! // covered by the GNU General Public license with my modification
  1216. ! // as noted in the README file that accompanied this file.
  1217. ! //
  1218. ! // Copyright 1990 G. Geers
  1219. ! //
  1220. ! //
  1221.   
  1222.       .align 4
  1223.       .globl log2
  1224. *** ../logb.s    Sun Dec  9 18:13:56 1990
  1225. --- logb.s    Mon Dec 17 14:42:35 1990
  1226. ***************
  1227. *** 1,11 ****
  1228. ! /*
  1229. ! ** This file is part of the alternative 80386 math library and is
  1230. ! ** covered by the GNU General Public license with my modification
  1231. ! ** as noted in the README file that accompanied this file.
  1232. ! **
  1233. ! ** Copyright 1990 G. Geers
  1234. ! **
  1235. ! */
  1236.   
  1237.       .align 4
  1238.       .globl logb
  1239. --- 1,11 ----
  1240. ! //
  1241. ! // This file is part of the alternative 80386 math library and is
  1242. ! // covered by the GNU General Public license with my modification
  1243. ! // as noted in the README file that accompanied this file.
  1244. ! //
  1245. ! // Copyright 1990 G. Geers
  1246. ! //
  1247. ! //
  1248.   
  1249.       .align 4
  1250.       .globl logb
  1251. ***************
  1252. *** 15,21 ****
  1253.       
  1254.       fldl 8(%ebp)
  1255.       fxtract
  1256. !     fldl %st(1)
  1257.   
  1258.       leave
  1259.       ret
  1260. --- 15,21 ----
  1261.       
  1262.       fldl 8(%ebp)
  1263.       fxtract
  1264. !     fld %st(1)
  1265.   
  1266.       leave
  1267.       ret
  1268. *** ../pow.s    Sun Dec  9 18:13:56 1990
  1269. --- pow.s    Tue Dec 18 08:12:52 1990
  1270. ***************
  1271. *** 1,161 ****
  1272. ! /*
  1273. ! ** This file is part of the alternative 80386 math library and is
  1274. ! ** covered by the GNU General Public license with my modification
  1275. ! ** as noted in the README file that accompanied this file.
  1276. ! **
  1277. ! ** This file started life as a C implemenation of pow, it then evolved
  1278. ! ** into an embeded asm version (with some C) and finally, all assembler.
  1279. ! ** It's actually hacked assembler produced by gcc.
  1280. ! **
  1281. ! ** Copyright 1990 G. Geers
  1282. ! **
  1283. ! */
  1284.   
  1285. ! .text
  1286. ! .LC0:
  1287. !     .ascii "pow: DOMAIN error\12\0"
  1288. !     .align 4
  1289. ! .LC1:
  1290. !     .double 0d0.00000000000000000000e+00
  1291. !     .align 4
  1292. ! .LC2:
  1293. !     .double 0d1.00000000000000000000e+00
  1294. !     .align 4
  1295. ! .globl pow
  1296.   pow:
  1297. !     pushl %ebp
  1298. !     movl %esp,%ebp
  1299. !     subl $28,%esp
  1300. !     pushl %edi
  1301. !     pushl %esi
  1302. !     pushl %ebx
  1303. !     movl 16(%ebp),%esi
  1304. !     movl 20(%ebp),%edi
  1305. !     movl $0,-4(%ebp)
  1306. !     movl $1,%ebx
  1307. !     fldl 8(%ebp)
  1308. !     ftst
  1309. !     fstp %st(0)
  1310. !     fnstsw %ax
  1311. !     sahf
  1312. !     jae .L2
  1313. !     movl %ebx,-4(%ebp)
  1314. !     pushl %edi
  1315. !     pushl %esi
  1316. ! /**/
  1317. !     fldl 16(%ebp)
  1318. !     fstcw -8(%ebp)
  1319. !     fstcw -12(%ebp)
  1320. !     orw $0x0400, -12(%ebp)
  1321.       fldcw -12(%ebp)
  1322. !     frndint
  1323. !     fldcw -8(%ebp)
  1324. ! /**/
  1325. !     fstpl -16(%ebp)
  1326. !     pushl %edi
  1327. !     pushl %esi
  1328. !     fldl (%esp) 
  1329. !     addl $8,%esp
  1330. !     fsubl -16(%ebp)
  1331. !     fstpl -16(%ebp)
  1332. !     addl $8,%esp
  1333. !     fldl -16(%ebp)
  1334. !     ftst
  1335. !     fstp %st(0)
  1336. !     fnstsw %ax
  1337. !     sahf
  1338. !     je .L3
  1339. !     movl $33,errno
  1340. !     pushl $.LC0
  1341. !     pushl $_iob+32
  1342. !     call fprintf
  1343. !     fldl .LC1
  1344. !     jmp .L1
  1345. !     .align 4
  1346. ! .L3:
  1347. !     pushl %edi
  1348. !     pushl %esi
  1349. ! /**/
  1350.       fldl    16(%ebp)
  1351. !     fistpl    -8(%ebp)
  1352. !     movl    -8(%ebp),%eax
  1353. ! /**/
  1354. !     testl %eax,%eax
  1355. !     jge .L5
  1356. !     incl %eax
  1357. ! .L5:
  1358. !     andl $-2,%eax
  1359. !     movl -8(%ebp),%ecx
  1360. !     subl %eax,%ecx
  1361. !     movl %ecx,%eax
  1362. !     testl %eax,%eax
  1363. !     je .L2
  1364. !     xorl %ebx,%ebx
  1365. ! .L2:
  1366. !     fldl 8(%ebp)
  1367. !     ftst
  1368. !     fstp %st(0)
  1369. !     fnstsw %ax
  1370. !     sahf
  1371. !     jne .L6
  1372. !     pushl %edi
  1373. !     pushl %esi
  1374. !     fldl (%esp) 
  1375. !     addl $8,%esp
  1376. !     ftst
  1377. !     fstp %st(0)
  1378. !     fnstsw %ax
  1379. !     sahf
  1380. !     je .L6
  1381. !     fldl .LC1
  1382. !     jmp .L1
  1383. !     .align 4
  1384. ! .L6:
  1385. !     pushl %edi
  1386. !     pushl %esi
  1387. !     fldl (%esp) 
  1388. !     addl $8,%esp
  1389. !     ftst
  1390. !     fstp %st(0)
  1391. !     fnstsw %ax
  1392. !     sahf
  1393. !     jne .L8
  1394. !     fldl .LC2
  1395. !     jmp .L1
  1396. !     .align 4
  1397. ! .L8:
  1398. ! /APP
  1399. !     fldl 16(%ebp)
  1400. !     fldl 8(%ebp)
  1401. ! /NO_APP
  1402. !     cmpl $0,-4(%ebp)
  1403. !     je .L10
  1404. ! /APP
  1405. !     fchs
  1406. ! /NO_APP
  1407. ! .L10:
  1408. ! /APP
  1409. !     fyl2x
  1410. !     fstl %st(1)
  1411. !     frndint
  1412. !     fstl %st(2)
  1413. !     fsubrp
  1414. !     f2xm1
  1415. !     fld1
  1416. !     faddp
  1417. !     fscale
  1418. ! /NO_APP
  1419. !     testl %ebx,%ebx
  1420. !     jne .L1
  1421. ! /APP
  1422. !     fchs
  1423. ! /NO_APP
  1424. ! .L1:
  1425. !     leal -28(%ebp),%esp
  1426. !     popl %ebx
  1427. !     popl %esi
  1428. !     popl %edi
  1429. !     leave
  1430. !     ret
  1431. --- 1,190 ----
  1432. ! //
  1433. ! // This file is part of the alternative 80386 math library and is
  1434. ! // covered by the GNU General Public license with my modification
  1435. ! // as noted in the README file that accompanied this file.
  1436. ! //
  1437. ! // This file started life as a C implemenation of pow, it then evolved
  1438. ! // into an embeded asm version (with some C) and finally, all assembler.
  1439. ! // It's actually hacked assembler produced by gcc.
  1440. ! //
  1441. ! // Copyright 1990 G. Geers
  1442. ! //
  1443. ! //
  1444.   
  1445. !     .data
  1446. !     .align    4
  1447. ! .L92:
  1448. !     .double    0.0000000000000000000000e+00
  1449. !     .data
  1450. !     .align    4
  1451. ! .L94:
  1452. !     .double    0.0000000000000000000000e+00
  1453. !     .data
  1454. !     .align    4
  1455. ! .L96:
  1456. !     .double    0.0000000000000000000000e+00
  1457. !     .data
  1458. !     .align    4
  1459. ! .L99:
  1460. !     .double    0.0000000000000000000000e+00
  1461. !     .align    4
  1462. ! .L100:
  1463. !     .double    0.0000000000000000000000e+00
  1464. !     .data
  1465. !     .align    4
  1466. ! .L101:
  1467. !     .double    0.0000000000000000000000e+00
  1468. !     .data
  1469. !     .align    4
  1470. ! .L103:
  1471. !     .double    0.0000000000000000000000e+00
  1472. !     .data
  1473. !     .align    4
  1474. ! .L104:
  1475. !     .double    1.0000000000000000000000e+00
  1476. !     .data
  1477. !     .long    __fltused
  1478. !     .text
  1479. !     .align    4
  1480. !     .def    pow;    .val    pow;    .scl    2;    .type    047;    .endef
  1481. !     .globl    pow
  1482.   pow:
  1483. !     pushl    %ebp
  1484. !     movl    %esp,%ebp
  1485. !     subl    $16,%esp
  1486. !     movl    $0,-4(%ebp)
  1487. !     movl    $1,-8(%ebp)
  1488. !     fldl    8(%ebp)
  1489. !     fcompl    .L92
  1490. !     fstsw    %ax
  1491. !     sahf    
  1492. !     jae    .L91
  1493. !     movl    $1,-4(%ebp)
  1494. ! //
  1495. !     fldl 16(%ebp)        
  1496. !     fstcw -12(%ebp)    
  1497. !     fstcw -16(%ebp)
  1498. !     orw $0x0400, -16(%ebp)
  1499. !     fldcw -16(%ebp)
  1500. !     frndint        
  1501.       fldcw -12(%ebp)
  1502. ! //
  1503. !     addl    $8,%esp
  1504. !     fsubrl    16(%ebp)
  1505. !     fcompl    .L94
  1506. !     fstsw    %ax
  1507. !     sahf    
  1508. !     je    .L93
  1509. !     movl    $33,errno
  1510. !     pushl    $.L95
  1511. !     pushl    $_iob+32
  1512. !     call    fprintf
  1513. !     addl    $8,%esp
  1514. !     fldl    .L96
  1515. ! .L106:
  1516. ! .L88:
  1517. !     leave    
  1518. !     ret    
  1519. !     .align    4
  1520. ! .L93:
  1521. !     fstcw    -12(%ebp)
  1522. !     movw    -12(%ebp),%ax
  1523. !     orw    $0x0c00,%ax
  1524. !     movw    %ax,-10(%ebp)
  1525. !     fldcw    -10(%ebp)
  1526.       fldl    16(%ebp)
  1527. !     fistpl    -16(%ebp)
  1528. !     fldcw    -12(%ebp)
  1529. !     movl    -16(%ebp),%eax
  1530. !     movl    $2,%ecx
  1531. !     cltd    
  1532. !     idivl    %ecx
  1533. !     testl    %edx,%edx
  1534. !     je    .L97
  1535. !     movl    $0,-8(%ebp)
  1536. ! .L97:
  1537. ! .L91:
  1538. !     fldl    8(%ebp)
  1539. !     fcompl    .L100
  1540. !     fstsw    %ax
  1541. !     sahf    
  1542. !     jne    .L98
  1543. !     fldl    16(%ebp)
  1544. !     fcompl    .L99
  1545. !     fstsw    %ax
  1546. !     sahf    
  1547. !     je    .L98
  1548. !     fldl    .L101
  1549. !     leave    
  1550. !     ret    
  1551. !     .align    4
  1552. ! .L98:
  1553. !     fldl    16(%ebp)
  1554. !     fcompl    .L103
  1555. !     fstsw    %ax
  1556. !     sahf    
  1557. !     jne    .L102
  1558. !     fldl    .L104
  1559. !     leave    
  1560. !     ret    
  1561. !     .align    4
  1562. ! .L102:
  1563. ! /ASM
  1564. ! fldl 16(%ebp)
  1565. ! /ASMEND0
  1566. ! /ASM
  1567. ! fldl 8(%ebp)
  1568. ! /ASMEND1
  1569. !     cmpl    $0,-4(%ebp)
  1570. !     je    .L105
  1571. ! /ASM
  1572. ! fchs
  1573. ! /ASMEND2
  1574. ! .L105:
  1575. ! /ASM
  1576. ! fyl2x
  1577. ! /ASMEND3
  1578. ! /ASM
  1579. ! fst %st(1)
  1580. ! /ASMEND4
  1581. ! /ASM
  1582. ! frndint
  1583. ! /ASMEND5
  1584. ! /ASM
  1585. ! fst %st(2)
  1586. ! /ASMEND6
  1587. ! /ASM
  1588. ! fsubr %st(1), %st
  1589. ! /ASMEND7
  1590. ! /ASM
  1591. ! f2xm1
  1592. ! /ASMEND8
  1593. ! /ASM
  1594. ! fld1
  1595. ! /ASMEND9
  1596. ! /ASM
  1597. ! faddp %st, %st(1)
  1598. ! /ASMEND10
  1599. ! /ASM
  1600. ! fld %st(2)
  1601. ! /ASMEND11
  1602. ! /ASM
  1603. ! fstp %st(2)
  1604. ! /ASMEND12
  1605. ! /ASM
  1606. ! fscale
  1607. ! /ASMEND13
  1608. !     cmpl    $0,-8(%ebp)
  1609. !     jne    .L106
  1610. ! /ASM
  1611. ! fchs
  1612. ! /ASMEND14
  1613. !     leave    
  1614. !     ret    
  1615. !     .align    4
  1616. !     .def    pow;    .val    .;    .scl    -1;    .endef
  1617. !     .data
  1618. ! .L95:
  1619. !     .byte    0x70,0x6f,0x77,0x3a,0x20,0x44,0x4f,0x4d,0x41,0x49
  1620. !     .byte    0x4e,0x20,0x45,0x52,0x52,0x4f,0x52,0x0a,0x00
  1621. !     .text
  1622. *** ../rint.s    Sun Dec  9 18:13:56 1990
  1623. --- rint.s    Mon Dec 17 14:53:52 1990
  1624. ***************
  1625. *** 1,11 ****
  1626. ! /*
  1627. ! ** This file is part of the alternative 80386 math library and is
  1628. ! ** covered by the GNU General Public license with my modification
  1629. ! ** as noted in the README file that accompanied this file.
  1630. ! **
  1631. ! ** Copyright 1990 G. Geers
  1632. ! **
  1633. ! */
  1634.   
  1635.       .align 4
  1636.       .globl rint
  1637. --- 1,11 ----
  1638. ! //
  1639. ! // This file is part of the alternative 80386 math library and is
  1640. ! // covered by the GNU General Public license with my modification
  1641. ! // as noted in the README file that accompanied this file.
  1642. ! //
  1643. ! // Copyright 1990 G. Geers
  1644. ! //
  1645. ! //
  1646.   
  1647.       .align 4
  1648.       .globl rint
  1649. *** ../scalb.s    Thu Dec 13 13:55:10 1990
  1650. --- scalb.s    Mon Dec 17 14:54:21 1990
  1651. ***************
  1652. *** 1,11 ****
  1653. ! /*
  1654. ! ** This file is part of the alternative 80386 math library and is
  1655. ! ** covered by the GNU General Public license with my modification
  1656. ! ** as noted in the README file that accompanied this file.
  1657. ! **
  1658. ! ** Copyright 1990 G. Geers
  1659. ! **
  1660. ! */
  1661.   
  1662.       .align 4
  1663.       .globl scalb
  1664. --- 1,11 ----
  1665. ! //
  1666. ! // This file is part of the alternative 80386 math library and is
  1667. ! // covered by the GNU General Public license with my modification
  1668. ! // as noted in the README file that accompanied this file.
  1669. ! //
  1670. ! // Copyright 1990 G. Geers
  1671. ! //
  1672. ! //
  1673.   
  1674.       .align 4
  1675.       .globl scalb
  1676. *** ../setcont.s    Sun Dec  9 18:13:57 1990
  1677. --- setcont.s    Mon Dec 17 14:54:38 1990
  1678. ***************
  1679. *** 1,11 ****
  1680. ! /*
  1681. ! ** This file is part of the alternative 80386 math library and is
  1682. ! ** covered by the GNU General Public license with my modification
  1683. ! ** as noted in the README file that accompanied this file.
  1684. ! **
  1685. ! ** Copyright 1990 G. Geers
  1686. ! **
  1687. ! */
  1688.   
  1689.       .align 4
  1690.       .globl setcont
  1691. --- 1,11 ----
  1692. ! //
  1693. ! // This file is part of the alternative 80386 math library and is
  1694. ! // covered by the GNU General Public license with my modification
  1695. ! // as noted in the README file that accompanied this file.
  1696. ! //
  1697. ! // Copyright 1990 G. Geers
  1698. ! //
  1699. ! //
  1700.   
  1701.       .align 4
  1702.       .globl setcont
  1703. *** ../setinternal.s    Sun Dec  9 18:13:57 1990
  1704. --- setinternal.s    Mon Dec 17 14:54:47 1990
  1705. ***************
  1706. *** 1,11 ****
  1707. ! /*
  1708. ! ** This file is part of the alternative 80386 math library and is
  1709. ! ** covered by the GNU General Public license with my modification
  1710. ! ** as noted in the README file that accompanied this file.
  1711. ! **
  1712. ! ** Copyright 1990 G. Geers
  1713. ! **
  1714. ! */
  1715.   
  1716.       .align 4
  1717.       .globl setinternal
  1718. --- 1,11 ----
  1719. ! //
  1720. ! // This file is part of the alternative 80386 math library and is
  1721. ! // covered by the GNU General Public license with my modification
  1722. ! // as noted in the README file that accompanied this file.
  1723. ! //
  1724. ! // Copyright 1990 G. Geers
  1725. ! //
  1726. ! //
  1727.   
  1728.       .align 4
  1729.       .globl setinternal
  1730. *** ../sin.s    Sun Dec  9 18:13:57 1990
  1731. --- sin.s    Mon Dec 17 14:54:58 1990
  1732. ***************
  1733. *** 1,11 ****
  1734. ! /*
  1735. ! ** This file is part of the alternative 80386 math library and is
  1736. ! ** covered by the GNU General Public license with my modification
  1737. ! ** as noted in the README file that accompanied this file.
  1738. ! **
  1739. ! ** Copyright 1990 G. Geers
  1740. ! **
  1741. ! */
  1742.   
  1743.       .align 4
  1744.       .globl sin
  1745. --- 1,11 ----
  1746. ! //
  1747. ! // This file is part of the alternative 80386 math library and is
  1748. ! // covered by the GNU General Public license with my modification
  1749. ! // as noted in the README file that accompanied this file.
  1750. ! //
  1751. ! // Copyright 1990 G. Geers
  1752. ! //
  1753. ! //
  1754.   
  1755.       .align 4
  1756.       .globl sin
  1757. *** ../sinh.s    Sun Dec 16 08:51:42 1990
  1758. --- sinh.s    Tue Dec 18 06:53:16 1990
  1759. ***************
  1760. *** 1,15 ****
  1761. ! /*
  1762. ! ** This file is part of the alternative 80386 math library and is
  1763. ! ** covered by the GNU General Public license with my modification
  1764. ! ** as noted in the README file that accompanied this file.
  1765. ! **
  1766. ! ** Copyright 1990 G. Geers
  1767. ! **
  1768. ! ** This file started life as a C program but has been massively hacked.
  1769. ! **
  1770. ! ** The coefficients are from Hart, et.al. via Berkeley
  1771. ! **
  1772. ! */
  1773.   
  1774.   .data
  1775.       .align 4
  1776. --- 1,15 ----
  1777. ! //
  1778. ! // This file is part of the alternative 80386 math library and is
  1779. ! // covered by the GNU General Public license with my modification
  1780. ! // as noted in the README file that accompanied this file.
  1781. ! //
  1782. ! // Copyright 1990 G. Geers
  1783. ! //
  1784. ! // This file started life as a C program but has been massively hacked.
  1785. ! //
  1786. ! // The coefficients are from Hart, et.al. via Berkeley
  1787. ! //
  1788. ! //
  1789.   
  1790.   .data
  1791.       .align 4
  1792. ***************
  1793. *** 71,87 ****
  1794.       jbe .L3
  1795.       fldl -8(%ebp)
  1796.       fldl2e
  1797. !     fmulp
  1798. !     fstl %st(1)
  1799.       frndint
  1800. !     fstl %st(2)
  1801. !     fsubrp
  1802.       f2xm1
  1803.       fld1
  1804. !     faddp
  1805.       fscale
  1806.       fldl .LC1
  1807. !     fmulp
  1808.       testl %edx,%edx
  1809.       jg .L7
  1810.       fchs
  1811. --- 71,87 ----
  1812.       jbe .L3
  1813.       fldl -8(%ebp)
  1814.       fldl2e
  1815. !     fmulp %st, %st(1)
  1816. !     fst %st(1)
  1817.       frndint
  1818. !     fst %st(2)
  1819. !     fsubrp %st, %st(1)
  1820.       f2xm1
  1821.       fld1
  1822. !     faddp %st, %st(1)
  1823.       fscale
  1824.       fldl .LC1
  1825. !     fmulp %st, %st(1)
  1826.       testl %edx,%edx
  1827.       jg .L7
  1828.       fchs
  1829. ***************
  1830. *** 97,117 ****
  1831.       jbe .L6
  1832.       fldl 8(%ebp)
  1833.       fldl2e
  1834. !     fmulp
  1835. !     fstl %st(1)
  1836.       frndint
  1837. !     fstl %st(2)
  1838. !     fsubrp
  1839.       f2xm1
  1840.       fld1
  1841. !     faddp
  1842.       fscale
  1843.       fst %st(1)
  1844.       fld1
  1845. !     fdivp
  1846. !     fsubrp
  1847.       fldl .LC1
  1848. !     fmulp
  1849.       leave
  1850.       ret
  1851.   .L6:
  1852. --- 97,117 ----
  1853.       jbe .L6
  1854.       fldl 8(%ebp)
  1855.       fldl2e
  1856. !     fmulp %st, %st(1)
  1857. !     fst %st(1)
  1858.       frndint
  1859. !     fst %st(2)
  1860. !     fsubrp %st, %st(1)
  1861.       f2xm1
  1862.       fld1
  1863. !     faddp %st, %st(1)
  1864.       fscale
  1865.       fst %st(1)
  1866.       fld1
  1867. !     fdivp %st, %st(1)
  1868. !     fsubrp %st, %st(1)
  1869.       fldl .LC1
  1870. !     fmulp %st, %st(1)
  1871.       leave
  1872.       ret
  1873.   .L6:
  1874. *** ../sqrt.s    Sun Dec  9 18:13:57 1990
  1875. --- sqrt.s    Mon Dec 17 14:58:28 1990
  1876. ***************
  1877. *** 1,12 ****
  1878. ! /*
  1879. ! ** This file is part of the alternative 80386 math library and is
  1880. ! ** covered by the GNU General Public license with my modification
  1881. ! ** as noted in the README file that accompanied this file.
  1882. ! **
  1883. ! ** Copyright 1990 G. Geers
  1884. ! **
  1885. ! ** sqrt in the prevailing precision
  1886. ! */
  1887.   
  1888.       .align 4
  1889.       .globl sqrt
  1890. --- 1,12 ----
  1891. ! //
  1892. ! // This file is part of the alternative 80386 math library and is
  1893. ! // covered by the GNU General Public license with my modification
  1894. ! // as noted in the README file that accompanied this file.
  1895. ! //
  1896. ! // Copyright 1990 G. Geers
  1897. ! //
  1898. ! // sqrt in the prevailing precision
  1899. ! //
  1900.   
  1901.       .align 4
  1902.       .globl sqrt
  1903. *** ../sqrtp.s    Sun Dec  9 18:13:57 1990
  1904. --- sqrtp.s    Mon Dec 17 14:58:52 1990
  1905. ***************
  1906. *** 1,12 ****
  1907. ! /*
  1908. ! ** This file is part of the alternative 80386 math library and is
  1909. ! ** covered by the GNU General Public license with my modification
  1910. ! ** as noted in the README file that accompanied this file.
  1911. ! **
  1912. ! ** Copyright 1990 G. Geers
  1913. ! **
  1914. ! ** sqrt in 64 bit precision always
  1915. ! */
  1916.   
  1917.       .align 4
  1918.       .globl sqrtp
  1919. --- 1,12 ----
  1920. ! //
  1921. ! // This file is part of the alternative 80386 math library and is
  1922. ! // covered by the GNU General Public license with my modification
  1923. ! // as noted in the README file that accompanied this file.
  1924. ! //
  1925. ! // Copyright 1990 G. Geers
  1926. ! //
  1927. ! // sqrt in 64 bit precision always
  1928. ! //
  1929.   
  1930.       .align 4
  1931.       .globl sqrtp
  1932. *** ../tan.s    Sun Dec  9 18:13:57 1990
  1933. --- tan.s    Mon Dec 17 14:59:55 1990
  1934. ***************
  1935. *** 1,11 ****
  1936. ! /*
  1937. ! ** This file is part of the alternative 80386 math library and is
  1938. ! ** covered by the GNU General Public license with my modification
  1939. ! ** as noted in the README file that accompanied this file.
  1940. ! **
  1941. ! ** Copyright 1990 G. Geers
  1942. ! **
  1943. ! */
  1944.   
  1945.       .align 4
  1946.       .globl tan
  1947. --- 1,11 ----
  1948. ! //
  1949. ! // This file is part of the alternative 80386 math library and is
  1950. ! // covered by the GNU General Public license with my modification
  1951. ! // as noted in the README file that accompanied this file.
  1952. ! //
  1953. ! // Copyright 1990 G. Geers
  1954. ! //
  1955. ! //
  1956.   
  1957.       .align 4
  1958.       .globl tan
  1959. *** ../tanh.s    Sun Dec  9 18:13:58 1990
  1960. --- tanh.s    Tue Dec 18 06:56:49 1990
  1961. ***************
  1962. *** 1,11 ****
  1963. ! /*
  1964. ! ** This file is part of the alternative 80386 math library and is
  1965. ! ** covered by the GNU General Public license with my modification
  1966. ! ** as noted in the README file that accompanied this file.
  1967. ! **
  1968. ! ** Copyright 1990 G. Geers
  1969. ! **
  1970. ! */
  1971.   
  1972.       .align 4
  1973.       .globl tanh
  1974. --- 1,11 ----
  1975. ! //
  1976. ! // This file is part of the alternative 80386 math library and is
  1977. ! // covered by the GNU General Public license with my modification
  1978. ! // as noted in the README file that accompanied this file.
  1979. ! //
  1980. ! // Copyright 1990 G. Geers
  1981. ! //
  1982. ! //
  1983.   
  1984.       .align 4
  1985.       .globl tanh
  1986. ***************
  1987. *** 16,39 ****
  1988.   
  1989.       fldl 8(%ebp)
  1990.       fldl2e
  1991. !     fmulp
  1992. !     fstl %st(1)
  1993.       frndint
  1994. !     fstl %st(2)
  1995. !     fsubrp
  1996.       f2xm1
  1997.       fld1
  1998. !     faddp
  1999.       fscale
  2000. !     fstl %st(1)
  2001.       fstl -16(%ebp)
  2002.   
  2003.       fld1
  2004. !     fdivp
  2005.   
  2006. !     fsubr
  2007.       faddl -16(%ebp)
  2008. !     fdivrp
  2009.   
  2010.       leave
  2011.       ret
  2012. --- 16,39 ----
  2013.   
  2014.       fldl 8(%ebp)
  2015.       fldl2e
  2016. !     fmulp %st, %st(1)
  2017. !     fst %st(1)
  2018.       frndint
  2019. !     fst %st(2)
  2020. !     fsubrp %st, %st(1)
  2021.       f2xm1
  2022.       fld1
  2023. !     faddp %st, %st(1)
  2024.       fscale
  2025. !     fst %st(1)
  2026.       fstl -16(%ebp)
  2027.   
  2028.       fld1
  2029. !     fdivp %st, %st(1)
  2030.   
  2031. !     fsubr %st(1), %st
  2032.       faddl -16(%ebp)
  2033. !     fdivrp %st, %st(1)
  2034.   
  2035.       leave
  2036.       ret
  2037. *** ../nextafter.c    Mon Dec 17 12:00:23 1990
  2038. --- nextafter.c    Tue Dec 18 10:03:34 1990
  2039. ***************
  2040. *** 64,80 ****
  2041.               asm("fldl .Lulpup");
  2042.   
  2043.           asm("fldl -16(%ebp)");
  2044. !         asm("fmulp");
  2045.   
  2046.           if (y > x) {
  2047.               asm("fldl 8(%ebp)");
  2048. !             asm("faddp");
  2049.               asm("leave");
  2050.               asm("ret");
  2051.           }
  2052.           if (y < x) {
  2053.               asm("fldl 8(%ebp)");
  2054. !             asm("fsubp");
  2055.               asm("leave");
  2056.               asm("ret");
  2057.           }
  2058. --- 64,80 ----
  2059.               asm("fldl .Lulpup");
  2060.   
  2061.           asm("fldl -16(%ebp)");
  2062. !         asm("fmulp %st, %st(1)");
  2063.   
  2064.           if (y > x) {
  2065.               asm("fldl 8(%ebp)");
  2066. !             asm("faddp %st, %st(1)");
  2067.               asm("leave");
  2068.               asm("ret");
  2069.           }
  2070.           if (y < x) {
  2071.               asm("fldl 8(%ebp)");
  2072. !             asm("fsubp %st, %st(1)");
  2073.               asm("leave");
  2074.               asm("ret");
  2075.           }
  2076.