cos_gen.S 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  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 "cos_gen.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin cos
  41. .text
  42. .align 16,0x90
  43. .globl cos
  44. cos:
  45. # parameter 1: %xmm0
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_cos.1:
  49. ..L2:
  50. pushq %rbx
  51. .cfi_def_cfa_offset 16
  52. .cfi_offset 3, -16
  53. subq $16, %rsp
  54. .cfi_def_cfa_offset 32
  55. movsd %xmm0, 8(%rsp)
  56. ..B1.2:
  57. pextrw $3, %xmm0, %eax
  58. andw $32767, %ax
  59. subw $12336, %ax
  60. cmpw $4293, %ax
  61. ja .L_2TAG_PACKET_0.0.1
  62. movsd PI32INV(%rip), %xmm1
  63. mulsd %xmm0, %xmm1
  64. movapd ONEHALF(%rip), %xmm5
  65. movsd SIGN_MASK(%rip), %xmm4
  66. andpd %xmm0, %xmm4
  67. orps %xmm4, %xmm5
  68. addpd %xmm5, %xmm1
  69. cvttsd2si %xmm1, %edx
  70. cvtsi2sd %edx, %xmm1
  71. movapd P_2(%rip), %xmm2
  72. movsd P_1(%rip), %xmm3
  73. mulsd %xmm1, %xmm3
  74. unpcklpd %xmm1, %xmm1
  75. addq $1865232, %rdx
  76. movsd %xmm0, %xmm4
  77. andq $63, %rdx
  78. movapd SC_4(%rip), %xmm5
  79. lea Ctable(%rip), %rax
  80. shlq $5, %rdx
  81. addq %rdx, %rax
  82. mulpd %xmm1, %xmm2
  83. subsd %xmm3, %xmm0
  84. mulsd P_3(%rip), %xmm1
  85. subsd %xmm3, %xmm4
  86. movsd 8(%rax), %xmm7
  87. unpcklpd %xmm0, %xmm0
  88. movsd %xmm4, %xmm3
  89. subsd %xmm2, %xmm4
  90. mulpd %xmm0, %xmm5
  91. subpd %xmm2, %xmm0
  92. movapd SC_2(%rip), %xmm6
  93. mulsd %xmm4, %xmm7
  94. subsd %xmm4, %xmm3
  95. mulpd %xmm0, %xmm5
  96. mulpd %xmm0, %xmm0
  97. subsd %xmm2, %xmm3
  98. movapd (%rax), %xmm2
  99. subsd %xmm3, %xmm1
  100. movsd 24(%rax), %xmm3
  101. addsd %xmm3, %xmm2
  102. subsd %xmm2, %xmm7
  103. mulsd %xmm4, %xmm2
  104. mulpd %xmm0, %xmm6
  105. mulsd %xmm4, %xmm3
  106. mulpd %xmm0, %xmm2
  107. mulpd %xmm0, %xmm0
  108. addpd SC_3(%rip), %xmm5
  109. mulsd (%rax), %xmm4
  110. addpd SC_1(%rip), %xmm6
  111. mulpd %xmm0, %xmm5
  112. movsd %xmm3, %xmm0
  113. addsd 8(%rax), %xmm3
  114. mulpd %xmm7, %xmm1
  115. movsd %xmm4, %xmm7
  116. addsd %xmm3, %xmm4
  117. addpd %xmm5, %xmm6
  118. movsd 8(%rax), %xmm5
  119. subsd %xmm3, %xmm5
  120. subsd %xmm4, %xmm3
  121. addsd 16(%rax), %xmm1
  122. mulpd %xmm2, %xmm6
  123. addsd %xmm5, %xmm0
  124. addsd %xmm7, %xmm3
  125. addsd %xmm1, %xmm0
  126. addsd %xmm3, %xmm0
  127. addsd %xmm6, %xmm0
  128. unpckhpd %xmm6, %xmm6
  129. addsd %xmm6, %xmm0
  130. addsd %xmm4, %xmm0
  131. jmp ..B1.4
  132. .L_2TAG_PACKET_0.0.1:
  133. jg .L_2TAG_PACKET_1.0.1
  134. pextrw $3, %xmm0, %eax
  135. andw $32767, %ax
  136. pinsrw $3, %eax, %xmm0
  137. movsd ONE(%rip), %xmm1
  138. subsd %xmm0, %xmm1
  139. movsd %xmm1, %xmm0
  140. jmp ..B1.4
  141. .L_2TAG_PACKET_1.0.1:
  142. pextrw $3, %xmm0, %eax
  143. andl $32752, %eax
  144. cmpl $32752, %eax
  145. je .L_2TAG_PACKET_2.0.1
  146. pextrw $3, %xmm0, %ecx
  147. andl $32752, %ecx
  148. subl $16224, %ecx
  149. shrl $7, %ecx
  150. andl $65532, %ecx
  151. lea PI_INV_TABLE(%rip), %r11
  152. addq %r11, %rcx
  153. movd %xmm0, %rax
  154. movl 20(%rcx), %r10d
  155. movl 24(%rcx), %r8d
  156. movl %eax, %edx
  157. shrq $21, %rax
  158. orl $-2147483648, %eax
  159. shrl $11, %eax
  160. movl %r10d, %r9d
  161. imulq %rdx, %r10
  162. imulq %rax, %r9
  163. imulq %rax, %r8
  164. movl 16(%rcx), %esi
  165. movl 12(%rcx), %edi
  166. movl %r10d, %r11d
  167. shrq $32, %r10
  168. addq %r10, %r9
  169. addq %r8, %r11
  170. movl %r11d, %r8d
  171. shrq $32, %r11
  172. addq %r11, %r9
  173. movl %esi, %r10d
  174. imulq %rdx, %rsi
  175. imulq %rax, %r10
  176. movl %edi, %r11d
  177. imulq %rdx, %rdi
  178. movl %esi, %ebx
  179. shrq $32, %rsi
  180. addq %rbx, %r9
  181. movl %r9d, %ebx
  182. shrq $32, %r9
  183. addq %rsi, %r10
  184. addq %r9, %r10
  185. shlq $32, %rbx
  186. orq %rbx, %r8
  187. imulq %rax, %r11
  188. movl 8(%rcx), %r9d
  189. movl 4(%rcx), %esi
  190. movl %edi, %ebx
  191. shrq $32, %rdi
  192. addq %rbx, %r10
  193. movl %r10d, %ebx
  194. shrq $32, %r10
  195. addq %rdi, %r11
  196. addq %r10, %r11
  197. movq %r9, %rdi
  198. imulq %rdx, %r9
  199. imulq %rax, %rdi
  200. movl %r9d, %r10d
  201. shrq $32, %r9
  202. addq %r10, %r11
  203. movl %r11d, %r10d
  204. shrq $32, %r11
  205. addq %r9, %rdi
  206. addq %r11, %rdi
  207. movq %rsi, %r9
  208. imulq %rdx, %rsi
  209. imulq %rax, %r9
  210. shlq $32, %r10
  211. orq %rbx, %r10
  212. movl (%rcx), %eax
  213. movl %esi, %r11d
  214. shrq $32, %rsi
  215. addq %r11, %rdi
  216. movl %edi, %r11d
  217. shrq $32, %rdi
  218. addq %rsi, %r9
  219. addq %rdi, %r9
  220. imulq %rax, %rdx
  221. pextrw $3, %xmm0, %ebx
  222. lea PI_INV_TABLE(%rip), %rdi
  223. subq %rdi, %rcx
  224. addl %ecx, %ecx
  225. addl %ecx, %ecx
  226. addl %ecx, %ecx
  227. addl $19, %ecx
  228. movl $32768, %esi
  229. andl %ebx, %esi
  230. shrl $4, %ebx
  231. andl $2047, %ebx
  232. subl $1023, %ebx
  233. subl %ebx, %ecx
  234. addq %rdx, %r9
  235. movl %ecx, %edx
  236. addl $32, %edx
  237. cmpl $1, %ecx
  238. jl .L_2TAG_PACKET_3.0.1
  239. negl %ecx
  240. addl $29, %ecx
  241. shll %cl, %r9d
  242. movl %r9d, %edi
  243. andl $536870911, %r9d
  244. testl $268435456, %r9d
  245. jne .L_2TAG_PACKET_4.0.1
  246. shrl %cl, %r9d
  247. movl $0, %ebx
  248. shlq $32, %r9
  249. orq %r11, %r9
  250. .L_2TAG_PACKET_5.0.1:
  251. .L_2TAG_PACKET_6.0.1:
  252. cmpq $0, %r9
  253. je .L_2TAG_PACKET_7.0.1
  254. .L_2TAG_PACKET_8.0.1:
  255. bsr %r9, %r11
  256. movl $29, %ecx
  257. subl %r11d, %ecx
  258. jle .L_2TAG_PACKET_9.0.1
  259. shlq %cl, %r9
  260. movq %r10, %rax
  261. shlq %cl, %r10
  262. addl %ecx, %edx
  263. negl %ecx
  264. addl $64, %ecx
  265. shrq %cl, %rax
  266. shrq %cl, %r8
  267. orq %rax, %r9
  268. orq %r8, %r10
  269. .L_2TAG_PACKET_10.0.1:
  270. cvtsi2sdq %r9, %xmm0
  271. shrq $1, %r10
  272. cvtsi2sdq %r10, %xmm3
  273. xorpd %xmm4, %xmm4
  274. shll $4, %edx
  275. negl %edx
  276. addl $16368, %edx
  277. orl %esi, %edx
  278. xorl %ebx, %edx
  279. pinsrw $3, %edx, %xmm4
  280. movsd PI_4(%rip), %xmm2
  281. movsd 8+PI_4(%rip), %xmm6
  282. xorpd %xmm5, %xmm5
  283. subl $1008, %edx
  284. pinsrw $3, %edx, %xmm5
  285. mulsd %xmm4, %xmm0
  286. shll $16, %esi
  287. sarl $31, %esi
  288. mulsd %xmm5, %xmm3
  289. movsd %xmm0, %xmm1
  290. mulsd %xmm2, %xmm0
  291. shrl $29, %edi
  292. addsd %xmm3, %xmm1
  293. mulsd %xmm2, %xmm3
  294. addl %esi, %edi
  295. xorl %esi, %edi
  296. mulsd %xmm1, %xmm6
  297. movl %edi, %eax
  298. addsd %xmm3, %xmm6
  299. movsd %xmm0, %xmm2
  300. addsd %xmm6, %xmm0
  301. subsd %xmm0, %xmm2
  302. addsd %xmm2, %xmm6
  303. .L_2TAG_PACKET_11.0.1:
  304. movsd PI32INV(%rip), %xmm1
  305. mulsd %xmm0, %xmm1
  306. movq ONEHALF(%rip), %xmm5
  307. movq SIGN_MASK(%rip), %xmm4
  308. andpd %xmm0, %xmm4
  309. orps %xmm4, %xmm5
  310. addpd %xmm5, %xmm1
  311. cvttsd2si %xmm1, %rdx
  312. cvtsi2sdq %rdx, %xmm1
  313. movsd P_1(%rip), %xmm3
  314. movapd P_2(%rip), %xmm2
  315. mulsd %xmm1, %xmm3
  316. unpcklpd %xmm1, %xmm1
  317. shll $3, %eax
  318. addl $1865232, %edx
  319. movsd %xmm0, %xmm4
  320. addl %eax, %edx
  321. andl $63, %edx
  322. movapd SC_4(%rip), %xmm5
  323. lea Ctable(%rip), %rax
  324. shll $5, %edx
  325. addq %rdx, %rax
  326. mulpd %xmm1, %xmm2
  327. subsd %xmm3, %xmm0
  328. mulsd P_3(%rip), %xmm1
  329. subsd %xmm3, %xmm4
  330. movsd 8(%rax), %xmm7
  331. unpcklpd %xmm0, %xmm0
  332. movsd %xmm4, %xmm3
  333. subsd %xmm2, %xmm4
  334. mulpd %xmm0, %xmm5
  335. subpd %xmm2, %xmm0
  336. mulsd %xmm4, %xmm7
  337. subsd %xmm4, %xmm3
  338. mulpd %xmm0, %xmm5
  339. mulpd %xmm0, %xmm0
  340. subsd %xmm2, %xmm3
  341. movapd (%rax), %xmm2
  342. subsd %xmm3, %xmm1
  343. movsd 24(%rax), %xmm3
  344. addsd %xmm3, %xmm2
  345. subsd %xmm2, %xmm7
  346. subsd %xmm6, %xmm1
  347. movapd SC_2(%rip), %xmm6
  348. mulsd %xmm4, %xmm2
  349. mulpd %xmm0, %xmm6
  350. mulsd %xmm4, %xmm3
  351. mulpd %xmm0, %xmm2
  352. mulpd %xmm0, %xmm0
  353. addpd SC_3(%rip), %xmm5
  354. mulsd (%rax), %xmm4
  355. addpd SC_1(%rip), %xmm6
  356. mulpd %xmm0, %xmm5
  357. movsd %xmm3, %xmm0
  358. addsd 8(%rax), %xmm3
  359. mulpd %xmm7, %xmm1
  360. movsd %xmm4, %xmm7
  361. addsd %xmm3, %xmm4
  362. addpd %xmm5, %xmm6
  363. movsd 8(%rax), %xmm5
  364. subsd %xmm3, %xmm5
  365. subsd %xmm4, %xmm3
  366. addsd 16(%rax), %xmm1
  367. mulpd %xmm2, %xmm6
  368. addsd %xmm0, %xmm5
  369. addsd %xmm7, %xmm3
  370. addsd %xmm5, %xmm1
  371. addsd %xmm3, %xmm1
  372. addsd %xmm6, %xmm1
  373. unpckhpd %xmm6, %xmm6
  374. movsd %xmm4, %xmm0
  375. addsd %xmm6, %xmm1
  376. addsd %xmm1, %xmm0
  377. jmp ..B1.4
  378. .L_2TAG_PACKET_7.0.1:
  379. addl $64, %edx
  380. movq %r10, %r9
  381. movq %r8, %r10
  382. movq $0, %r8
  383. cmpq $0, %r9
  384. jne .L_2TAG_PACKET_8.0.1
  385. addl $64, %edx
  386. movq %r10, %r9
  387. movq %r8, %r10
  388. cmpq $0, %r9
  389. jne .L_2TAG_PACKET_8.0.1
  390. xorpd %xmm0, %xmm0
  391. xorpd %xmm6, %xmm6
  392. jmp .L_2TAG_PACKET_11.0.1
  393. .L_2TAG_PACKET_9.0.1:
  394. je .L_2TAG_PACKET_10.0.1
  395. negl %ecx
  396. shrq %cl, %r10
  397. movq %r9, %rax
  398. shrq %cl, %r9
  399. subl %ecx, %edx
  400. negl %ecx
  401. addl $64, %ecx
  402. shlq %cl, %rax
  403. orq %rax, %r10
  404. jmp .L_2TAG_PACKET_10.0.1
  405. .L_2TAG_PACKET_3.0.1:
  406. negl %ecx
  407. shlq $32, %r9
  408. orq %r11, %r9
  409. shlq %cl, %r9
  410. movq %r9, %rdi
  411. testl $-2147483648, %r9d
  412. jne .L_2TAG_PACKET_12.0.1
  413. shrl %cl, %r9d
  414. movl $0, %ebx
  415. shrq $3, %rdi
  416. jmp .L_2TAG_PACKET_6.0.1
  417. .L_2TAG_PACKET_4.0.1:
  418. shrl %cl, %r9d
  419. movl $536870912, %ebx
  420. shrl %cl, %ebx
  421. shlq $32, %r9
  422. orq %r11, %r9
  423. shlq $32, %rbx
  424. addl $536870912, %edi
  425. movq $0, %rcx
  426. movq $0, %r11
  427. subq %r8, %rcx
  428. sbbq %r10, %r11
  429. sbbq %r9, %rbx
  430. movq %rcx, %r8
  431. movq %r11, %r10
  432. movq %rbx, %r9
  433. movl $32768, %ebx
  434. jmp .L_2TAG_PACKET_5.0.1
  435. .L_2TAG_PACKET_12.0.1:
  436. shrl %cl, %r9d
  437. movq $0x100000000, %rbx
  438. shrq %cl, %rbx
  439. movq $0, %rcx
  440. movq $0, %r11
  441. subq %r8, %rcx
  442. sbbq %r10, %r11
  443. sbbq %r9, %rbx
  444. movq %rcx, %r8
  445. movq %r11, %r10
  446. movq %rbx, %r9
  447. movl $32768, %ebx
  448. shrq $3, %rdi
  449. addl $536870912, %edi
  450. jmp .L_2TAG_PACKET_6.0.1
  451. .L_2TAG_PACKET_2.0.1:
  452. movsd 8(%rsp), %xmm0
  453. mulsd NEG_ZERO(%rip), %xmm0
  454. movsd %xmm0, (%rsp)
  455. .L_2TAG_PACKET_13.0.1:
  456. ..B1.4:
  457. addq $16, %rsp
  458. .cfi_def_cfa_offset 16
  459. .cfi_restore 3
  460. popq %rbx
  461. .cfi_def_cfa_offset 8
  462. ret
  463. .align 16,0x90
  464. .cfi_endproc
  465. .type cos,@function
  466. .size cos,.-cos
  467. .data
  468. # -- End cos
  469. .section .rodata, "a"
  470. .align 16
  471. .align 16
  472. ONEHALF:
  473. .long 0
  474. .long 1071644672
  475. .long 0
  476. .long 1071644672
  477. .type ONEHALF,@object
  478. .size ONEHALF,16
  479. .align 16
  480. P_2:
  481. .long 442499072
  482. .long 1032893537
  483. .long 442499072
  484. .long 1032893537
  485. .type P_2,@object
  486. .size P_2,16
  487. .align 16
  488. SC_4:
  489. .long 2773927732
  490. .long 1053236707
  491. .long 436314138
  492. .long 1056571808
  493. .type SC_4,@object
  494. .size SC_4,16
  495. .align 16
  496. Ctable:
  497. .long 0
  498. .long 0
  499. .long 0
  500. .long 0
  501. .long 0
  502. .long 0
  503. .long 0
  504. .long 1072693248
  505. .long 393047345
  506. .long 3212032302
  507. .long 3156849708
  508. .long 1069094822
  509. .long 3758096384
  510. .long 3158189848
  511. .long 0
  512. .long 1072693248
  513. .long 18115067
  514. .long 3214126342
  515. .long 1013556747
  516. .long 1070135480
  517. .long 3221225472
  518. .long 3160567065
  519. .long 0
  520. .long 1072693248
  521. .long 2476548698
  522. .long 3215330282
  523. .long 785751814
  524. .long 1070765062
  525. .long 2684354560
  526. .long 3161838221
  527. .long 0
  528. .long 1072693248
  529. .long 2255197647
  530. .long 3216211105
  531. .long 2796464483
  532. .long 1071152610
  533. .long 3758096384
  534. .long 3160878317
  535. .long 0
  536. .long 1072693248
  537. .long 1945768569
  538. .long 3216915048
  539. .long 939980347
  540. .long 1071524701
  541. .long 536870912
  542. .long 1012796809
  543. .long 0
  544. .long 1072693248
  545. .long 1539668340
  546. .long 3217396327
  547. .long 967731400
  548. .long 1071761211
  549. .long 536870912
  550. .long 1015752157
  551. .long 0
  552. .long 1072693248
  553. .long 1403757309
  554. .long 3217886718
  555. .long 621354454
  556. .long 1071926515
  557. .long 536870912
  558. .long 1013450602
  559. .long 0
  560. .long 1072693248
  561. .long 2583490354
  562. .long 1070236281
  563. .long 1719614413
  564. .long 1072079006
  565. .long 536870912
  566. .long 3163282740
  567. .long 0
  568. .long 1071644672
  569. .long 2485417816
  570. .long 1069626316
  571. .long 1796544321
  572. .long 1072217216
  573. .long 536870912
  574. .long 3162686945
  575. .long 0
  576. .long 1071644672
  577. .long 2598800519
  578. .long 1068266419
  579. .long 688824739
  580. .long 1072339814
  581. .long 3758096384
  582. .long 1010431536
  583. .long 0
  584. .long 1071644672
  585. .long 2140183630
  586. .long 3214756396
  587. .long 4051746225
  588. .long 1072445618
  589. .long 2147483648
  590. .long 3161907377
  591. .long 0
  592. .long 1071644672
  593. .long 1699043957
  594. .long 3216902261
  595. .long 3476196678
  596. .long 1072533611
  597. .long 536870912
  598. .long 1014257638
  599. .long 0
  600. .long 1071644672
  601. .long 1991047213
  602. .long 1067753521
  603. .long 1455828442
  604. .long 1072602945
  605. .long 3758096384
  606. .long 1015505073
  607. .long 0
  608. .long 1070596096
  609. .long 240740309
  610. .long 3215727903
  611. .long 3489094832
  612. .long 1072652951
  613. .long 536870912
  614. .long 1014325783
  615. .long 0
  616. .long 1070596096
  617. .long 257503056
  618. .long 3214647653
  619. .long 2748392742
  620. .long 1072683149
  621. .long 1073741824
  622. .long 3163061750
  623. .long 0
  624. .long 1069547520
  625. .long 0
  626. .long 0
  627. .long 0
  628. .long 1072693248
  629. .long 0
  630. .long 0
  631. .long 0
  632. .long 0
  633. .long 257503056
  634. .long 1067164005
  635. .long 2748392742
  636. .long 1072683149
  637. .long 1073741824
  638. .long 3163061750
  639. .long 0
  640. .long 3217031168
  641. .long 240740309
  642. .long 1068244255
  643. .long 3489094832
  644. .long 1072652951
  645. .long 536870912
  646. .long 1014325783
  647. .long 0
  648. .long 3218079744
  649. .long 1991047213
  650. .long 3215237169
  651. .long 1455828442
  652. .long 1072602945
  653. .long 3758096384
  654. .long 1015505073
  655. .long 0
  656. .long 3218079744
  657. .long 1699043957
  658. .long 1069418613
  659. .long 3476196678
  660. .long 1072533611
  661. .long 536870912
  662. .long 1014257638
  663. .long 0
  664. .long 3219128320
  665. .long 2140183630
  666. .long 1067272748
  667. .long 4051746225
  668. .long 1072445618
  669. .long 2147483648
  670. .long 3161907377
  671. .long 0
  672. .long 3219128320
  673. .long 2598800519
  674. .long 3215750067
  675. .long 688824739
  676. .long 1072339814
  677. .long 3758096384
  678. .long 1010431536
  679. .long 0
  680. .long 3219128320
  681. .long 2485417816
  682. .long 3217109964
  683. .long 1796544321
  684. .long 1072217216
  685. .long 536870912
  686. .long 3162686945
  687. .long 0
  688. .long 3219128320
  689. .long 2583490354
  690. .long 3217719929
  691. .long 1719614413
  692. .long 1072079006
  693. .long 536870912
  694. .long 3163282740
  695. .long 0
  696. .long 3219128320
  697. .long 1403757309
  698. .long 1070403070
  699. .long 621354454
  700. .long 1071926515
  701. .long 536870912
  702. .long 1013450602
  703. .long 0
  704. .long 3220176896
  705. .long 1539668340
  706. .long 1069912679
  707. .long 967731400
  708. .long 1071761211
  709. .long 536870912
  710. .long 1015752157
  711. .long 0
  712. .long 3220176896
  713. .long 1945768569
  714. .long 1069431400
  715. .long 939980347
  716. .long 1071524701
  717. .long 536870912
  718. .long 1012796809
  719. .long 0
  720. .long 3220176896
  721. .long 2255197647
  722. .long 1068727457
  723. .long 2796464483
  724. .long 1071152610
  725. .long 3758096384
  726. .long 3160878317
  727. .long 0
  728. .long 3220176896
  729. .long 2476548698
  730. .long 1067846634
  731. .long 785751814
  732. .long 1070765062
  733. .long 2684354560
  734. .long 3161838221
  735. .long 0
  736. .long 3220176896
  737. .long 18115067
  738. .long 1066642694
  739. .long 1013556747
  740. .long 1070135480
  741. .long 3221225472
  742. .long 3160567065
  743. .long 0
  744. .long 3220176896
  745. .long 393047345
  746. .long 1064548654
  747. .long 3156849708
  748. .long 1069094822
  749. .long 3758096384
  750. .long 3158189848
  751. .long 0
  752. .long 3220176896
  753. .long 0
  754. .long 0
  755. .long 0
  756. .long 0
  757. .long 0
  758. .long 0
  759. .long 0
  760. .long 3220176896
  761. .long 393047345
  762. .long 1064548654
  763. .long 3156849708
  764. .long 3216578470
  765. .long 3758096384
  766. .long 1010706200
  767. .long 0
  768. .long 3220176896
  769. .long 18115067
  770. .long 1066642694
  771. .long 1013556747
  772. .long 3217619128
  773. .long 3221225472
  774. .long 1013083417
  775. .long 0
  776. .long 3220176896
  777. .long 2476548698
  778. .long 1067846634
  779. .long 785751814
  780. .long 3218248710
  781. .long 2684354560
  782. .long 1014354573
  783. .long 0
  784. .long 3220176896
  785. .long 2255197647
  786. .long 1068727457
  787. .long 2796464483
  788. .long 3218636258
  789. .long 3758096384
  790. .long 1013394669
  791. .long 0
  792. .long 3220176896
  793. .long 1945768569
  794. .long 1069431400
  795. .long 939980347
  796. .long 3219008349
  797. .long 536870912
  798. .long 3160280457
  799. .long 0
  800. .long 3220176896
  801. .long 1539668340
  802. .long 1069912679
  803. .long 967731400
  804. .long 3219244859
  805. .long 536870912
  806. .long 3163235805
  807. .long 0
  808. .long 3220176896
  809. .long 1403757309
  810. .long 1070403070
  811. .long 621354454
  812. .long 3219410163
  813. .long 536870912
  814. .long 3160934250
  815. .long 0
  816. .long 3220176896
  817. .long 2583490354
  818. .long 3217719929
  819. .long 1719614413
  820. .long 3219562654
  821. .long 536870912
  822. .long 1015799092
  823. .long 0
  824. .long 3219128320
  825. .long 2485417816
  826. .long 3217109964
  827. .long 1796544321
  828. .long 3219700864
  829. .long 536870912
  830. .long 1015203297
  831. .long 0
  832. .long 3219128320
  833. .long 2598800519
  834. .long 3215750067
  835. .long 688824739
  836. .long 3219823462
  837. .long 3758096384
  838. .long 3157915184
  839. .long 0
  840. .long 3219128320
  841. .long 2140183630
  842. .long 1067272748
  843. .long 4051746225
  844. .long 3219929266
  845. .long 2147483648
  846. .long 1014423729
  847. .long 0
  848. .long 3219128320
  849. .long 1699043957
  850. .long 1069418613
  851. .long 3476196678
  852. .long 3220017259
  853. .long 536870912
  854. .long 3161741286
  855. .long 0
  856. .long 3219128320
  857. .long 1991047213
  858. .long 3215237169
  859. .long 1455828442
  860. .long 3220086593
  861. .long 3758096384
  862. .long 3162988721
  863. .long 0
  864. .long 3218079744
  865. .long 240740309
  866. .long 1068244255
  867. .long 3489094832
  868. .long 3220136599
  869. .long 536870912
  870. .long 3161809431
  871. .long 0
  872. .long 3218079744
  873. .long 257503056
  874. .long 1067164005
  875. .long 2748392742
  876. .long 3220166797
  877. .long 1073741824
  878. .long 1015578102
  879. .long 0
  880. .long 3217031168
  881. .long 0
  882. .long 0
  883. .long 0
  884. .long 3220176896
  885. .long 0
  886. .long 0
  887. .long 0
  888. .long 0
  889. .long 257503056
  890. .long 3214647653
  891. .long 2748392742
  892. .long 3220166797
  893. .long 1073741824
  894. .long 1015578102
  895. .long 0
  896. .long 1069547520
  897. .long 240740309
  898. .long 3215727903
  899. .long 3489094832
  900. .long 3220136599
  901. .long 536870912
  902. .long 3161809431
  903. .long 0
  904. .long 1070596096
  905. .long 1991047213
  906. .long 1067753521
  907. .long 1455828442
  908. .long 3220086593
  909. .long 3758096384
  910. .long 3162988721
  911. .long 0
  912. .long 1070596096
  913. .long 1699043957
  914. .long 3216902261
  915. .long 3476196678
  916. .long 3220017259
  917. .long 536870912
  918. .long 3161741286
  919. .long 0
  920. .long 1071644672
  921. .long 2140183630
  922. .long 3214756396
  923. .long 4051746225
  924. .long 3219929266
  925. .long 2147483648
  926. .long 1014423729
  927. .long 0
  928. .long 1071644672
  929. .long 2598800519
  930. .long 1068266419
  931. .long 688824739
  932. .long 3219823462
  933. .long 3758096384
  934. .long 3157915184
  935. .long 0
  936. .long 1071644672
  937. .long 2485417816
  938. .long 1069626316
  939. .long 1796544321
  940. .long 3219700864
  941. .long 536870912
  942. .long 1015203297
  943. .long 0
  944. .long 1071644672
  945. .long 2583490354
  946. .long 1070236281
  947. .long 1719614413
  948. .long 3219562654
  949. .long 536870912
  950. .long 1015799092
  951. .long 0
  952. .long 1071644672
  953. .long 1403757309
  954. .long 3217886718
  955. .long 621354454
  956. .long 3219410163
  957. .long 536870912
  958. .long 3160934250
  959. .long 0
  960. .long 1072693248
  961. .long 1539668340
  962. .long 3217396327
  963. .long 967731400
  964. .long 3219244859
  965. .long 536870912
  966. .long 3163235805
  967. .long 0
  968. .long 1072693248
  969. .long 1945768569
  970. .long 3216915048
  971. .long 939980347
  972. .long 3219008349
  973. .long 536870912
  974. .long 3160280457
  975. .long 0
  976. .long 1072693248
  977. .long 2255197647
  978. .long 3216211105
  979. .long 2796464483
  980. .long 3218636258
  981. .long 3758096384
  982. .long 1013394669
  983. .long 0
  984. .long 1072693248
  985. .long 2476548698
  986. .long 3215330282
  987. .long 785751814
  988. .long 3218248710
  989. .long 2684354560
  990. .long 1014354573
  991. .long 0
  992. .long 1072693248
  993. .long 18115067
  994. .long 3214126342
  995. .long 1013556747
  996. .long 3217619128
  997. .long 3221225472
  998. .long 1013083417
  999. .long 0
  1000. .long 1072693248
  1001. .long 393047345
  1002. .long 3212032302
  1003. .long 3156849708
  1004. .long 3216578470
  1005. .long 3758096384
  1006. .long 1010706200
  1007. .long 0
  1008. .long 1072693248
  1009. .type Ctable,@object
  1010. .size Ctable,2048
  1011. .align 16
  1012. SC_2:
  1013. .long 286331153
  1014. .long 1065423121
  1015. .long 1431655765
  1016. .long 1067799893
  1017. .type SC_2,@object
  1018. .size SC_2,16
  1019. .align 16
  1020. SC_3:
  1021. .long 436314138
  1022. .long 3207201184
  1023. .long 381774871
  1024. .long 3210133868
  1025. .type SC_3,@object
  1026. .size SC_3,16
  1027. .align 16
  1028. SC_1:
  1029. .long 1431655765
  1030. .long 3217380693
  1031. .long 0
  1032. .long 3219128320
  1033. .type SC_1,@object
  1034. .size SC_1,16
  1035. .align 16
  1036. PI_INV_TABLE:
  1037. .long 0
  1038. .long 0
  1039. .long 2734261102
  1040. .long 1313084713
  1041. .long 4230436817
  1042. .long 4113882560
  1043. .long 3680671129
  1044. .long 1011060801
  1045. .long 4266746795
  1046. .long 3736847713
  1047. .long 3072618042
  1048. .long 1112396512
  1049. .long 105459434
  1050. .long 164729372
  1051. .long 4263373596
  1052. .long 2972297022
  1053. .long 3900847605
  1054. .long 784024708
  1055. .long 3919343654
  1056. .long 3026157121
  1057. .long 965858873
  1058. .long 2203269620
  1059. .long 2625920907
  1060. .long 3187222587
  1061. .long 536385535
  1062. .long 3724908559
  1063. .long 4012839307
  1064. .long 1510632735
  1065. .long 1832287951
  1066. .long 667617719
  1067. .long 1330003814
  1068. .long 2657085997
  1069. .long 1965537991
  1070. .long 3957715323
  1071. .long 1023883767
  1072. .long 2320667370
  1073. .long 1811636145
  1074. .long 529358088
  1075. .long 1443049542
  1076. .long 4235946923
  1077. .long 4040145953
  1078. .type PI_INV_TABLE,@object
  1079. .size PI_INV_TABLE,164
  1080. .space 12, 0x00 # pad
  1081. .align 16
  1082. PI_4:
  1083. .long 1073741824
  1084. .long 1072243195
  1085. .long 407279769
  1086. .long 1046758445
  1087. .type PI_4,@object
  1088. .size PI_4,16
  1089. .align 8
  1090. PI32INV:
  1091. .long 1841940611
  1092. .long 1076125488
  1093. .type PI32INV,@object
  1094. .size PI32INV,8
  1095. .align 8
  1096. SIGN_MASK:
  1097. .long 0
  1098. .long 2147483648
  1099. .type SIGN_MASK,@object
  1100. .size SIGN_MASK,8
  1101. .align 8
  1102. P_1:
  1103. .long 1413480448
  1104. .long 1069097467
  1105. .type P_1,@object
  1106. .size P_1,8
  1107. .align 8
  1108. P_3:
  1109. .long 771977331
  1110. .long 996350346
  1111. .type P_3,@object
  1112. .size P_3,8
  1113. .align 8
  1114. ONE:
  1115. .long 0
  1116. .long 1072693248
  1117. .type ONE,@object
  1118. .size ONE,8
  1119. .align 8
  1120. NEG_ZERO:
  1121. .long 0
  1122. .long 2147483648
  1123. .type NEG_ZERO,@object
  1124. .size NEG_ZERO,8
  1125. .data
  1126. .section .note.GNU-stack, ""
  1127. // -- Begin DWARF2 SEGMENT .eh_frame
  1128. .section .eh_frame,"a",@progbits
  1129. .eh_frame_seg:
  1130. .align 1
  1131. # End