floor32.s
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* floor32.s - VxWorks conversion from Microtek tools to Sun native */
  2. /* Copyright 1984-1992 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,06aug92,jwt  converted.
  7. */
  8. /*
  9. ! ! ! ! !
  10. ! SPARClite Floating Point Library
  11. !
  12. ! Copyright (C) 1992 By
  13. ! United States Software Corporation
  14. ! 14215 N.W. Science Park Drive
  15. ! Portland, Oregon 97229
  16. !
  17. ! This software is furnished under a license and may be used
  18. ! and copied only in accordance with the terms of such license
  19. ! and with the inclusion of the above copyright notice.
  20. ! This software or any other copies thereof may not be provided
  21. ! or otherwise made available to any other person.  No title to
  22. ! and ownership of the software is hereby transferred.
  23. !
  24. ! The information in this software is subject to change without 
  25. ! notice and should not be construed as a commitment by United
  26. ! States Software Corporation.
  27. !
  28. ! First Release: V1.02 March 26 1992
  29. ! ! ! ! !
  30. .macro scan,p1,p2,p3
  31. .word 0x81602000 | (&p3<<25) | (&p1<<14) | p2
  32. .endm
  33. .macro umul,p1,p2,p3
  34. .word 0x80500000 | (&p3<<25) | (&p1<<14) | &p2
  35. .endm
  36. .macro divscc,p1,p2,p3
  37. .word 0x80e80000 | (&p3<<25) | (&p1<<14) | &p2
  38. .endm
  39. */
  40. #include "arch/sparc/ussSun4.h"
  41. .text
  42. .align 4
  43. .global _dpfloor
  44. _dpfloor:
  45. .global _floor
  46. _floor:
  47. save %sp,-96,%sp
  48. sethi   %hi(0x80000000),%l0
  49. and     %l0,%i0,%i2
  50. sll     %i0,1,%i3
  51. srl     %i3,21,%i3
  52. subcc   %i3,0x7ff,%g0
  53. be      Aspec    
  54. NOP
  55. or      %g0,0x433,%l0
  56. sub     %l0,%i3,%i3
  57. subcc   %i3,0x35,%g0
  58. bcs     i1             
  59. subcc   %i3,0,%i3
  60. bneg    Aret           
  61. subcc   %i2,0,%i2
  62. be      Azer           
  63. sll     %i0,1,%l0
  64. orcc    %l0,%i1,%l0
  65. bne     Amin1    
  66. NOP
  67. ba,a    Azer     
  68. i1: subcc   %i2,0,%i2
  69. be      i3       
  70. NOP
  71. subcc   %g0,%i1,%i1
  72. subx    %g0,%i0,%i0
  73. i3: and     %i3,0x1f,%l0
  74. or      %g0,1,%i5
  75. sll     %i5,%l0,%i5
  76. sub     %g0,%i5,%i5
  77. subcc   %i3,0x20,%g0
  78. bcs     i4       
  79. NOP
  80. or      %g0,0,%i1
  81. ba      e4       
  82. and     %i0,%i5,%i0
  83. i4: and     %i1,%i5,%i1
  84. e4: subcc   %i2,0,%i2
  85. be      Aret     
  86. NOP
  87. subcc   %g0,%i1,%i1
  88. subx    %g0,%i0,%i0
  89. Aret:
  90. A999: jmpl %i7+8,%g0
  91. restore %g0,0,%g0
  92. Aspec: sethi   %hi(0xfff00000),%l1
  93. andn    %i0,%l1,%l0
  94. orcc    %l0,%i1,%l0
  95. bne     Anan     
  96. NOP
  97. ba,a    Aret     
  98. Amin1: sethi   %hi(0xbff00000),%i0
  99. ba      Aret     
  100. or      %g0,0,%i1
  101. Azer: or      %g0,%i2,%i0
  102. ba      Aret     
  103. or      %g0,0,%i1
  104. Anan: sethi   %hi(0xfff80000),%i0
  105. ba      Aret     
  106. or      %g0,0,%i1
  107. ! .end