powf_wmt.S 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986
  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 "powf_wmt.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin static_func
  41. .text
  42. .align 16,0x90
  43. static_func:
  44. ..B1.1:
  45. ..L1:
  46. call ..L2
  47. ..L2:
  48. popl %eax
  49. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
  50. lea static_const_table@GOTOFF(%eax), %eax
  51. ret
  52. .align 16,0x90
  53. .type static_func,@function
  54. .size static_func,.-static_func
  55. .data
  56. # -- End static_func
  57. .text
  58. # -- Begin powf
  59. .text
  60. .align 16,0x90
  61. .globl powf
  62. powf:
  63. # parameter 1: 8 + %ebp
  64. # parameter 2: 12 + %ebp
  65. ..B2.1:
  66. ..L3:
  67. ..B2.2:
  68. pushl %ebp
  69. movl %esp, %ebp
  70. subl $104, %esp
  71. movl %ebx, 48(%esp)
  72. call static_func
  73. movl %eax, %ebx
  74. movss 112(%esp), %xmm0
  75. movss 116(%esp), %xmm1
  76. movl 112(%esp), %eax
  77. movaps %xmm1, %xmm5
  78. movss %xmm1, 8(%esp)
  79. movsd 1424(%ebx), %xmm1
  80. movsd 1440(%ebx), %xmm7
  81. movss %xmm0, 4(%esp)
  82. psllq $29, %xmm0
  83. movapd 1312(%ebx), %xmm6
  84. cvtss2sd %xmm5, %xmm5
  85. movsd 528(%ebx), %xmm2
  86. orpd %xmm0, %xmm1
  87. movl $2130706431, %ecx
  88. movl %eax, %edx
  89. subl $8388608, %edx
  90. cmpl %edx, %ecx
  91. jb .L_2TAG_PACKET_0.0.3
  92. movl $0, %ecx
  93. shrl $16, %eax
  94. .L_2TAG_PACKET_1.0.3:
  95. .L_2TAG_PACKET_2.0.3:
  96. movl $127, %edx
  97. andl %eax, %edx
  98. addl $1, %edx
  99. andl $254, %edx
  100. movsd 528(%ebx,%edx,4), %xmm3
  101. movsd (%ebx,%edx,4), %xmm0
  102. addl $65, %eax
  103. sarl $7, %eax
  104. subl $127, %eax
  105. cvtsi2sdl %eax, %xmm4
  106. andpd %xmm3, %xmm7
  107. subsd %xmm7, %xmm3
  108. mulsd %xmm1, %xmm7
  109. mulsd %xmm3, %xmm1
  110. movl %eax, %edx
  111. sarl $31, %eax
  112. addl %eax, %edx
  113. xorl %edx, %eax
  114. subsd %xmm2, %xmm7
  115. movapd 1328(%ebx), %xmm2
  116. addsd %xmm7, %xmm1
  117. movsd 1472(%ebx), %xmm3
  118. pshufd $68, %xmm1, %xmm7
  119. addsd %xmm1, %xmm0
  120. bsr %eax, %eax
  121. mulpd %xmm7, %xmm6
  122. movzwl 10(%esp), %edx
  123. mulpd %xmm7, %xmm7
  124. addsd %xmm4, %xmm0
  125. addpd %xmm2, %xmm6
  126. andl $32752, %edx
  127. shrl $7, %edx
  128. subl $97, %eax
  129. addl %edx, %eax
  130. cmpl $35, %eax
  131. jae .L_2TAG_PACKET_3.0.3
  132. mulsd %xmm5, %xmm0
  133. mulsd %xmm7, %xmm7
  134. movapd %xmm0, %xmm4
  135. addsd %xmm3, %xmm0
  136. mulpd %xmm7, %xmm6
  137. movd %xmm0, %eax
  138. subsd %xmm3, %xmm0
  139. pshufd $238, %xmm6, %xmm7
  140. subsd %xmm0, %xmm4
  141. addsd %xmm7, %xmm6
  142. movapd 1344(%ebx), %xmm7
  143. mulsd %xmm6, %xmm5
  144. movapd 1360(%ebx), %xmm2
  145. xorpd %xmm6, %xmm6
  146. addsd %xmm5, %xmm4
  147. pshufd $68, %xmm4, %xmm1
  148. movl %eax, %edx
  149. sarl $1, %edx
  150. andl $31, %eax
  151. movsd 1056(%ebx,%eax,8), %xmm3
  152. orl $16368, %ecx
  153. andl $-16, %edx
  154. addl %edx, %ecx
  155. pinsrw $3, %ecx, %xmm6
  156. mulpd %xmm1, %xmm7
  157. mulsd %xmm1, %xmm1
  158. mulsd %xmm3, %xmm4
  159. addpd %xmm7, %xmm2
  160. mulsd %xmm6, %xmm3
  161. mulsd %xmm6, %xmm4
  162. mulsd %xmm2, %xmm1
  163. pshufd $238, %xmm2, %xmm0
  164. addsd %xmm1, %xmm0
  165. mulsd %xmm4, %xmm0
  166. addsd %xmm0, %xmm3
  167. cvtpd2ps %xmm3, %xmm0
  168. movss %xmm0, (%esp)
  169. flds (%esp)
  170. jmp .L_2TAG_PACKET_4.0.3
  171. .L_2TAG_PACKET_5.0.3:
  172. movss 112(%esp), %xmm0
  173. movss 116(%esp), %xmm1
  174. mulss %xmm1, %xmm0
  175. movss %xmm0, (%esp)
  176. flds (%esp)
  177. jmp .L_2TAG_PACKET_4.0.3
  178. .L_2TAG_PACKET_0.0.3:
  179. cmpl $1065353216, 8(%esp)
  180. je .L_2TAG_PACKET_5.0.3
  181. movsd 1392(%ebx), %xmm3
  182. movd %xmm5, %edx
  183. movapd %xmm5, %xmm0
  184. movapd %xmm5, %xmm7
  185. andpd %xmm3, %xmm0
  186. psrlq $32, %xmm0
  187. movd %xmm0, %ecx
  188. cmpl $2146435072, %ecx
  189. jae .L_2TAG_PACKET_6.0.3
  190. orl %ecx, %edx
  191. cmpl $0, %edx
  192. je .L_2TAG_PACKET_7.0.3
  193. movl 4(%esp), %edx
  194. cmpl $2139095039, %edx
  195. jbe .L_2TAG_PACKET_8.0.3
  196. psllq $52, %xmm3
  197. orpd %xmm3, %xmm7
  198. movl $1011, %ecx
  199. movd %ecx, %xmm3
  200. psrlq $20, %xmm0
  201. psubd %xmm3, %xmm0
  202. pxor %xmm3, %xmm3
  203. pmaxsw %xmm3, %xmm0
  204. psllq %xmm0, %xmm7
  205. pcmpeqd %xmm3, %xmm7
  206. pmovmskb %xmm7, %ecx
  207. andl $255, %ecx
  208. andl $2147483647, %edx
  209. cmpl $2139095040, %edx
  210. jae .L_2TAG_PACKET_9.0.3
  211. cmpl $255, %ecx
  212. jne .L_2TAG_PACKET_10.0.3
  213. movsd 1392(%ebx), %xmm3
  214. movapd %xmm5, %xmm0
  215. movapd %xmm5, %xmm7
  216. andpd %xmm3, %xmm0
  217. movl $1012, %ecx
  218. movd %ecx, %xmm3
  219. andpd 1392(%ebx), %xmm0
  220. psrlq $52, %xmm0
  221. psubd %xmm3, %xmm0
  222. movsd 1488(%ebx), %xmm3
  223. psllq %xmm0, %xmm7
  224. pcmpeqd %xmm3, %xmm7
  225. pmovmskb %xmm7, %ecx
  226. andl $255, %ecx
  227. addl $32513, %ecx
  228. andl $32768, %ecx
  229. movsd 1440(%ebx), %xmm7
  230. cmpl $8388608, %edx
  231. jb .L_2TAG_PACKET_11.0.3
  232. movl 4(%esp), %eax
  233. shrl $16, %eax
  234. andl $32767, %eax
  235. jmp .L_2TAG_PACKET_1.0.3
  236. .L_2TAG_PACKET_6.0.3:
  237. movss 4(%esp), %xmm0
  238. movd %xmm0, %edx
  239. andl $2147483647, %edx
  240. cmpl $2139095040, %edx
  241. ja .L_2TAG_PACKET_12.0.3
  242. jmp .L_2TAG_PACKET_13.0.3
  243. .L_2TAG_PACKET_12.0.3:
  244. movss 4(%esp), %xmm0
  245. addss %xmm0, %xmm0
  246. movss %xmm0, (%esp)
  247. flds (%esp)
  248. jmp .L_2TAG_PACKET_4.0.3
  249. .L_2TAG_PACKET_8.0.3:
  250. movl $0, %ecx
  251. .L_2TAG_PACKET_11.0.3:
  252. xorpd %xmm0, %xmm0
  253. movl $24448, %edx
  254. pinsrw $1, %edx, %xmm0
  255. movss 4(%esp), %xmm4
  256. movsd 1424(%ebx), %xmm1
  257. mulss %xmm0, %xmm4
  258. movd %xmm4, %edx
  259. andl $2147483647, %edx
  260. cmpl $0, %edx
  261. je .L_2TAG_PACKET_14.0.3
  262. pextrw $1, %xmm4, %eax
  263. movaps %xmm4, %xmm0
  264. andps 1376(%ebx), %xmm4
  265. psllq $29, %xmm0
  266. orpd %xmm0, %xmm1
  267. andl $32767, %eax
  268. subl $8192, %eax
  269. jmp .L_2TAG_PACKET_2.0.3
  270. .L_2TAG_PACKET_15.0.3:
  271. movl 8(%esp), %edx
  272. andl $-2147483648, %edx
  273. cmpl $0, %edx
  274. je .L_2TAG_PACKET_16.0.3
  275. movss 1536(%ebx), %xmm0
  276. xorps %xmm4, %xmm4
  277. divss %xmm4, %xmm0
  278. movl $33, %edx
  279. jmp .L_2TAG_PACKET_17.0.3
  280. .L_2TAG_PACKET_14.0.3:
  281. movl 8(%esp), %edx
  282. andl $-2147483648, %edx
  283. cmpl $0, %edx
  284. je .L_2TAG_PACKET_18.0.3
  285. shll $16, %ecx
  286. movl 4(%esp), %edx
  287. andl %ecx, %edx
  288. orl $2139095040, %edx
  289. movd %edx, %xmm0
  290. movss 1536(%ebx), %xmm1
  291. divss %xmm4, %xmm1
  292. movl $33, %edx
  293. jmp .L_2TAG_PACKET_17.0.3
  294. .L_2TAG_PACKET_18.0.3:
  295. shll $16, %ecx
  296. movd %xmm4, %edx
  297. andl %ecx, %edx
  298. cmpl $0, %edx
  299. jne .L_2TAG_PACKET_19.0.3
  300. fldz
  301. jmp .L_2TAG_PACKET_4.0.3
  302. .L_2TAG_PACKET_9.0.3:
  303. movl 4(%esp), %edx
  304. cmpl $2139095040, %edx
  305. je .L_2TAG_PACKET_20.0.3
  306. andl $2147483647, %edx
  307. cmpl $2139095040, %edx
  308. ja .L_2TAG_PACKET_12.0.3
  309. cmpl $255, %ecx
  310. jne .L_2TAG_PACKET_21.0.3
  311. movapd %xmm5, %xmm1
  312. movapd %xmm5, %xmm2
  313. movl $1012, %ecx
  314. movd %ecx, %xmm3
  315. andpd 1392(%ebx), %xmm1
  316. psrlq $52, %xmm1
  317. psubd %xmm3, %xmm1
  318. pxor %xmm3, %xmm3
  319. psllq %xmm1, %xmm2
  320. pcmpeqd %xmm3, %xmm2
  321. pmovmskb %xmm2, %eax
  322. andl $255, %eax
  323. cmpl $255, %eax
  324. je .L_2TAG_PACKET_21.0.3
  325. pextrw $3, %xmm5, %eax
  326. andl $32768, %eax
  327. cmpl $0, %eax
  328. je .L_2TAG_PACKET_22.0.3
  329. .L_2TAG_PACKET_19.0.3:
  330. flds 1552(%ebx)
  331. jmp .L_2TAG_PACKET_4.0.3
  332. .L_2TAG_PACKET_22.0.3:
  333. flds 1520(%ebx)
  334. jmp .L_2TAG_PACKET_4.0.3
  335. .L_2TAG_PACKET_21.0.3:
  336. pextrw $3, %xmm5, %eax
  337. andl $32768, %eax
  338. cmpl $0, %eax
  339. je .L_2TAG_PACKET_23.0.3
  340. fldz
  341. jmp .L_2TAG_PACKET_4.0.3
  342. .L_2TAG_PACKET_20.0.3:
  343. pextrw $3, %xmm5, %eax
  344. andl $32768, %eax
  345. cmpl $0, %eax
  346. je .L_2TAG_PACKET_23.0.3
  347. fldz
  348. jmp .L_2TAG_PACKET_4.0.3
  349. .L_2TAG_PACKET_10.0.3:
  350. cmpl $0, %edx
  351. je .L_2TAG_PACKET_15.0.3
  352. movss 1568(%ebx), %xmm0
  353. mulss %xmm0, %xmm0
  354. movl $34, %edx
  355. jmp .L_2TAG_PACKET_17.0.3
  356. .L_2TAG_PACKET_13.0.3:
  357. movss 4(%esp), %xmm4
  358. movss 8(%esp), %xmm5
  359. movl 8(%esp), %eax
  360. movl %eax, %ecx
  361. andl $2147483647, %eax
  362. cmpl $2139095040, %eax
  363. ja .L_2TAG_PACKET_24.0.3
  364. andl $-2147483648, %ecx
  365. movd %xmm4, %edx
  366. movl $2147483647, %eax
  367. andl %edx, %eax
  368. je .L_2TAG_PACKET_14.0.3
  369. xorl $-1082130432, %edx
  370. cmpl $0, %edx
  371. je .L_2TAG_PACKET_25.0.3
  372. cmpl $0, %ecx
  373. je .L_2TAG_PACKET_26.0.3
  374. movd %xmm4, %eax
  375. andl $2147483647, %eax
  376. cmpl $1065353216, %eax
  377. jae .L_2TAG_PACKET_16.0.3
  378. jmp .L_2TAG_PACKET_23.0.3
  379. .L_2TAG_PACKET_16.0.3:
  380. fldz
  381. jmp .L_2TAG_PACKET_4.0.3
  382. .L_2TAG_PACKET_25.0.3:
  383. movss 116(%esp), %xmm1
  384. xorps %xmm0, %xmm0
  385. addss %xmm1, %xmm0
  386. fld1
  387. jmp .L_2TAG_PACKET_4.0.3
  388. .L_2TAG_PACKET_26.0.3:
  389. pextrw $1, %xmm4, %eax
  390. andl $32640, %eax
  391. cmpl $16256, %eax
  392. jae .L_2TAG_PACKET_23.0.3
  393. fldz
  394. jmp .L_2TAG_PACKET_4.0.3
  395. .L_2TAG_PACKET_23.0.3:
  396. flds 1504(%ebx)
  397. jmp .L_2TAG_PACKET_4.0.3
  398. .L_2TAG_PACKET_24.0.3:
  399. movss 8(%esp), %xmm5
  400. addss %xmm5, %xmm5
  401. movss %xmm5, (%esp)
  402. flds (%esp)
  403. jmp .L_2TAG_PACKET_4.0.3
  404. .L_2TAG_PACKET_7.0.3:
  405. movss 4(%esp), %xmm4
  406. movss 8(%esp), %xmm5
  407. movd %xmm4, %eax
  408. movss 1536(%ebx), %xmm0
  409. movl $32, %edx
  410. cmpl $0, %eax
  411. je .L_2TAG_PACKET_17.0.3
  412. movd %xmm4, %eax
  413. xorps %xmm2, %xmm2
  414. addss %xmm2, %xmm4
  415. movl $35, %edx
  416. andl $2147483647, %eax
  417. cmpl $2139095040, %eax
  418. ja .L_2TAG_PACKET_17.0.3
  419. movss %xmm0, (%esp)
  420. flds (%esp)
  421. jmp .L_2TAG_PACKET_4.0.3
  422. .L_2TAG_PACKET_27.0.3:
  423. mulsd %xmm7, %xmm7
  424. mulpd %xmm7, %xmm6
  425. pshufd $238, %xmm6, %xmm7
  426. addsd %xmm7, %xmm0
  427. mulsd %xmm5, %xmm0
  428. movapd 1344(%ebx), %xmm7
  429. mulsd %xmm6, %xmm5
  430. movapd %xmm0, %xmm4
  431. addsd %xmm3, %xmm0
  432. movd %xmm0, %eax
  433. subsd %xmm3, %xmm0
  434. subsd %xmm0, %xmm4
  435. movapd 1360(%ebx), %xmm2
  436. xorpd %xmm6, %xmm6
  437. addsd %xmm5, %xmm4
  438. pshufd $68, %xmm4, %xmm1
  439. movl %eax, %edx
  440. sarl $1, %edx
  441. andl $31, %eax
  442. movsd 1056(%ebx,%eax,8), %xmm3
  443. orl $16368, %ecx
  444. andl $-16, %edx
  445. addl %edx, %ecx
  446. pinsrw $3, %ecx, %xmm6
  447. mulpd %xmm1, %xmm7
  448. mulsd %xmm1, %xmm1
  449. mulsd %xmm3, %xmm4
  450. addpd %xmm7, %xmm2
  451. mulsd %xmm6, %xmm3
  452. mulsd %xmm6, %xmm4
  453. mulsd %xmm2, %xmm1
  454. pshufd $238, %xmm2, %xmm0
  455. addsd %xmm1, %xmm0
  456. mulsd %xmm4, %xmm0
  457. addsd %xmm3, %xmm0
  458. cvtpd2ps %xmm0, %xmm0
  459. pextrw $1, %xmm0, %eax
  460. andl $32767, %eax
  461. movl $30, %edx
  462. cmpl $32640, %eax
  463. jae .L_2TAG_PACKET_17.0.3
  464. movl $31, %edx
  465. cmpl $16, %eax
  466. jb .L_2TAG_PACKET_17.0.3
  467. movss %xmm0, (%esp)
  468. flds (%esp)
  469. jmp .L_2TAG_PACKET_4.0.3
  470. .L_2TAG_PACKET_28.0.3:
  471. movl $30, %edx
  472. orl $32639, %ecx
  473. xorpd %xmm0, %xmm0
  474. pinsrw $1, %ecx, %xmm0
  475. addss %xmm0, %xmm0
  476. jmp .L_2TAG_PACKET_17.0.3
  477. .L_2TAG_PACKET_29.0.3:
  478. movl $31, %edx
  479. movl $8388608, %eax
  480. movd %eax, %xmm1
  481. mulss %xmm1, %xmm1
  482. xorpd %xmm0, %xmm0
  483. pinsrw $1, %ecx, %xmm0
  484. .L_2TAG_PACKET_17.0.3:
  485. movss %xmm0, (%esp)
  486. subl $32, %esp
  487. lea 112(%esp), %eax
  488. movl %eax, (%esp)
  489. lea 116(%esp), %eax
  490. movl %eax, 4(%esp)
  491. lea 32(%esp), %eax
  492. movl %eax, 8(%esp)
  493. movl %edx, %eax
  494. movl %eax, 12(%esp)
  495. call __libm_error_support
  496. addl $32, %esp
  497. flds (%esp)
  498. jmp .L_2TAG_PACKET_4.0.3
  499. .L_2TAG_PACKET_3.0.3:
  500. movl 4(%esp), %edx
  501. cmpl $1065353216, %edx
  502. je .L_2TAG_PACKET_25.0.3
  503. movl 8(%esp), %edx
  504. andl $2147483647, %edx
  505. cmpl $2139095040, %edx
  506. jae .L_2TAG_PACKET_13.0.3
  507. cmpl $0, %edx
  508. je .L_2TAG_PACKET_7.0.3
  509. cmpl $0, %eax
  510. jl .L_2TAG_PACKET_30.0.3
  511. cmpl $38, %eax
  512. jb .L_2TAG_PACKET_27.0.3
  513. movl 4(%esp), %edx
  514. andl $2139095040, %edx
  515. subl $1056964608, %edx
  516. cmpl $8388608, %edx
  517. jbe .L_2TAG_PACKET_31.0.3
  518. .L_2TAG_PACKET_32.0.3:
  519. movl 4(%esp), %eax
  520. movl 8(%esp), %edx
  521. andl $2139095040, %eax
  522. subl $1065353216, %eax
  523. xorl %edx, %eax
  524. andl $-2147483648, %eax
  525. cmpl $0, %eax
  526. je .L_2TAG_PACKET_28.0.3
  527. jmp .L_2TAG_PACKET_29.0.3
  528. .L_2TAG_PACKET_31.0.3:
  529. movss 4(%esp), %xmm4
  530. movl $1065353216, %eax
  531. movd %eax, %xmm2
  532. pslld $1, %xmm4
  533. psrld $1, %xmm4
  534. subss %xmm4, %xmm2
  535. movd %xmm2, %edx
  536. andl $2139095040, %edx
  537. je .L_2TAG_PACKET_30.0.3
  538. movapd %xmm5, %xmm4
  539. mulsd %xmm0, %xmm4
  540. pextrw $3, %xmm4, %eax
  541. andl $32752, %eax
  542. cmpl $16496, %eax
  543. jb .L_2TAG_PACKET_27.0.3
  544. jmp .L_2TAG_PACKET_32.0.3
  545. .L_2TAG_PACKET_30.0.3:
  546. shll $16, %ecx
  547. orl $1065353216, %ecx
  548. movd %ecx, %xmm0
  549. movss %xmm0, (%esp)
  550. flds (%esp)
  551. .L_2TAG_PACKET_4.0.3:
  552. movl 48(%esp), %ebx
  553. movl %ebp, %esp
  554. popl %ebp
  555. ret
  556. ..B2.3:
  557. .align 16,0x90
  558. .type powf,@function
  559. .size powf,.-powf
  560. .data
  561. # -- End powf
  562. .text
  563. # -- Begin __libm_error_support
  564. .text
  565. .align 16,0x90
  566. __libm_error_support:
  567. # parameter 1: 4 + %esp
  568. # parameter 2: 8 + %esp
  569. # parameter 3: 12 + %esp
  570. # parameter 4: 16 + %esp
  571. ..B3.1:
  572. ..L4:
  573. ret
  574. .align 16,0x90
  575. .type __libm_error_support,@function
  576. .size __libm_error_support,.-__libm_error_support
  577. .data
  578. # -- End __libm_error_support
  579. .section .rodata, "a"
  580. .align 16
  581. .align 16
  582. static_const_table:
  583. .long 0
  584. .long 0
  585. .long 2244132864
  586. .long 1066854294
  587. .long 1972305920
  588. .long 1067891411
  589. .long 2678235136
  590. .long 1068559160
  591. .long 4207480832
  592. .long 1068917750
  593. .long 1085124608
  594. .long 1069271106
  595. .long 2363127808
  596. .long 1069583448
  597. .long 3799560192
  598. .long 1069755113
  599. .long 972806144
  600. .long 1069924378
  601. .long 3492741120
  602. .long 1070091307
  603. .long 766832640
  604. .long 1070255966
  605. .long 1278367744
  606. .long 1070418414
  607. .long 3103942656
  608. .long 1070578710
  609. .long 3671264256
  610. .long 1070666503
  611. .long 2869823488
  612. .long 1070744583
  613. .long 3466906624
  614. .long 1070821668
  615. .long 1271733248
  616. .long 1070897784
  617. .long 972806144
  618. .long 1070972954
  619. .long 3449621504
  620. .long 1071047201
  621. .long 1662393344
  622. .long 1071120549
  623. .long 2300516352
  624. .long 1071193018
  625. .long 176119808
  626. .long 1071264630
  627. .long 4147676160
  628. .long 1071335403
  629. .long 2905168896
  630. .long 1071405359
  631. .long 3761433600
  632. .long 1071474515
  633. .long 2716292096
  634. .long 1071542890
  635. .long 1758136320
  636. .long 1071610501
  637. .long 2341968384
  638. .long 1071661018
  639. .long 14039552
  640. .long 1071694085
  641. .long 4204914176
  642. .long 1071726793
  643. .long 513134592
  644. .long 1071759153
  645. .long 3559335936
  646. .long 1071791169
  647. .long 1904282624
  648. .long 3218771961
  649. .long 714524672
  650. .long 3218709255
  651. .long 180337664
  652. .long 3218647192
  653. .long 47131648
  654. .long 3218585759
  655. .long 1751500800
  656. .long 3218524943
  657. .long 4058951680
  658. .long 3218464732
  659. .long 2999895040
  660. .long 3218405115
  661. .long 398715904
  662. .long 3218346080
  663. .long 3815829504
  664. .long 3218287614
  665. .long 722717696
  666. .long 3218229709
  667. .long 1399058432
  668. .long 3218172352
  669. .long 227933184
  670. .long 3218115534
  671. .long 2835759104
  672. .long 3218038744
  673. .long 3554951168
  674. .long 3217927202
  675. .long 2818570240
  676. .long 3217816679
  677. .long 3041732608
  678. .long 3217707156
  679. .long 180338688
  680. .long 3217598616
  681. .long 835166208
  682. .long 3217491040
  683. .long 704622592
  684. .long 3217384412
  685. .long 1695342592
  686. .long 3217278715
  687. .long 3266000896
  688. .long 3217173933
  689. .long 2363885568
  690. .long 3217070051
  691. .long 3908239360
  692. .long 3216902938
  693. .long 448159744
  694. .long 3216698681
  695. .long 2530197504
  696. .long 3216496132
  697. .long 4268273664
  698. .long 3216295264
  699. .long 2785038336
  700. .long 3216096050
  701. .long 522182656
  702. .long 3215814333
  703. .long 3386466304
  704. .long 3215422356
  705. .long 3838140416
  706. .long 3215033528
  707. .long 2250194944
  708. .long 3214361582
  709. .long 2718924800
  710. .long 3213307003
  711. .long 0
  712. .long 0
  713. .long 0
  714. .long 0
  715. .long 1697350398
  716. .long 1073157447
  717. .long 3983912013
  718. .long 1073134173
  719. .long 3077571303
  720. .long 1073111605
  721. .long 787997771
  722. .long 1073089711
  723. .long 2608086797
  724. .long 1073068460
  725. .long 4250927815
  726. .long 1073047825
  727. .long 4006130247
  728. .long 1073027780
  729. .long 2255915958
  730. .long 1073008300
  731. .long 1031537321
  732. .long 1072989361
  733. .long 3606154084
  734. .long 1072970940
  735. .long 1235818328
  736. .long 1072953018
  737. .long 2880061438
  738. .long 1072935573
  739. .long 525144062
  740. .long 1072918588
  741. .long 3251485016
  742. .long 1072902043
  743. .long 2604098795
  744. .long 1072885923
  745. .long 2408035495
  746. .long 1072870211
  747. .long 1357880318
  748. .long 1072854892
  749. .long 1394140652
  750. .long 1072839951
  751. .long 3210356685
  752. .long 1072825374
  753. .long 1774519652
  754. .long 1072811149
  755. .long 3338441873
  756. .long 1072797262
  757. .long 3804456356
  758. .long 1072783702
  759. .long 1462910403
  760. .long 1072770458
  761. .long 1149890700
  762. .long 1072757518
  763. .long 1234436653
  764. .long 1072744872
  765. .long 2089211650
  766. .long 1072732510
  767. .long 1684223316
  768. .long 1072720423
  769. .long 4072784951
  770. .long 1072708601
  771. .long 2114454037
  772. .long 1072697037
  773. .long 2012861074
  774. .long 1072678195
  775. .long 2037138800
  776. .long 1072656045
  777. .long 3417210877
  778. .long 1072634361
  779. .long 3694789629
  780. .long 1072613129
  781. .long 2992528814
  782. .long 1072592335
  783. .long 3882342941
  784. .long 1072571965
  785. .long 2671772639
  786. .long 1072552007
  787. .long 2172608510
  788. .long 1072532448
  789. .long 3001586108
  790. .long 1072513276
  791. .long 3477449063
  792. .long 1072494480
  793. .long 3818975826
  794. .long 1072476049
  795. .long 1758664544
  796. .long 1072457973
  797. .long 1046539701
  798. .long 1072440241
  799. .long 2778964739
  800. .long 1072422843
  801. .long 1026978211
  802. .long 1072405771
  803. .long 4238694625
  804. .long 1072389014
  805. .long 811117725
  806. .long 1072372566
  807. .long 1975098645
  808. .long 1072356416
  809. .long 3079413536
  810. .long 1072340557
  811. .long 712695513
  812. .long 1072324982
  813. .long 1238508315
  814. .long 1072309682
  815. .long 3563503614
  816. .long 1072294650
  817. .long 3383126459
  818. .long 1072279880
  819. .long 1724836050
  820. .long 1072265365
  821. .long 608820196
  822. .long 1072251098
  823. .long 3005930546
  824. .long 1072237072
  825. .long 4207804139
  826. .long 1072223282
  827. .long 378851326
  828. .long 1072209723
  829. .long 1405092650
  830. .long 1072196387
  831. .long 795096448
  832. .long 1072183270
  833. .long 1417164049
  834. .long 1072170366
  835. .long 2583387630
  836. .long 1072157670
  837. .long 20099889
  838. .long 1072145178
  839. .long 3019600065
  840. .long 1072132883
  841. .long 53601996
  842. .long 1072120783
  843. .long 1697350398
  844. .long 1072108871
  845. .long 0
  846. .long 0
  847. .long 0
  848. .long 1072693248
  849. .long 3541402996
  850. .long 1072716208
  851. .long 1828292879
  852. .long 1072739672
  853. .long 3490863953
  854. .long 1072763649
  855. .long 1014845819
  856. .long 1072788152
  857. .long 828946858
  858. .long 1072813191
  859. .long 1853186616
  860. .long 1072838778
  861. .long 4112506593
  862. .long 1072864925
  863. .long 171030293
  864. .long 1072891646
  865. .long 926591435
  866. .long 1072918951
  867. .long 1276261410
  868. .long 1072946854
  869. .long 1617004845
  870. .long 1072975368
  871. .long 3577096743
  872. .long 1073004506
  873. .long 1453150082
  874. .long 1073034283
  875. .long 3712504873
  876. .long 1073064711
  877. .long 2956612997
  878. .long 1073095806
  879. .long 1719614413
  880. .long 1073127582
  881. .long 3907805044
  882. .long 1073160053
  883. .long 1944781191
  884. .long 1073193236
  885. .long 2571947539
  886. .long 1073227145
  887. .long 1110089947
  888. .long 1073261797
  889. .long 2966275557
  890. .long 1073297207
  891. .long 2191782032
  892. .long 1073333393
  893. .long 2990417245
  894. .long 1073370371
  895. .long 2572866477
  896. .long 1073408159
  897. .long 4076559943
  898. .long 1073446774
  899. .long 3716502172
  900. .long 1073486235
  901. .long 3706687593
  902. .long 1073526560
  903. .long 3707479175
  904. .long 1073567768
  905. .long 863738719
  906. .long 1073609879
  907. .long 2728693978
  908. .long 1073652911
  909. .long 1533953344
  910. .long 1073696886
  911. .long 531389993
  912. .long 1067950900
  913. .long 4289495988
  914. .long 1069842387
  915. .long 2705553552
  916. .long 3216330822
  917. .long 4277811695
  918. .long 3218484802
  919. .long 1874480759
  920. .long 1065595563
  921. .long 4286760334
  922. .long 1070514109
  923. .long 3607404735
  924. .long 1068264200
  925. .long 4277811695
  926. .long 1072049730
  927. .long 2147483647
  928. .long 0
  929. .long 0
  930. .long 0
  931. .long 4294967295
  932. .long 2147483647
  933. .long 4294967295
  934. .long 2147483647
  935. .long 4294967295
  936. .long 1048575
  937. .long 0
  938. .long 0
  939. .long 0
  940. .long 1072693248
  941. .long 0
  942. .long 0
  943. .long 4227858432
  944. .long 4294967295
  945. .long 0
  946. .long 0
  947. .long 0
  948. .long 1077936128
  949. .long 0
  950. .long 0
  951. .long 0
  952. .long 1122500608
  953. .long 0
  954. .long 0
  955. .long 0
  956. .long 2147483648
  957. .long 0
  958. .long 0
  959. .long 2139095040
  960. .long 0
  961. .long 0
  962. .long 0
  963. .long 4286578688
  964. .long 0
  965. .long 0
  966. .long 0
  967. .long 1065353216
  968. .long 0
  969. .long 0
  970. .long 0
  971. .long 2147483648
  972. .long 0
  973. .long 0
  974. .long 0
  975. .long 2139095041
  976. .long 0
  977. .long 0
  978. .long 0
  979. .type static_const_table,@object
  980. .size static_const_table,1584
  981. .data
  982. .section .note.GNU-stack, ""
  983. # End