Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libm/sparc/src/locallibm.il
          +++ new/usr/src/lib/libm/sparc/src/locallibm.il
↓ open down ↓ 744 lines elided ↑ open up ↑
 745  745          .end
 746  746  
 747  747          .inline __r_quiet_nan_,0
 748  748          set     0x7fffffff,%o0
 749  749          st      %o0,[%sp+0x44]
 750  750          ld      [%sp+0x44],%f0
 751  751          .end
 752  752  
 753  753          .inline __swapEX,1
 754  754          and     %o0,0x1f,%o1
 755      -        sll     %o1,5,%o1               !  input to aexc bit location
      755 +        sll     %o1,5,%o1               ! shift input to aexc bit location
 756  756          .volatile
 757  757          st      %fsr,[%sp+0x44]
 758  758          ld      [%sp+0x44],%o0          ! o0 = fsr
 759  759          andn    %o0,0x3e0,%o2
 760  760          or      %o1,%o2,%o1             ! o1 = new fsr
 761  761          st      %o1,[%sp+0x44]
 762  762          ld      [%sp+0x44],%fsr
 763  763          srl     %o0,5,%o0
 764  764          and     %o0,0x1f,%o0
 765  765          .nonvolatile
↓ open down ↓ 4 lines elided ↑ open up ↑
 770  770          ld      [%sp+0x44],%o0          ! o0 = fsr
 771  771          srl     %o0,30,%o0              ! return __round control value
 772  772          .end
 773  773  
 774  774          .inline _QgetRP,0
 775  775          or      %g0,%g0,%o0
 776  776          .end
 777  777  
 778  778          .inline __swapRD,1
 779  779          and     %o0,0x3,%o0
 780      -        sll     %o0,30,%o1              !  input to RD bit location
      780 +        sll     %o0,30,%o1              ! shift input to RD bit location
 781  781          .volatile
 782  782          st      %fsr,[%sp+0x44]
 783  783          ld      [%sp+0x44],%o0          ! o0 = fsr
 784  784          set     0xc0000000,%o4          ! mask of rounding direction bits
 785  785          andn    %o0,%o4,%o2
 786  786          or      %o1,%o2,%o1             ! o1 = new fsr
 787  787          st      %o1,[%sp+0x44]
 788  788          ld      [%sp+0x44],%fsr
 789  789          srl     %o0,30,%o0
 790  790          and     %o0,0x3,%o0
↓ open down ↓ 2 lines elided ↑ open up ↑
 793  793  !
 794  794  ! On the SPARC, __swapRP is a no-op; always return 0 for backward compatibility
 795  795  !
 796  796  
 797  797          .inline __swapRP,1
 798  798          or      %g0,%g0,%o0
 799  799          .end
 800  800  
 801  801          .inline __swapTE,1
 802  802          and     %o0,0x1f,%o0
 803      -        sll     %o0,23,%o1              !  input to TEM bit location
      803 +        sll     %o0,23,%o1              ! shift input to TEM bit location
 804  804          .volatile
 805  805          st      %fsr,[%sp+0x44]
 806  806          ld      [%sp+0x44],%o0            ! o0 = fsr
 807  807          set     0x0f800000,%o4          ! mask of TEM (Trap Enable Mode bits)
 808  808          andn    %o0,%o4,%o2
 809  809          or      %o1,%o2,%o1             ! o1 = new fsr
 810  810          st      %o1,[%sp+0x48]
 811  811          ld      [%sp+0x48],%fsr
 812  812          srl     %o0,23,%o0
 813  813          and     %o0,0x1f,%o0
↓ open down ↓ 1221 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX