isnormal.S 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. /*
  2. * Math library
  3. *
  4. * Copyright (C) 2016 Intel Corporation. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * * Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in
  14. * the documentation and/or other materials provided with the
  15. * distribution.
  16. * * Neither the name of Intel Corporation nor the names of its
  17. * contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. *
  32. *
  33. * Author Name <jingwei.zhang@intel.com>
  34. * History:
  35. * 03-14-2016 Initial version. numerics svn rev. 12864
  36. */
  37. .file "isnormal.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __isnormald
  41. .text
  42. .align 16,0x90
  43. .globl __isnormald
  44. __isnormald:
  45. # parameter 1: 4 + %esp
  46. ..B1.1:
  47. ..L1:
  48. movl 8(%esp), %eax
  49. andl $2147483647, %eax
  50. addl $-1048576, %eax
  51. cmpl $2145386496, %eax
  52. movl $0, %eax
  53. setb %al
  54. ret
  55. .align 16,0x90
  56. .type __isnormald,@function
  57. .size __isnormald,.-__isnormald
  58. .data
  59. # -- End __isnormald
  60. .text
  61. # -- Begin isnormald
  62. .text
  63. .align 16,0x90
  64. .globl isnormald
  65. isnormald:
  66. # parameter 1: 4 + %esp
  67. ..B2.1:
  68. ..L2:
  69. movl 8(%esp), %eax
  70. andl $2147483647, %eax
  71. addl $-1048576, %eax
  72. cmpl $2145386496, %eax
  73. movl $0, %eax
  74. setb %al
  75. ret
  76. .align 16,0x90
  77. .type isnormald,@function
  78. .size isnormald,.-isnormald
  79. .data
  80. # -- End isnormald
  81. .text
  82. # -- Begin __isnormal
  83. .text
  84. .align 16,0x90
  85. .globl __isnormal
  86. __isnormal:
  87. # parameter 1: 4 + %esp
  88. ..B3.1:
  89. ..L3:
  90. movl 8(%esp), %eax
  91. andl $2147483647, %eax
  92. addl $-1048576, %eax
  93. cmpl $2145386496, %eax
  94. movl $0, %eax
  95. setb %al
  96. ret
  97. .align 16,0x90
  98. .type __isnormal,@function
  99. .size __isnormal,.-__isnormal
  100. .data
  101. # -- End __isnormal
  102. .text
  103. # -- Begin isnormal
  104. .text
  105. .align 16,0x90
  106. .globl isnormal
  107. isnormal:
  108. # parameter 1: 4 + %esp
  109. ..B4.1:
  110. ..L4:
  111. movl 8(%esp), %eax
  112. andl $2147483647, %eax
  113. addl $-1048576, %eax
  114. cmpl $2145386496, %eax
  115. movl $0, %eax
  116. setb %al
  117. ret
  118. .align 16,0x90
  119. .type isnormal,@function
  120. .size isnormal,.-isnormal
  121. .data
  122. # -- End isnormal
  123. .text
  124. # -- Begin __isnormalf
  125. .text
  126. .align 16,0x90
  127. .globl __isnormalf
  128. __isnormalf:
  129. # parameter 1: 4 + %esp
  130. ..B5.1:
  131. ..L5:
  132. movl 4(%esp), %eax
  133. andl $2147483647, %eax
  134. addl $-8388608, %eax
  135. cmpl $2130706432, %eax
  136. movl $0, %eax
  137. setb %al
  138. ret
  139. .align 16,0x90
  140. .type __isnormalf,@function
  141. .size __isnormalf,.-__isnormalf
  142. .data
  143. # -- End __isnormalf
  144. .text
  145. # -- Begin isnormalf
  146. .text
  147. .align 16,0x90
  148. .globl isnormalf
  149. isnormalf:
  150. # parameter 1: 4 + %esp
  151. ..B6.1:
  152. ..L6:
  153. movl 4(%esp), %eax
  154. andl $2147483647, %eax
  155. addl $-8388608, %eax
  156. cmpl $2130706432, %eax
  157. movl $0, %eax
  158. setb %al
  159. ret
  160. .align 16,0x90
  161. .type isnormalf,@function
  162. .size isnormalf,.-isnormalf
  163. .data
  164. # -- End isnormalf
  165. .text
  166. # -- Begin __isnormall
  167. .text
  168. .align 16,0x90
  169. .globl __isnormall
  170. __isnormall:
  171. # parameter 1: 4 + %esp
  172. ..B7.1:
  173. ..L7:
  174. movzwl 12(%esp), %edx
  175. shll $16, %edx
  176. movzwl 10(%esp), %eax
  177. orl %eax, %edx
  178. andl $2147483647, %edx
  179. cmpl $4096, %edx
  180. jb ..B7.4
  181. ..B7.2:
  182. testl $32768, %edx
  183. jne ..B7.4
  184. ..B7.3:
  185. xorl %eax, %eax
  186. ret
  187. ..B7.4:
  188. addl $-65536, %edx
  189. xorl %eax, %eax
  190. cmpl $2147352576, %edx
  191. setb %al
  192. ret
  193. .align 16,0x90
  194. .type __isnormall,@function
  195. .size __isnormall,.-__isnormall
  196. .data
  197. # -- End __isnormall
  198. .text
  199. # -- Begin isnormall
  200. .text
  201. .align 16,0x90
  202. .globl isnormall
  203. isnormall:
  204. # parameter 1: 4 + %esp
  205. ..B8.1:
  206. ..L8:
  207. movzwl 12(%esp), %edx
  208. shll $16, %edx
  209. movzwl 10(%esp), %eax
  210. orl %eax, %edx
  211. andl $2147483647, %edx
  212. cmpl $4096, %edx
  213. jb ..B8.4
  214. ..B8.2:
  215. testl $32768, %edx
  216. jne ..B8.4
  217. ..B8.3:
  218. xorl %eax, %eax
  219. ret
  220. ..B8.4:
  221. addl $-65536, %edx
  222. xorl %eax, %eax
  223. cmpl $2147352576, %edx
  224. setb %al
  225. ret
  226. .align 16,0x90
  227. .type isnormall,@function
  228. .size isnormall,.-isnormall
  229. .data
  230. # -- End isnormall
  231. .data
  232. .section .note.GNU-stack, ""
  233. # End