dpml_ux_ops_64.S 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964
  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 "dpml_ux_ops_64.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __dpml_extended_multiply__
  41. .text
  42. .align 16,0x90
  43. .globl __dpml_extended_multiply__
  44. __dpml_extended_multiply__:
  45. # parameter 1: %rdi
  46. # parameter 2: %rsi
  47. # parameter 3: %rdx
  48. # parameter 4: %rcx
  49. ..B1.1:
  50. .cfi_startproc
  51. ..___tag_value___dpml_extended_multiply__.1:
  52. ..L2:
  53. pushq %r12
  54. .cfi_def_cfa_offset 16
  55. .cfi_offset 12, -16
  56. pushq %r13
  57. .cfi_def_cfa_offset 24
  58. .cfi_offset 13, -24
  59. pushq %r14
  60. .cfi_def_cfa_offset 32
  61. .cfi_offset 14, -32
  62. pushq %r15
  63. .cfi_def_cfa_offset 40
  64. .cfi_offset 15, -40
  65. pushq %rbx
  66. .cfi_def_cfa_offset 48
  67. .cfi_offset 3, -48
  68. pushq %rbp
  69. .cfi_def_cfa_offset 56
  70. .cfi_offset 6, -56
  71. movq %rdi, %r15
  72. movq 16(%rsi), %r14
  73. movq %r14, %r10
  74. movl %r14d, %r9d
  75. movq %rcx, %r8
  76. movq %r9, %r13
  77. movq 16(%r15), %rax
  78. movq %rax, %rbp
  79. movl %eax, %ebx
  80. movq %rax, %rdi
  81. shrq $32, %rbp
  82. imulq %rbx, %r13
  83. imulq %r14, %rdi
  84. movq %r9, -8(%rsp)
  85. imulq %rbp, %r9
  86. shrq $32, %r13
  87. shrq $32, %r10
  88. addq %r9, %r13
  89. movq %rbx, %r9
  90. imulq %r10, %r9
  91. addq %r13, %r9
  92. movq %r9, %rcx
  93. cmpq %r13, %r9
  94. movq %rbp, %r9
  95. movl $0, %r13d
  96. movq 8(%r15), %r12
  97. setb %r13b
  98. imulq %r10, %r9
  99. imulq %r12, %r14
  100. movq 8(%rsi), %r11
  101. imulq %r11, %rax
  102. shrq $32, %rcx
  103. shlq $32, %r13
  104. addq %r13, %rcx
  105. addq %r9, %rcx
  106. movl (%r15), %r9d
  107. addq %r14, %rcx
  108. movq %rdi, 16(%r8)
  109. xorl (%rsi), %r9d
  110. cmpq %r14, %rcx
  111. movl 4(%rsi), %esi
  112. movq %r12, %r14
  113. movl 4(%r15), %edi
  114. movl %r9d, (%rdx)
  115. movl %r9d, (%r8)
  116. movl $0, %r9d
  117. setb %r9b
  118. addq %rax, %rcx
  119. movq %rcx, 8(%r8)
  120. cmpq %rax, %rcx
  121. movl %r11d, %ecx
  122. lea (%rdi,%rsi), %r13d
  123. movl %r13d, 4(%rdx)
  124. lea -128(%rdi,%rsi), %r15d
  125. movl %r15d, 4(%r8)
  126. movq %rcx, %r15
  127. movq %rcx, %r13
  128. movl $0, %eax
  129. setb %al
  130. imulq %rbx, %r15
  131. imulq %r11, %r14
  132. imulq %rbp, %r13
  133. shrq $32, %r11
  134. imulq %r11, %rbx
  135. imulq %r11, %rbp
  136. shrq $32, %r15
  137. addq %r13, %r15
  138. addq %r15, %rbx
  139. cmpq %r15, %rbx
  140. movq %rbx, %r8
  141. movl $0, %ebx
  142. setb %bl
  143. shrq $32, %r8
  144. shlq $32, %rbx
  145. addq %rbx, %r8
  146. addq %rbp, %r8
  147. movq -8(%rsp), %rbp
  148. movq %rbp, %rdi
  149. movl %r12d, %r15d
  150. shrq $32, %r12
  151. movq %r15, %rsi
  152. imulq %r15, %rdi
  153. imulq %r12, %rbp
  154. imulq %r10, %rsi
  155. imulq %r12, %r10
  156. addq %rax, %r9
  157. xorl %eax, %eax
  158. shrq $32, %rdi
  159. addq %r14, %r9
  160. addq %rbp, %rdi
  161. cmpq %r14, %r9
  162. movl $0, %r14d
  163. setb %r14b
  164. addq %rdi, %rsi
  165. cmpq %rdi, %rsi
  166. movq %rsi, %r13
  167. setb %al
  168. addq %r8, %r9
  169. shrq $32, %r13
  170. shlq $32, %rax
  171. addq %rax, %r13
  172. movq %rcx, %rax
  173. imulq %r15, %rax
  174. imulq %r12, %rcx
  175. imulq %r11, %r15
  176. imulq %r11, %r12
  177. shrq $32, %rax
  178. addq %r10, %r13
  179. addq %rcx, %rax
  180. xorl %r10d, %r10d
  181. cmpq %r8, %r9
  182. setb %r10b
  183. xorl %r11d, %r11d
  184. addq %rax, %r15
  185. cmpq %rax, %r15
  186. movq %r15, %rcx
  187. movl $0, %r15d
  188. setb %r15b
  189. addq %r13, %r9
  190. cmpq %r13, %r9
  191. setb %r11b
  192. shrq $32, %rcx
  193. addq %r10, %r14
  194. shlq $32, %r15
  195. addq %r15, %rcx
  196. addq %r12, %rcx
  197. addq %r11, %r14
  198. addq %r14, %rcx
  199. movq %r9, 16(%rdx)
  200. movq %rcx, 8(%rdx)
  201. .cfi_restore 6
  202. popq %rbp
  203. .cfi_def_cfa_offset 48
  204. .cfi_restore 3
  205. popq %rbx
  206. .cfi_def_cfa_offset 40
  207. .cfi_restore 15
  208. popq %r15
  209. .cfi_def_cfa_offset 32
  210. .cfi_restore 14
  211. popq %r14
  212. .cfi_def_cfa_offset 24
  213. .cfi_restore 13
  214. popq %r13
  215. .cfi_def_cfa_offset 16
  216. .cfi_restore 12
  217. popq %r12
  218. .cfi_def_cfa_offset 8
  219. ret
  220. .align 16,0x90
  221. .cfi_endproc
  222. .type __dpml_extended_multiply__,@function
  223. .size __dpml_extended_multiply__,.-__dpml_extended_multiply__
  224. .data
  225. # -- End __dpml_extended_multiply__
  226. .text
  227. # -- Begin __dpml_evaluate_rational__
  228. .text
  229. .align 16,0x90
  230. .globl __dpml_evaluate_rational__
  231. __dpml_evaluate_rational__:
  232. # parameter 1: %rdi
  233. # parameter 2: %rsi
  234. # parameter 3: %rdx
  235. # parameter 4: %rcx
  236. # parameter 5: %r8
  237. ..B2.1:
  238. .cfi_startproc
  239. ..___tag_value___dpml_evaluate_rational__.28:
  240. ..L29:
  241. pushq %r12
  242. .cfi_def_cfa_offset 16
  243. .cfi_offset 12, -16
  244. pushq %r13
  245. .cfi_def_cfa_offset 24
  246. .cfi_offset 13, -24
  247. pushq %r14
  248. .cfi_def_cfa_offset 32
  249. .cfi_offset 14, -32
  250. pushq %r15
  251. .cfi_def_cfa_offset 40
  252. .cfi_offset 15, -40
  253. pushq %rbx
  254. .cfi_def_cfa_offset 48
  255. .cfi_offset 3, -48
  256. pushq %rbp
  257. .cfi_def_cfa_offset 56
  258. .cfi_offset 6, -56
  259. subq $88, %rsp
  260. .cfi_def_cfa_offset 144
  261. movq %rdi, %r13
  262. movq %rcx, %rbx
  263. movq %r8, %r14
  264. movq %rbx, %r9
  265. movq %rsi, %r15
  266. movq %rdx, 32(%rsp)
  267. movq %rbx, %rbp
  268. sarq $58, %r9
  269. movq %fs:40, %rax
  270. xorq %rsp, %rax
  271. movq %rax, 72(%rsp)
  272. addl %r9d, 4(%r13)
  273. testq $68, %rbx
  274. jne ..B2.3
  275. ..B2.2:
  276. movl $136, %eax
  277. xorl %ebp, %ebp
  278. cmpl $0, (%r13)
  279. movq %r13, %r12
  280. cmovne %rax, %rbp
  281. xorq %rbx, %rbp
  282. jmp ..B2.4
  283. ..B2.3:
  284. movq %r13, %rdi
  285. lea 48(%rsp), %r12
  286. movq %r13, %rsi
  287. movq %r12, %rdx
  288. ..___tag_value___dpml_evaluate_rational__.43:
  289. call __dpml_multiply__@PLT
  290. ..___tag_value___dpml_evaluate_rational__.44:
  291. ..B2.4:
  292. movq %r12, %rdi
  293. xorl %esi, %esi
  294. ..___tag_value___dpml_evaluate_rational__.45:
  295. call __dpml_ffs_and_shift__@PLT
  296. ..___tag_value___dpml_evaluate_rational__.46:
  297. ..B2.5:
  298. movq 32(%rsp), %r9
  299. movq %r9, %r8
  300. negq %r8
  301. movslq 4(%r12), %rax
  302. imulq %rax, %r8
  303. shlq $4, %r9
  304. movq %r8, 24(%rsp)
  305. testq $512, %rbx
  306. movq %r9, 40(%rsp)
  307. je ..B2.7
  308. ..B2.6:
  309. testq $1024, %rbx
  310. je ..B2.8
  311. ..B2.7:
  312. xorl %eax, %eax
  313. jmp ..B2.9
  314. ..B2.8:
  315. movl $1, %eax
  316. ..B2.9:
  317. testq $15, %rbx
  318. lea (%rax,%rax,2), %rax
  319. lea (,%rax,8), %r9
  320. lea (%r14,%rax,8), %r8
  321. je ..B2.16
  322. ..B2.10:
  323. testq $8, %rbp
  324. lea __eval_neg_poly(%rip), %r11
  325. lea __eval_pos_poly(%rip), %r10
  326. movq %rbx, %rax
  327. cmovne %r11, %r10
  328. negq %r9
  329. andq $240, %rax
  330. cmove %r14, %r8
  331. addq %r14, %r9
  332. addq $24, %r9
  333. cmpq %r11, %r10
  334. jne ..B2.12
  335. ..B2.11:
  336. movq %r12, %rdi
  337. movq %r15, %rdx
  338. movq 24(%rsp), %rsi
  339. movq 32(%rsp), %rcx
  340. movq %r8, (%rsp)
  341. movq %rax, 8(%rsp)
  342. movq %r9, 16(%rsp)
  343. ..___tag_value___dpml_evaluate_rational__.47:
  344. call __eval_neg_poly
  345. ..___tag_value___dpml_evaluate_rational__.48:
  346. jmp ..B2.36
  347. ..B2.12:
  348. movq %r12, %rdi
  349. movq %r15, %rdx
  350. movq 24(%rsp), %rsi
  351. movq 32(%rsp), %rcx
  352. movq %r8, (%rsp)
  353. movq %rax, 8(%rsp)
  354. movq %r9, 16(%rsp)
  355. ..___tag_value___dpml_evaluate_rational__.49:
  356. call __eval_pos_poly
  357. ..___tag_value___dpml_evaluate_rational__.50:
  358. ..B2.36:
  359. movq 16(%rsp), %r9
  360. movq 8(%rsp), %rax
  361. movq (%rsp), %r8
  362. ..B2.13:
  363. testq $2, %rbx
  364. je ..B2.15
  365. ..B2.14:
  366. movq %r13, %rdi
  367. movq %r8, %rsi
  368. movq %r8, %rdx
  369. movq %r8, (%rsp)
  370. movq %rax, 8(%rsp)
  371. movq %r9, 16(%rsp)
  372. ..___tag_value___dpml_evaluate_rational__.51:
  373. call __dpml_multiply__@PLT
  374. ..___tag_value___dpml_evaluate_rational__.52:
  375. ..B2.35:
  376. movq 16(%rsp), %r9
  377. movq 8(%rsp), %rax
  378. movq (%rsp), %r8
  379. ..B2.15:
  380. movq 40(%rsp), %r10
  381. lea 24(%r15,%r10), %r15
  382. movl -8(%r15), %r11d
  383. addl %r11d, 4(%r8)
  384. jmp ..B2.17
  385. ..B2.16:
  386. movq 40(%rsp), %r10
  387. orq $256, %rbx
  388. testq $1024, %rbx
  389. movq %rbx, %rax
  390. movq %r14, %r9
  391. lea 24(%r15,%r10), %r11
  392. cmovne %r11, %r15
  393. andq $240, %rax
  394. ..B2.17:
  395. testq %rax, %rax
  396. je ..B2.26
  397. ..B2.18:
  398. testq $128, %rbp
  399. lea __eval_neg_poly(%rip), %rbp
  400. lea __eval_pos_poly(%rip), %rax
  401. cmovne %rbp, %rax
  402. cmpq %rbp, %rax
  403. jne ..B2.20
  404. ..B2.19:
  405. movq %r12, %rdi
  406. movq %r15, %rdx
  407. movq %r9, %r8
  408. movq 24(%rsp), %rsi
  409. movq 32(%rsp), %rcx
  410. movq %r9, 16(%rsp)
  411. ..___tag_value___dpml_evaluate_rational__.53:
  412. call __eval_neg_poly
  413. ..___tag_value___dpml_evaluate_rational__.54:
  414. jmp ..B2.39
  415. ..B2.20:
  416. movq %r12, %rdi
  417. movq %r15, %rdx
  418. movq %r9, %r8
  419. movq 24(%rsp), %rsi
  420. movq 32(%rsp), %rcx
  421. movq %r9, 16(%rsp)
  422. ..___tag_value___dpml_evaluate_rational__.55:
  423. call __eval_pos_poly
  424. ..___tag_value___dpml_evaluate_rational__.56:
  425. ..B2.39:
  426. movq 16(%rsp), %r9
  427. ..B2.21:
  428. testq $32, %rbx
  429. je ..B2.23
  430. ..B2.22:
  431. movq %r13, %rdi
  432. movq %r9, %rsi
  433. movq %r9, %rdx
  434. movq %r9, 16(%rsp)
  435. ..___tag_value___dpml_evaluate_rational__.57:
  436. call __dpml_multiply__@PLT
  437. ..___tag_value___dpml_evaluate_rational__.58:
  438. ..B2.38:
  439. movq 16(%rsp), %r9
  440. ..B2.23:
  441. movq 40(%rsp), %rax
  442. movl 16(%rax,%r15), %ebp
  443. addl %ebp, 4(%r9)
  444. testq $1024, %rbx
  445. je ..B2.27
  446. ..B2.24:
  447. movq 72(%rsp), %rax
  448. xorq %rsp, %rax
  449. cmpq %fs:40, %rax
  450. jne ..B2.31
  451. ..B2.25:
  452. addq $88, %rsp
  453. .cfi_def_cfa_offset 56
  454. .cfi_restore 6
  455. popq %rbp
  456. .cfi_def_cfa_offset 48
  457. .cfi_restore 3
  458. popq %rbx
  459. .cfi_def_cfa_offset 40
  460. .cfi_restore 15
  461. popq %r15
  462. .cfi_def_cfa_offset 32
  463. .cfi_restore 14
  464. popq %r14
  465. .cfi_def_cfa_offset 24
  466. .cfi_restore 13
  467. popq %r13
  468. .cfi_def_cfa_offset 16
  469. .cfi_restore 12
  470. popq %r12
  471. .cfi_def_cfa_offset 8
  472. ret
  473. .cfi_def_cfa_offset 144
  474. .cfi_offset 3, -48
  475. .cfi_offset 6, -56
  476. .cfi_offset 12, -16
  477. .cfi_offset 13, -24
  478. .cfi_offset 14, -32
  479. .cfi_offset 15, -40
  480. ..B2.26:
  481. orq $256, %rbx
  482. ..B2.27:
  483. testq $256, %rbx
  484. jne ..B2.29
  485. ..B2.28:
  486. movq %r14, %rdi
  487. lea 24(%r14), %rsi
  488. movl $2, %edx
  489. movq %r14, %rcx
  490. ..___tag_value___dpml_evaluate_rational__.79:
  491. call __dpml_divide__@PLT
  492. ..___tag_value___dpml_evaluate_rational__.80:
  493. ..B2.29:
  494. movq 72(%rsp), %rax
  495. xorq %rsp, %rax
  496. cmpq %fs:40, %rax
  497. jne ..B2.31
  498. ..B2.30:
  499. addq $88, %rsp
  500. .cfi_def_cfa_offset 56
  501. .cfi_restore 6
  502. popq %rbp
  503. .cfi_def_cfa_offset 48
  504. .cfi_restore 3
  505. popq %rbx
  506. .cfi_def_cfa_offset 40
  507. .cfi_restore 15
  508. popq %r15
  509. .cfi_def_cfa_offset 32
  510. .cfi_restore 14
  511. popq %r14
  512. .cfi_def_cfa_offset 24
  513. .cfi_restore 13
  514. popq %r13
  515. .cfi_def_cfa_offset 16
  516. .cfi_restore 12
  517. popq %r12
  518. .cfi_def_cfa_offset 8
  519. ret
  520. .cfi_def_cfa_offset 144
  521. .cfi_offset 3, -48
  522. .cfi_offset 6, -56
  523. .cfi_offset 12, -16
  524. .cfi_offset 13, -24
  525. .cfi_offset 14, -32
  526. .cfi_offset 15, -40
  527. ..B2.31:
  528. call __stack_chk_fail@PLT
  529. .align 16,0x90
  530. .cfi_endproc
  531. .type __dpml_evaluate_rational__,@function
  532. .size __dpml_evaluate_rational__,.-__dpml_evaluate_rational__
  533. .data
  534. # -- End __dpml_evaluate_rational__
  535. .text
  536. # -- Begin __eval_neg_poly
  537. .text
  538. .align 16,0x90
  539. __eval_neg_poly:
  540. # parameter 1: %rdi
  541. # parameter 2: %rsi
  542. # parameter 3: %rdx
  543. # parameter 4: %rcx
  544. # parameter 5: %r8
  545. ..B3.1:
  546. .cfi_startproc
  547. ..___tag_value___eval_neg_poly.102:
  548. ..L103:
  549. pushq %r12
  550. .cfi_def_cfa_offset 16
  551. .cfi_offset 12, -16
  552. pushq %r13
  553. .cfi_def_cfa_offset 24
  554. .cfi_offset 13, -24
  555. pushq %r14
  556. .cfi_def_cfa_offset 32
  557. .cfi_offset 14, -32
  558. pushq %r15
  559. .cfi_def_cfa_offset 40
  560. .cfi_offset 15, -40
  561. pushq %rbx
  562. .cfi_def_cfa_offset 48
  563. .cfi_offset 3, -48
  564. pushq %rbp
  565. .cfi_def_cfa_offset 56
  566. .cfi_offset 6, -56
  567. movq %rsi, %r12
  568. xorl %r10d, %r10d
  569. cmpq $128, %r12
  570. movq %rcx, %rax
  571. movl $1, %ecx
  572. movslq 4(%rdi), %r11
  573. movq %rdx, %r13
  574. movq 8(%rdi), %r14
  575. movq 16(%rdi), %rdx
  576. movq %r11, %rdi
  577. cmovl %ecx, %r10d
  578. xorl %ebx, %ebx
  579. negq %rdi
  580. xorl %r9d, %r9d
  581. testl %r10d, %r10d
  582. jne ..B3.5
  583. ..B3.3:
  584. addq %r11, %r12
  585. addq $16, %r13
  586. decq %rax
  587. cmpq $128, %r12
  588. jge ..B3.3
  589. ..B3.5:
  590. xorl %ebp, %ebp
  591. cmpq $64, %r12
  592. cmovge %ebp, %ecx
  593. testl %ecx, %ecx
  594. jne ..B3.12
  595. ..B3.7:
  596. movl %r12d, %ecx
  597. decq %rax
  598. addq %r11, %r12
  599. movq 8(%r13), %r9
  600. addq $16, %r13
  601. shrq %cl, %r9
  602. cmpq $64, %r12
  603. jl ..B3.12
  604. ..B3.8:
  605. testq %r9, %r9
  606. je ..B3.7
  607. ..B3.9:
  608. movq %r14, %rbp
  609. xorl %r15d, %r15d
  610. movl %r14d, %esi
  611. shrq $32, %rbp
  612. movq %r8, -72(%rsp)
  613. ..B3.10:
  614. movl %r9d, %r10d
  615. movq %rsi, %r8
  616. imulq %r10, %r8
  617. imulq %rbp, %r10
  618. shrq $32, %r9
  619. movq %rsi, %rcx
  620. imulq %r9, %rcx
  621. imulq %rbp, %r9
  622. shrq $32, %r8
  623. decq %rax
  624. addq %r10, %r8
  625. addq %r8, %rcx
  626. cmpq %r8, %rcx
  627. movl %r15d, %r8d
  628. movq %rcx, %r10
  629. movl %r12d, %ecx
  630. setb %r8b
  631. addq %r11, %r12
  632. shrq $32, %r10
  633. shlq $32, %r8
  634. addq %r8, %r10
  635. addq %r9, %r10
  636. movq 8(%r13), %r9
  637. addq $16, %r13
  638. shrq %cl, %r9
  639. subq %r10, %r9
  640. cmpq $64, %r12
  641. jge ..B3.10
  642. ..B3.11:
  643. movq -72(%rsp), %r8
  644. ..B3.12:
  645. movq %r12, %r10
  646. negq %r10
  647. testq %r12, %r12
  648. je ..B3.19
  649. ..B3.13:
  650. movq %r14, %rsi
  651. movl %r14d, %ebp
  652. shrq $32, %rsi
  653. movq %r14, -16(%rsp)
  654. xorl %r14d, %r14d
  655. movq %r8, -72(%rsp)
  656. ..B3.14:
  657. movl %r9d, %ebx
  658. movq %rbp, %rcx
  659. imulq %rbx, %rcx
  660. imulq %rsi, %rbx
  661. shrq $32, %r9
  662. movq %rbp, %r15
  663. imulq %r9, %r15
  664. imulq %rsi, %r9
  665. shrq $32, %rcx
  666. decq %rax
  667. addq %rbx, %rcx
  668. movl %r14d, %ebx
  669. addq %rcx, %r15
  670. cmpq %rcx, %r15
  671. movq %r15, %r8
  672. movl %r12d, %ecx
  673. setb %bl
  674. shrq $32, %r8
  675. shlq $32, %rbx
  676. addq %rbx, %r8
  677. movq 8(%r13), %rbx
  678. addq %r9, %r8
  679. movq (%r13), %r15
  680. movq %rbx, %r9
  681. shrq %cl, %r15
  682. movl %r10d, %ecx
  683. shlq %cl, %r9
  684. movl %r12d, %ecx
  685. orq %r9, %r15
  686. addq %rdi, %r10
  687. movq %r15, %r9
  688. addq $16, %r13
  689. subq %r8, %r9
  690. movl %r14d, %r8d
  691. cmpq %r15, %r9
  692. seta %r8b
  693. shrq %cl, %rbx
  694. subq %r8, %rbx
  695. addq %r11, %r12
  696. je ..B3.24
  697. ..B3.15:
  698. testq %rbx, %rbx
  699. je ..B3.14
  700. ..B3.16:
  701. movq %rdx, %rcx
  702. movl %edx, %r15d
  703. shrq $32, %rcx
  704. movq %rdx, -8(%rsp)
  705. movq %rcx, -48(%rsp)
  706. movq %r15, -40(%rsp)
  707. movq %rsi, -32(%rsp)
  708. movq %rdi, -56(%rsp)
  709. movq %r11, -64(%rsp)
  710. ..B3.17:
  711. movl %r12d, %ecx
  712. decq %rax
  713. movq 8(%r13), %r14
  714. movq %r14, %r11
  715. movq (%r13), %rdx
  716. addq $16, %r13
  717. shrq %cl, %rdx
  718. movl %r10d, %ecx
  719. shlq %cl, %r11
  720. movl %r12d, %ecx
  721. orq %r11, %rdx
  722. movq -40(%rsp), %r11
  723. movq %r11, %r8
  724. movl %ebx, %esi
  725. movq -48(%rsp), %r15
  726. shrq %cl, %r14
  727. movq %r15, %rcx
  728. imulq %rsi, %r8
  729. imulq %rsi, %rcx
  730. shrq $32, %r8
  731. movq -16(%rsp), %rdi
  732. addq %rcx, %r8
  733. imulq %rbx, %rdi
  734. shrq $32, %rbx
  735. movq %r11, %rcx
  736. imulq %rbx, %rcx
  737. imulq %rbx, %r15
  738. addq %r8, %rcx
  739. negq %rdi
  740. cmpq %r8, %rcx
  741. movl $0, %r8d
  742. movq %rcx, %r11
  743. movl %r8d, %ecx
  744. setb %cl
  745. addq %rdx, %rdi
  746. cmpq %rdx, %rdi
  747. movq %rax, -24(%rsp)
  748. movl %r8d, %edx
  749. movl %r9d, %eax
  750. seta %dl
  751. shrq $32, %r11
  752. shlq $32, %rcx
  753. addq %rcx, %r11
  754. addq %r15, %r11
  755. movq %rbp, %r15
  756. imulq %rax, %r15
  757. movq -32(%rsp), %rcx
  758. negq %r11
  759. imulq %rcx, %rax
  760. shrq $32, %r15
  761. addq %rdi, %r11
  762. shrq $32, %r9
  763. addq %rax, %r15
  764. movq %rbp, %rax
  765. imulq %r9, %rax
  766. imulq %rcx, %r9
  767. addq %r15, %rax
  768. cmpq %r15, %rax
  769. movl %r8d, %r15d
  770. setb %r15b
  771. subq %rdx, %r14
  772. movq %rax, %rdx
  773. shrq $32, %rdx
  774. shlq $32, %r15
  775. addq %r15, %rdx
  776. xorl %r15d, %r15d
  777. addq %r9, %rdx
  778. xorl %r9d, %r9d
  779. cmpq %rdi, %r11
  780. movq %rbp, %rdi
  781. seta %r9b
  782. imulq %rsi, %rdi
  783. imulq %rcx, %rsi
  784. shrq $32, %rdi
  785. addq %rsi, %rdi
  786. movq %rbp, %rsi
  787. imulq %rbx, %rsi
  788. imulq %rcx, %rbx
  789. addq %rdi, %rsi
  790. subq %r9, %r14
  791. movq %r11, %r9
  792. cmpq %rdi, %rsi
  793. movq %rsi, %rax
  794. setb %r15b
  795. subq %rdx, %r9
  796. cmpq %r11, %r9
  797. seta %r8b
  798. shrq $32, %rax
  799. shlq $32, %r15
  800. addq %r15, %rax
  801. subq %r8, %r14
  802. addq %rbx, %rax
  803. movq %r14, %rbx
  804. addq -56(%rsp), %r10
  805. subq %rax, %rbx
  806. movq -24(%rsp), %rax
  807. addq -64(%rsp), %r12
  808. jne ..B3.17
  809. ..B3.18:
  810. movq -8(%rsp), %rdx
  811. movq -16(%rsp), %r14
  812. movq -72(%rsp), %r8
  813. ..B3.19:
  814. testq %rax, %rax
  815. js ..B3.23
  816. ..B3.20:
  817. movl %edx, %r12d
  818. movq %r14, %r10
  819. shrq $32, %rdx
  820. movl %r14d, %r11d
  821. shrq $32, %r10
  822. movq %rdx, -8(%rsp)
  823. movq %r14, -16(%rsp)
  824. movq %r8, -72(%rsp)
  825. ..B3.21:
  826. movl %ebx, %ecx
  827. movq %r12, %r8
  828. movq -8(%rsp), %r15
  829. movq %r15, %rdi
  830. imulq %rcx, %r8
  831. imulq %rcx, %rdi
  832. movq -16(%rsp), %rdx
  833. movq %r12, %rbp
  834. imulq %rbx, %rdx
  835. shrq $32, %rbx
  836. negq %rdx
  837. imulq %rbx, %rbp
  838. imulq %rbx, %r15
  839. shrq $32, %r8
  840. addq %rdi, %r8
  841. addq %r8, %rbp
  842. movq %rbp, %rdi
  843. cmpq %r8, %rbp
  844. movl $0, %ebp
  845. movl %ebp, %r8d
  846. setb %r8b
  847. movq (%r13), %r14
  848. addq %r14, %rdx
  849. shrq $32, %rdi
  850. shlq $32, %r8
  851. addq %r8, %rdi
  852. xorl %r8d, %r8d
  853. cmpq %r14, %rdx
  854. movq %r11, %r14
  855. seta %r8b
  856. addq %r15, %rdi
  857. movl %r9d, %r15d
  858. negq %rdi
  859. addq %rdx, %rdi
  860. imulq %r15, %r14
  861. imulq %r10, %r15
  862. movq 8(%r13), %rsi
  863. addq $16, %r13
  864. shrq $32, %r9
  865. subq %r8, %rsi
  866. movq %r11, %r8
  867. imulq %r9, %r8
  868. imulq %r10, %r9
  869. shrq $32, %r14
  870. addq %r15, %r14
  871. addq %r14, %r8
  872. cmpq %r14, %r8
  873. movl %ebp, %r14d
  874. movq %r8, %r15
  875. setb %r14b
  876. shrq $32, %r15
  877. shlq $32, %r14
  878. addq %r14, %r15
  879. xorl %r14d, %r14d
  880. addq %r9, %r15
  881. xorl %r9d, %r9d
  882. cmpq %rdx, %rdi
  883. movq %r11, %rdx
  884. seta %r9b
  885. imulq %rcx, %rdx
  886. imulq %r10, %rcx
  887. shrq $32, %rdx
  888. addq %rcx, %rdx
  889. movq %r11, %rcx
  890. imulq %rbx, %rcx
  891. imulq %r10, %rbx
  892. addq %rdx, %rcx
  893. subq %r9, %rsi
  894. movq %rdi, %r9
  895. cmpq %rdx, %rcx
  896. movq %rcx, %r8
  897. setb %r14b
  898. subq %r15, %r9
  899. cmpq %rdi, %r9
  900. seta %bpl
  901. shrq $32, %r8
  902. shlq $32, %r14
  903. addq %r14, %r8
  904. subq %rbp, %rsi
  905. addq %rbx, %r8
  906. movq %rsi, %rbx
  907. subq %r8, %rbx
  908. decq %rax
  909. jns ..B3.21
  910. ..B3.22:
  911. movq -72(%rsp), %r8
  912. ..B3.23:
  913. xorl %eax, %eax
  914. movq %rbx, 8(%r8)
  915. movq %r9, 16(%r8)
  916. movl %eax, 4(%r8)
  917. movl %eax, (%r8)
  918. .cfi_restore 6
  919. popq %rbp
  920. .cfi_def_cfa_offset 48
  921. .cfi_restore 3
  922. popq %rbx
  923. .cfi_def_cfa_offset 40
  924. .cfi_restore 15
  925. popq %r15
  926. .cfi_def_cfa_offset 32
  927. .cfi_restore 14
  928. popq %r14
  929. .cfi_def_cfa_offset 24
  930. .cfi_restore 13
  931. popq %r13
  932. .cfi_def_cfa_offset 16
  933. .cfi_restore 12
  934. popq %r12
  935. .cfi_def_cfa_offset 8
  936. ret
  937. .cfi_def_cfa_offset 56
  938. .cfi_offset 3, -48
  939. .cfi_offset 6, -56
  940. .cfi_offset 12, -16
  941. .cfi_offset 13, -24
  942. .cfi_offset 14, -32
  943. .cfi_offset 15, -40
  944. ..B3.24:
  945. movq -16(%rsp), %r14
  946. movq -72(%rsp), %r8
  947. jmp ..B3.19
  948. .align 16,0x90
  949. .cfi_endproc
  950. .type __eval_neg_poly,@function
  951. .size __eval_neg_poly,.-__eval_neg_poly
  952. .data
  953. # -- End __eval_neg_poly
  954. .text
  955. # -- Begin __dpml_divide__
  956. .text
  957. .align 16,0x90
  958. .globl __dpml_divide__
  959. __dpml_divide__:
  960. # parameter 1: %rdi
  961. # parameter 2: %rsi
  962. # parameter 3: %rdx
  963. # parameter 4: %rcx
  964. ..B4.1:
  965. .cfi_startproc
  966. ..___tag_value___dpml_divide__.136:
  967. ..L137:
  968. pushq %r12
  969. .cfi_def_cfa_offset 16
  970. .cfi_offset 12, -16
  971. pushq %r13
  972. .cfi_def_cfa_offset 24
  973. .cfi_offset 13, -24
  974. pushq %r14
  975. .cfi_def_cfa_offset 32
  976. .cfi_offset 14, -32
  977. pushq %r15
  978. .cfi_def_cfa_offset 40
  979. .cfi_offset 15, -40
  980. pushq %rbx
  981. .cfi_def_cfa_offset 48
  982. .cfi_offset 3, -48
  983. pushq %rbp
  984. .cfi_def_cfa_offset 56
  985. .cfi_offset 6, -56
  986. subq $56, %rsp
  987. .cfi_def_cfa_offset 112
  988. movq %rsi, %rbp
  989. testq %rbp, %rbp
  990. lea __ux_one__(%rip), %r8
  991. movq %rdi, %rbx
  992. movq %rcx, %r15
  993. jne ..L151
  994. movq %r8, %rbp
  995. ..L151:
  996. testq %rbx, %rbx
  997. movq %rdx, %r12
  998. movq %fs:40, %rax
  999. jne ..L152
  1000. movq %r8, %rbx
  1001. ..L152:
  1002. xorq %rsp, %rax
  1003. movq %rax, 48(%rsp)
  1004. cmpq %r8, %rbp
  1005. movq 8(%rbp), %r13
  1006. movq 16(%rbp), %r14
  1007. je ..B4.12
  1008. ..B4.2:
  1009. testq %r13, %r13
  1010. jl ..B4.5
  1011. ..B4.3:
  1012. movq %rbp, %rdi
  1013. xorl %esi, %esi
  1014. ..___tag_value___dpml_divide__.153:
  1015. call __dpml_ffs_and_shift__@PLT
  1016. ..___tag_value___dpml_divide__.154:
  1017. ..B4.4:
  1018. movq 8(%rbp), %r13
  1019. movq 16(%rbp), %r14
  1020. ..B4.5:
  1021. lea 16(%rsp), %rdi
  1022. ..___tag_value___dpml_divide__.155:
  1023. call fegetenv@PLT
  1024. ..___tag_value___dpml_divide__.156:
  1025. ..B4.6:
  1026. movq %r13, %rcx
  1027. pxor %xmm0, %xmm0
  1028. shrq $1, %rcx
  1029. movq $0x3fffffffff, %rax
  1030. cvtsi2sdq %rcx, %xmm0
  1031. movsd .L_2il0floatpacket.0(%rip), %xmm3
  1032. movq %r13, %r9
  1033. divsd %xmm0, %xmm3
  1034. andq %rax, %r9
  1035. movq %r14, %r8
  1036. shlq $15, %r9
  1037. movq $0xffffffc000000000, %rdx
  1038. shrq $49, %r8
  1039. movq %r13, %rsi
  1040. movl (%rbx), %r10d
  1041. orq %r8, %r9
  1042. movl 4(%rbx), %r8d
  1043. andq %rdx, %rsi
  1044. xorl (%rbp), %r10d
  1045. pxor %xmm1, %xmm1
  1046. subl 4(%rbp), %r8d
  1047. pxor %xmm2, %xmm2
  1048. cvttsd2si %xmm3, %rbp
  1049. cvtsi2sdq %r9, %xmm2
  1050. shrq $1, %rsi
  1051. addq $-1280, %rbp
  1052. cvtsi2sdq %rsi, %xmm1
  1053. movq 8(%rbx), %rsi
  1054. pxor %xmm7, %xmm7
  1055. movq 16(%rbx), %rcx
  1056. movq $0xfffffff000000000, %rbx
  1057. andq %rbx, %rbp
  1058. andq %rsi, %rax
  1059. cvtsi2sdq %rbp, %xmm7
  1060. movsd .L_2il0floatpacket.1(%rip), %xmm5
  1061. movq %rcx, %r11
  1062. mulsd %xmm5, %xmm2
  1063. pxor %xmm6, %xmm6
  1064. mulsd %xmm7, %xmm1
  1065. mulsd %xmm7, %xmm2
  1066. movsd .L_2il0floatpacket.0(%rip), %xmm0
  1067. movq %rsi, %rdi
  1068. shlq $15, %rax
  1069. andq %rsi, %rdx
  1070. shrq $49, %r11
  1071. pxor %xmm8, %xmm8
  1072. orq %r11, %rax
  1073. pxor %xmm9, %xmm9
  1074. cvtsi2sdq %rax, %xmm6
  1075. subsd %xmm1, %xmm0
  1076. mulsd %xmm6, %xmm5
  1077. subsd %xmm2, %xmm0
  1078. movsd .L_2il0floatpacket.2(%rip), %xmm4
  1079. mulsd %xmm3, %xmm4
  1080. shrq $11, %rdi
  1081. shlq $10, %rdi
  1082. shrq $1, %rdx
  1083. cvtsi2sdq %rdi, %xmm8
  1084. cvtsi2sdq %rdx, %xmm9
  1085. mulsd %xmm4, %xmm0
  1086. movsd .L_2il0floatpacket.3(%rip), %xmm10
  1087. xorl %edi, %edi
  1088. mulsd %xmm7, %xmm10
  1089. mulsd %xmm0, %xmm8
  1090. mulsd %xmm10, %xmm9
  1091. mulsd %xmm5, %xmm10
  1092. mulsd .L_2il0floatpacket.4(%rip), %xmm9
  1093. addsd %xmm8, %xmm10
  1094. cvttsd2si %xmm9, %rdx
  1095. cvttsd2si %xmm10, %rbx
  1096. movq %rdx, %rax
  1097. lea (%rbx,%rdx,4), %rdx
  1098. cmpq %rbx, %rdx
  1099. movl %r10d, (%r15)
  1100. setb %dil
  1101. xorl %ebx, %ebx
  1102. shrq $62, %rax
  1103. addq %rdi, %rax
  1104. cmpq $1, %r12
  1105. je ..B4.8
  1106. ..B4.7:
  1107. movsd .L_2il0floatpacket.5(%rip), %xmm1
  1108. movq %r14, %r9
  1109. mulsd %xmm0, %xmm1
  1110. xorl %r11d, %r11d
  1111. movq %r15, (%rsp)
  1112. movq %rax, %r12
  1113. cvttsd2si %xmm1, %r15
  1114. movl %edx, %ebx
  1115. lea (%r15,%rbp,4), %r15
  1116. testq %r15, %r15
  1117. movq %rbx, %rdi
  1118. movl %r8d, 8(%rsp)
  1119. movq $-1, %r8
  1120. movl %r14d, %ebp
  1121. cmove %r8, %r15
  1122. shrq $32, %r9
  1123. movq %rdx, %r8
  1124. imulq %rbp, %rdi
  1125. movq %rbx, %r10
  1126. negq %r12
  1127. shrq $32, %r8
  1128. andq %r12, %r14
  1129. imulq %r9, %r10
  1130. imulq %r8, %rbp
  1131. imulq %r8, %r9
  1132. shrq $32, %rdi
  1133. andq %r13, %r12
  1134. addq %r10, %rdi
  1135. addq %rdi, %rbp
  1136. cmpq %rdi, %rbp
  1137. movq %rbp, %r10
  1138. movl %r13d, %ebp
  1139. movq %rbx, %rdi
  1140. setb %r11b
  1141. shrq $32, %r10
  1142. shlq $32, %r11
  1143. addq %r11, %r10
  1144. movq %r13, %r11
  1145. addq %r9, %r10
  1146. movq %r13, %r9
  1147. shrq $32, %r9
  1148. addq %r10, %r14
  1149. imulq %rbp, %rdi
  1150. imulq %r9, %rbx
  1151. imulq %r8, %rbp
  1152. imulq %rdx, %r11
  1153. imulq %r8, %r9
  1154. shrq $32, %rdi
  1155. xorl %r8d, %r8d
  1156. addq %rbx, %rdi
  1157. addq %rdi, %rbp
  1158. cmpq %rdi, %rbp
  1159. movq %rbp, %rbx
  1160. movl $0, %ebp
  1161. setb %bpl
  1162. cmpq %r10, %r14
  1163. setb %r8b
  1164. xorl %r10d, %r10d
  1165. addq %r11, %r14
  1166. shrq $32, %rbx
  1167. shlq $32, %rbp
  1168. addq %rbp, %rbx
  1169. xorl %ebp, %ebp
  1170. addq %r9, %rbx
  1171. xorl %r9d, %r9d
  1172. cmpq %r11, %r14
  1173. setb %r9b
  1174. xorl %r11d, %r11d
  1175. addq %rbx, %r12
  1176. cmpq %rbx, %r12
  1177. setb %r11b
  1178. xorl %ebx, %ebx
  1179. addq %r9, %r8
  1180. addq %r8, %r12
  1181. xorl %r9d, %r9d
  1182. cmpq %r8, %r12
  1183. setb %bl
  1184. cmpq %r14, %rcx
  1185. setb %r10b
  1186. addq %rbx, %r11
  1187. xorl %ebx, %ebx
  1188. cmpq %r12, %rsi
  1189. setb %bl
  1190. negq %r12
  1191. addq %rsi, %r12
  1192. negq %r11
  1193. cmpq %r10, %r12
  1194. setb %bpl
  1195. subq %rbx, %r11
  1196. movl $1, %ebx
  1197. cmpq %r12, %r10
  1198. movl $0, %r12d
  1199. cmovne %ebx, %r12d
  1200. subq %rbp, %r11
  1201. orq %r11, %r12
  1202. cmove %r13, %r11
  1203. negq %r14
  1204. addq %rcx, %r14
  1205. xorq %r11, %r13
  1206. subq %r13, %r14
  1207. movl %r15d, %r13d
  1208. movl %r14d, %edi
  1209. movq %r13, %r8
  1210. shrq $32, %r14
  1211. imulq %rdi, %r8
  1212. imulq %r14, %r13
  1213. shrq $32, %r15
  1214. imulq %r15, %rdi
  1215. imulq %r15, %r14
  1216. shrq $32, %r8
  1217. addq %r13, %r8
  1218. addq %r8, %rdi
  1219. cmpq %r8, %rdi
  1220. movq %rdi, %r13
  1221. movl 8(%rsp), %r8d
  1222. setb %r9b
  1223. orq %rcx, %rsi
  1224. movl $0, %ecx
  1225. cmove %ecx, %ebx
  1226. xorl %esi, %esi
  1227. shrq $32, %r13
  1228. shlq $32, %r9
  1229. addq %r9, %r13
  1230. addq %r14, %r13
  1231. movq %r13, %r14
  1232. shrq $63, %r14
  1233. addq %r14, %r12
  1234. addq %r12, %rdx
  1235. cmpq %r12, %rdx
  1236. setb %sil
  1237. sarq $63, %r12
  1238. addq %r12, %rax
  1239. movq (%rsp), %r15
  1240. lea (%rbx,%r13,2), %rbx
  1241. addq %rsi, %rax
  1242. ..B4.8:
  1243. movq %rax, %rsi
  1244. movl %eax, %ecx
  1245. movq %rdx, %rbp
  1246. andq %rax, %rdx
  1247. shrq %cl, %rbp
  1248. movl %eax, %ecx
  1249. shlq $63, %rsi
  1250. lea 16(%rsp), %rdi
  1251. shlq $63, %rdx
  1252. orq %rbp, %rsi
  1253. shrq %cl, %rbx
  1254. movslq %r8d, %r8
  1255. orq %rbx, %rdx
  1256. addq %rax, %r8
  1257. movq %rsi, 8(%r15)
  1258. movq %rdx, 16(%r15)
  1259. movl %r8d, 4(%r15)
  1260. ..___tag_value___dpml_divide__.157:
  1261. call fesetenv@PLT
  1262. ..___tag_value___dpml_divide__.158:
  1263. ..B4.9:
  1264. movq 48(%rsp), %rax
  1265. xorq %rsp, %rax
  1266. cmpq %fs:40, %rax
  1267. jne ..B4.11
  1268. ..B4.10:
  1269. addq $56, %rsp
  1270. .cfi_def_cfa_offset 56
  1271. .cfi_restore 6
  1272. popq %rbp
  1273. .cfi_def_cfa_offset 48
  1274. .cfi_restore 3
  1275. popq %rbx
  1276. .cfi_def_cfa_offset 40
  1277. .cfi_restore 15
  1278. popq %r15
  1279. .cfi_def_cfa_offset 32
  1280. .cfi_restore 14
  1281. popq %r14
  1282. .cfi_def_cfa_offset 24
  1283. .cfi_restore 13
  1284. popq %r13
  1285. .cfi_def_cfa_offset 16
  1286. .cfi_restore 12
  1287. popq %r12
  1288. .cfi_def_cfa_offset 8
  1289. ret
  1290. .cfi_def_cfa_offset 112
  1291. .cfi_offset 3, -48
  1292. .cfi_offset 6, -56
  1293. .cfi_offset 12, -16
  1294. .cfi_offset 13, -24
  1295. .cfi_offset 14, -32
  1296. .cfi_offset 15, -40
  1297. ..B4.11:
  1298. call __stack_chk_fail@PLT
  1299. ..B4.12:
  1300. movq 8(%rbx), %rcx
  1301. movq %rcx, 8(%r15)
  1302. movl (%rbx), %eax
  1303. movl 4(%rbx), %edx
  1304. movq 16(%rbx), %rbx
  1305. movl %eax, (%r15)
  1306. movl %edx, 4(%r15)
  1307. movq %rbx, 16(%r15)
  1308. movq 48(%rsp), %rbp
  1309. xorq %rsp, %rbp
  1310. cmpq %fs:40, %rbp
  1311. jne ..B4.11
  1312. jmp ..B4.10
  1313. .align 16,0x90
  1314. .cfi_endproc
  1315. .type __dpml_divide__,@function
  1316. .size __dpml_divide__,.-__dpml_divide__
  1317. .data
  1318. # -- End __dpml_divide__
  1319. .text
  1320. # -- Begin __dpml_multiply__
  1321. .text
  1322. .align 16,0x90
  1323. .globl __dpml_multiply__
  1324. __dpml_multiply__:
  1325. # parameter 1: %rdi
  1326. # parameter 2: %rsi
  1327. # parameter 3: %rdx
  1328. ..B5.1:
  1329. .cfi_startproc
  1330. ..___tag_value___dpml_multiply__.180:
  1331. ..L181:
  1332. pushq %r13
  1333. .cfi_def_cfa_offset 16
  1334. .cfi_offset 13, -16
  1335. pushq %r14
  1336. .cfi_def_cfa_offset 24
  1337. .cfi_offset 14, -24
  1338. pushq %r15
  1339. .cfi_def_cfa_offset 32
  1340. .cfi_offset 15, -32
  1341. movq %rdi, %r15
  1342. movq 8(%rsi), %r9
  1343. movq %rdx, %r11
  1344. movl %r9d, %ecx
  1345. movq %rcx, %r13
  1346. movq %rcx, %rax
  1347. movq 16(%r15), %rdi
  1348. movl %edi, %r14d
  1349. movq 8(%r15), %r8
  1350. movq %r8, %r10
  1351. shrq $32, %rdi
  1352. imulq %r14, %r13
  1353. imulq %r9, %r10
  1354. imulq %rdi, %rax
  1355. shrq $32, %r9
  1356. imulq %r9, %r14
  1357. imulq %r9, %rdi
  1358. shrq $32, %r13
  1359. addq %rax, %r13
  1360. addq %r13, %r14
  1361. cmpq %r13, %r14
  1362. movq %r14, %rax
  1363. movl $0, %r14d
  1364. setb %r14b
  1365. shrq $32, %rax
  1366. shlq $32, %r14
  1367. addq %r14, %rax
  1368. addq %rdi, %rax
  1369. movl (%r15), %edi
  1370. addq %rax, %r10
  1371. movq 16(%rsi), %rdx
  1372. xorl (%rsi), %edi
  1373. movl 4(%r15), %r15d
  1374. movl %edx, %r13d
  1375. movl %edi, (%r11)
  1376. movq %r13, %rdi
  1377. addl 4(%rsi), %r15d
  1378. movl %r8d, %esi
  1379. shrq $32, %r8
  1380. movq %rsi, %r14
  1381. imulq %rsi, %rdi
  1382. imulq %r8, %r13
  1383. shrq $32, %rdx
  1384. imulq %rdx, %r14
  1385. imulq %r8, %rdx
  1386. shrq $32, %rdi
  1387. addq %r13, %rdi
  1388. xorl %r13d, %r13d
  1389. addq %rdi, %r14
  1390. cmpq %rdi, %r14
  1391. movl %r15d, 4(%r11)
  1392. movq %r14, %r15
  1393. setb %r13b
  1394. xorl %r14d, %r14d
  1395. cmpq %rax, %r10
  1396. setb %r14b
  1397. shrq $32, %r15
  1398. shlq $32, %r13
  1399. addq %r13, %r15
  1400. addq %rdx, %r15
  1401. movq %rcx, %rdx
  1402. imulq %rsi, %rdx
  1403. imulq %r8, %rcx
  1404. imulq %r9, %rsi
  1405. imulq %r9, %r8
  1406. shrq $32, %rdx
  1407. addq %r15, %r10
  1408. addq %rcx, %rdx
  1409. xorl %ecx, %ecx
  1410. addq %rdx, %rsi
  1411. cmpq %rdx, %rsi
  1412. movq %rsi, %r13
  1413. setb %cl
  1414. shrq $32, %r13
  1415. shlq $32, %rcx
  1416. addq %rcx, %r13
  1417. addq %r8, %r13
  1418. xorl %r8d, %r8d
  1419. cmpq %r15, %r10
  1420. setb %r8b
  1421. addq %r14, %r8
  1422. addq %r8, %r13
  1423. movq %r10, 16(%r11)
  1424. movq %r13, 8(%r11)
  1425. .cfi_restore 15
  1426. popq %r15
  1427. .cfi_def_cfa_offset 24
  1428. .cfi_restore 14
  1429. popq %r14
  1430. .cfi_def_cfa_offset 16
  1431. .cfi_restore 13
  1432. popq %r13
  1433. .cfi_def_cfa_offset 8
  1434. ret
  1435. .align 16,0x90
  1436. .cfi_endproc
  1437. .type __dpml_multiply__,@function
  1438. .size __dpml_multiply__,.-__dpml_multiply__
  1439. .data
  1440. # -- End __dpml_multiply__
  1441. .text
  1442. # -- Begin __eval_pos_poly
  1443. .text
  1444. .align 16,0x90
  1445. __eval_pos_poly:
  1446. # parameter 1: %rdi
  1447. # parameter 2: %rsi
  1448. # parameter 3: %rdx
  1449. # parameter 4: %rcx
  1450. # parameter 5: %r8
  1451. ..B6.1:
  1452. .cfi_startproc
  1453. ..___tag_value___eval_pos_poly.195:
  1454. ..L196:
  1455. pushq %r12
  1456. .cfi_def_cfa_offset 16
  1457. .cfi_offset 12, -16
  1458. pushq %r13
  1459. .cfi_def_cfa_offset 24
  1460. .cfi_offset 13, -24
  1461. pushq %r14
  1462. .cfi_def_cfa_offset 32
  1463. .cfi_offset 14, -32
  1464. pushq %r15
  1465. .cfi_def_cfa_offset 40
  1466. .cfi_offset 15, -40
  1467. pushq %rbx
  1468. .cfi_def_cfa_offset 48
  1469. .cfi_offset 3, -48
  1470. pushq %rbp
  1471. .cfi_def_cfa_offset 56
  1472. .cfi_offset 6, -56
  1473. movq %rsi, %r11
  1474. movq 16(%rdi), %r9
  1475. cmpq $128, %r11
  1476. movq %r9, -32(%rsp)
  1477. movl $0, %r9d
  1478. movq %rcx, %rax
  1479. movl $1, %ecx
  1480. movslq 4(%rdi), %rbp
  1481. cmovl %ecx, %r9d
  1482. xorl %ebx, %ebx
  1483. xorl %esi, %esi
  1484. movq %rbp, -64(%rsp)
  1485. negq %rbp
  1486. movq 8(%rdi), %r10
  1487. testl %r9d, %r9d
  1488. jne ..B6.5
  1489. ..B6.2:
  1490. movq -64(%rsp), %rdi
  1491. ..B6.3:
  1492. addq %rdi, %r11
  1493. addq $16, %rdx
  1494. decq %rax
  1495. cmpq $128, %r11
  1496. jge ..B6.3
  1497. ..B6.5:
  1498. xorl %edi, %edi
  1499. cmpq $64, %r11
  1500. cmovge %edi, %ecx
  1501. testl %ecx, %ecx
  1502. jne ..B6.12
  1503. ..B6.6:
  1504. movq -64(%rsp), %rdi
  1505. ..B6.7:
  1506. movl %r11d, %ecx
  1507. decq %rax
  1508. addq %rdi, %r11
  1509. movq 8(%rdx), %rsi
  1510. addq $16, %rdx
  1511. shrq %cl, %rsi
  1512. cmpq $64, %r11
  1513. jl ..B6.12
  1514. ..B6.8:
  1515. testq %rsi, %rsi
  1516. je ..B6.7
  1517. ..B6.9:
  1518. movq %r10, %r9
  1519. xorl %r12d, %r12d
  1520. movl %r10d, %ebx
  1521. shrq $32, %r9
  1522. movq -64(%rsp), %r13
  1523. ..B6.10:
  1524. movl %esi, %edi
  1525. movq %rbx, %r15
  1526. imulq %rdi, %r15
  1527. imulq %r9, %rdi
  1528. shrq $32, %rsi
  1529. movq %rbx, %r14
  1530. imulq %rsi, %r14
  1531. imulq %r9, %rsi
  1532. shrq $32, %r15
  1533. movl %r12d, %ecx
  1534. addq %rdi, %r15
  1535. decq %rax
  1536. addq %r15, %r14
  1537. cmpq %r15, %r14
  1538. movq %r14, %rdi
  1539. setb %cl
  1540. shrq $32, %rdi
  1541. shlq $32, %rcx
  1542. addq %rcx, %rdi
  1543. movl %r11d, %ecx
  1544. addq %rsi, %rdi
  1545. addq %r13, %r11
  1546. movq 8(%rdx), %rsi
  1547. addq $16, %rdx
  1548. shrq %cl, %rsi
  1549. addq %rdi, %rsi
  1550. cmpq $64, %r11
  1551. jge ..B6.10
  1552. ..B6.11:
  1553. xorl %ebx, %ebx
  1554. cmpq %rdi, %rsi
  1555. setb %bl
  1556. ..B6.12:
  1557. movq %r11, %r9
  1558. xorl %edi, %edi
  1559. negq %r9
  1560. testq %r11, %r11
  1561. je ..B6.38
  1562. ..B6.13:
  1563. testq %rbx, %rbx
  1564. jne ..B6.18
  1565. ..B6.14:
  1566. movq %r10, %rbx
  1567. xorl %r13d, %r13d
  1568. movq %r8, -56(%rsp)
  1569. movl %r10d, %r15d
  1570. shrq $32, %rbx
  1571. movq %r10, -40(%rsp)
  1572. movq -64(%rsp), %r8
  1573. ..B6.15:
  1574. movl %esi, %r12d
  1575. movq %r15, %r14
  1576. imulq %r12, %r14
  1577. imulq %rbx, %r12
  1578. shrq $32, %rsi
  1579. movq %r15, %rcx
  1580. imulq %rsi, %rcx
  1581. imulq %rbx, %rsi
  1582. shrq $32, %r14
  1583. decq %rax
  1584. addq %r12, %r14
  1585. movl %r13d, %r12d
  1586. addq %r14, %rcx
  1587. cmpq %r14, %rcx
  1588. movq %rcx, %r10
  1589. movl %r11d, %ecx
  1590. setb %r12b
  1591. shrq $32, %r10
  1592. shlq $32, %r12
  1593. addq %r12, %r10
  1594. movq 8(%rdx), %r12
  1595. addq %rsi, %r10
  1596. movq (%rdx), %rsi
  1597. movq %r12, %r14
  1598. shrq %cl, %rsi
  1599. movl %r9d, %ecx
  1600. shlq %cl, %r14
  1601. movl %r11d, %ecx
  1602. orq %r14, %rsi
  1603. addq %rbp, %r9
  1604. addq %r10, %rsi
  1605. addq $16, %rdx
  1606. cmpq %r10, %rsi
  1607. movl %r13d, %r10d
  1608. setb %r10b
  1609. shrq %cl, %r12
  1610. addq %r10, %r12
  1611. addq %r8, %r11
  1612. je ..B6.32
  1613. ..B6.16:
  1614. testq %r12, %r12
  1615. je ..B6.15
  1616. ..B6.17:
  1617. movq -40(%rsp), %r10
  1618. movq %r12, %rbx
  1619. movq -56(%rsp), %r8
  1620. ..B6.18:
  1621. testq %rax, %rax
  1622. jge ..B6.33
  1623. ..B6.19:
  1624. movq %rbx, 8(%r8)
  1625. movq %rsi, 16(%r8)
  1626. movl %edi, 4(%r8)
  1627. movl $0, (%r8)
  1628. .cfi_restore 6
  1629. popq %rbp
  1630. .cfi_def_cfa_offset 48
  1631. .cfi_restore 3
  1632. popq %rbx
  1633. .cfi_def_cfa_offset 40
  1634. .cfi_restore 15
  1635. popq %r15
  1636. .cfi_def_cfa_offset 32
  1637. .cfi_restore 14
  1638. popq %r14
  1639. .cfi_def_cfa_offset 24
  1640. .cfi_restore 13
  1641. popq %r13
  1642. .cfi_def_cfa_offset 16
  1643. .cfi_restore 12
  1644. popq %r12
  1645. .cfi_def_cfa_offset 8
  1646. ret
  1647. .cfi_def_cfa_offset 56
  1648. .cfi_offset 3, -48
  1649. .cfi_offset 6, -56
  1650. .cfi_offset 12, -16
  1651. .cfi_offset 13, -24
  1652. .cfi_offset 14, -32
  1653. .cfi_offset 15, -40
  1654. ..B6.38:
  1655. movl %edi, -48(%rsp)
  1656. movq %r10, -40(%rsp)
  1657. movq %r8, -56(%rsp)
  1658. ..B6.21:
  1659. testq %rax, %rax
  1660. jl ..B6.30
  1661. ..B6.22:
  1662. movl %ebx, %edi
  1663. decq %rax
  1664. movq -32(%rsp), %rcx
  1665. movq %rdi, %r15
  1666. movl %ecx, %r13d
  1667. movq %rdi, %r11
  1668. movq -40(%rsp), %rbp
  1669. movq %rbp, %r9
  1670. shrq $32, %rcx
  1671. imulq %r13, %r15
  1672. imulq %rbx, %r9
  1673. imulq %rcx, %r11
  1674. shrq $32, %rbx
  1675. movq %r13, -24(%rsp)
  1676. imulq %rbx, %r13
  1677. shrq $32, %r15
  1678. addq %r11, %r15
  1679. xorl %r11d, %r11d
  1680. addq %r15, %r13
  1681. xorl %r14d, %r14d
  1682. movq %r13, %r8
  1683. cmpq %r15, %r13
  1684. movq %rcx, %r13
  1685. setb %r14b
  1686. imulq %rbx, %r13
  1687. shrq $32, %r8
  1688. shlq $32, %r14
  1689. movq (%rdx), %r12
  1690. addq %r14, %r8
  1691. movq %rax, -16(%rsp)
  1692. addq %r9, %r12
  1693. movl %esi, %eax
  1694. addq %r13, %r8
  1695. xorl %r13d, %r13d
  1696. cmpq %r9, %r12
  1697. movq %rax, %r14
  1698. movl %ebp, %r9d
  1699. setb %r13b
  1700. addq %r8, %r12
  1701. shrq $32, %rbp
  1702. imulq %r9, %r14
  1703. imulq %rbp, %rax
  1704. shrq $32, %r14
  1705. shrq $32, %rsi
  1706. addq %rax, %r14
  1707. movq %r9, %rax
  1708. imulq %rsi, %rax
  1709. imulq %rbp, %rsi
  1710. addq %r14, %rax
  1711. cmpq %r14, %rax
  1712. movl %r11d, %r14d
  1713. movq %rax, %r15
  1714. setb %r14b
  1715. shrq $32, %r15
  1716. shlq $32, %r14
  1717. addq %r14, %r15
  1718. xorl %r14d, %r14d
  1719. addq %rsi, %r15
  1720. xorl %esi, %esi
  1721. cmpq %r8, %r12
  1722. movq %rdi, %r8
  1723. setb %sil
  1724. imulq %r9, %r8
  1725. imulq %rbp, %rdi
  1726. shrq $32, %r8
  1727. addq %rdi, %r8
  1728. movq %r9, %rdi
  1729. imulq %rbx, %rdi
  1730. imulq %rbp, %rbx
  1731. addq %r8, %rdi
  1732. cmpq %r8, %rdi
  1733. movq %rdi, %rax
  1734. setb %r14b
  1735. xorl %edi, %edi
  1736. shrq $32, %rax
  1737. addq %rsi, %r13
  1738. shlq $32, %r14
  1739. lea (%r12,%r15), %rsi
  1740. addq %r14, %rax
  1741. addq %rbx, %rax
  1742. xorl %ebx, %ebx
  1743. cmpq %r15, %rsi
  1744. setb %bl
  1745. addq %r13, %rbx
  1746. movq 8(%rdx), %r10
  1747. addq $16, %rdx
  1748. addq %rbx, %r10
  1749. cmpq %rbx, %r10
  1750. setb %dil
  1751. lea (%r10,%rax), %rbx
  1752. cmpq %rax, %rbx
  1753. movq -16(%rsp), %rax
  1754. setb %r11b
  1755. addl %r11d, %edi
  1756. je ..B6.21
  1757. ..B6.23:
  1758. movq %rbx, %rdi
  1759. movl $1, %r11d
  1760. shrq $1, %rsi
  1761. shlq $63, %rdi
  1762. shrq $1, %rbx
  1763. orq %rdi, %rsi
  1764. incl -48(%rsp)
  1765. btsq $63, %rbx
  1766. testq %rax, %rax
  1767. js ..B6.30
  1768. ..B6.39:
  1769. movq %rcx, -72(%rsp)
  1770. ..B6.26:
  1771. movl %r11d, %ecx
  1772. decq %rax
  1773. movq (%rdx), %r15
  1774. shrq %cl, %r15
  1775. movq %r11, %rcx
  1776. negq %rcx
  1777. movq 8(%rdx), %r12
  1778. movq %r12, %r13
  1779. movq -72(%rsp), %r10
  1780. movq %r10, %r8
  1781. shlq %cl, %r13
  1782. addq $16, %rdx
  1783. movl %r11d, %ecx
  1784. orq %r13, %r15
  1785. shrq %cl, %r12
  1786. movq -24(%rsp), %rcx
  1787. movq %rcx, %r14
  1788. movl %ebx, %r13d
  1789. imulq %r13, %r14
  1790. imulq %r13, %r8
  1791. movq -40(%rsp), %rdi
  1792. imulq %rbx, %rdi
  1793. shrq $32, %rbx
  1794. addq %rdi, %r15
  1795. imulq %rbx, %rcx
  1796. imulq %rbx, %r10
  1797. shrq $32, %r14
  1798. addq %r8, %r14
  1799. addq %r14, %rcx
  1800. cmpq %r14, %rcx
  1801. movl $0, %r14d
  1802. movq %rcx, %r8
  1803. movl %r14d, %ecx
  1804. setb %cl
  1805. shrq $32, %r8
  1806. shlq $32, %rcx
  1807. addq %rcx, %r8
  1808. movq %rax, -16(%rsp)
  1809. addq %r10, %r8
  1810. movl %esi, %eax
  1811. xorl %r10d, %r10d
  1812. cmpq %rdi, %r15
  1813. movq %r9, %rdi
  1814. setb %r10b
  1815. addq %r8, %r15
  1816. imulq %rax, %rdi
  1817. imulq %rbp, %rax
  1818. shrq $32, %rdi
  1819. shrq $32, %rsi
  1820. addq %rax, %rdi
  1821. movq %r9, %rax
  1822. imulq %rsi, %rax
  1823. imulq %rbp, %rsi
  1824. addq %rdi, %rax
  1825. cmpq %rdi, %rax
  1826. movl %r14d, %edi
  1827. movq %rax, %rcx
  1828. setb %dil
  1829. shrq $32, %rcx
  1830. shlq $32, %rdi
  1831. addq %rdi, %rcx
  1832. movq %r9, %rdi
  1833. imulq %r13, %rdi
  1834. imulq %rbp, %r13
  1835. shrq $32, %rdi
  1836. addq %rsi, %rcx
  1837. addq %r13, %rdi
  1838. movq %r9, %r13
  1839. imulq %rbx, %r13
  1840. imulq %rbp, %rbx
  1841. xorl %esi, %esi
  1842. cmpq %r8, %r15
  1843. setb %sil
  1844. xorl %r8d, %r8d
  1845. addq %rdi, %r13
  1846. cmpq %rdi, %r13
  1847. movq %r13, %rax
  1848. setb %r8b
  1849. shrq $32, %rax
  1850. addq %rsi, %r10
  1851. shlq $32, %r8
  1852. lea (%r15,%rcx), %rsi
  1853. addq %r8, %rax
  1854. xorl %r15d, %r15d
  1855. addq %rbx, %rax
  1856. xorl %ebx, %ebx
  1857. cmpq %rcx, %rsi
  1858. setb %bl
  1859. addq %r10, %rbx
  1860. addq %rbx, %r12
  1861. cmpq %rbx, %r12
  1862. setb %r15b
  1863. addq -64(%rsp), %r11
  1864. lea (%r12,%rax), %rbx
  1865. cmpq %rax, %rbx
  1866. movq -16(%rsp), %rax
  1867. setb %r14b
  1868. addl %r14d, %r15d
  1869. je ..B6.28
  1870. ..B6.27:
  1871. movq %rbx, %rcx
  1872. incq %r11
  1873. shrq $1, %rsi
  1874. shlq $63, %rcx
  1875. shrq $1, %rbx
  1876. orq %rcx, %rsi
  1877. incl -48(%rsp)
  1878. btsq $63, %rbx
  1879. ..B6.28:
  1880. testq %r11, %r11
  1881. je ..B6.21
  1882. ..B6.29:
  1883. testq %rax, %rax
  1884. jns ..B6.26
  1885. ..B6.30:
  1886. movl -48(%rsp), %edi
  1887. movq -56(%rsp), %r8
  1888. jmp ..B6.19
  1889. ..B6.32:
  1890. movq -40(%rsp), %r10
  1891. movq %r12, %rbx
  1892. movq -56(%rsp), %r8
  1893. jmp ..B6.38
  1894. ..B6.33:
  1895. movq -32(%rsp), %rcx
  1896. movq %r10, %rbp
  1897. movl %ecx, %r15d
  1898. movl %r10d, %r9d
  1899. shrq $32, %rbp
  1900. shrq $32, %rcx
  1901. movq %r15, -24(%rsp)
  1902. movl %edi, -48(%rsp)
  1903. movq %r10, -40(%rsp)
  1904. movq %r8, -56(%rsp)
  1905. jmp ..B6.39
  1906. .align 16,0x90
  1907. .cfi_endproc
  1908. .type __eval_pos_poly,@function
  1909. .size __eval_pos_poly,.-__eval_pos_poly
  1910. .data
  1911. # -- End __eval_pos_poly
  1912. .section .rodata, "a"
  1913. .align 8
  1914. .align 8
  1915. .L_2il0floatpacket.0:
  1916. .long 0x00000000,0x47b00000
  1917. .type .L_2il0floatpacket.0,@object
  1918. .size .L_2il0floatpacket.0,8
  1919. .align 8
  1920. .L_2il0floatpacket.1:
  1921. .long 0x00000000,0x3ef00000
  1922. .type .L_2il0floatpacket.1,@object
  1923. .size .L_2il0floatpacket.1,8
  1924. .align 8
  1925. .L_2il0floatpacket.2:
  1926. .long 0x00000000,0x34700000
  1927. .type .L_2il0floatpacket.2,@object
  1928. .size .L_2il0floatpacket.2,8
  1929. .align 8
  1930. .L_2il0floatpacket.3:
  1931. .long 0x00000000,0x3c300000
  1932. .type .L_2il0floatpacket.3,@object
  1933. .size .L_2il0floatpacket.3,8
  1934. .align 8
  1935. .L_2il0floatpacket.4:
  1936. .long 0x00000000,0x3fd00000
  1937. .type .L_2il0floatpacket.4,@object
  1938. .size .L_2il0floatpacket.4,8
  1939. .align 8
  1940. .L_2il0floatpacket.5:
  1941. .long 0x00000000,0x43d00000
  1942. .type .L_2il0floatpacket.5,@object
  1943. .size .L_2il0floatpacket.5,8
  1944. .align 8
  1945. __ux_one__:
  1946. .long 0
  1947. .long 1
  1948. .long 0x00000000,0x80000000
  1949. .long 0x00000000,0x00000000
  1950. .type __ux_one__,@object
  1951. .size __ux_one__,24
  1952. .data
  1953. .section .note.GNU-stack, ""
  1954. // -- Begin DWARF2 SEGMENT .eh_frame
  1955. .section .eh_frame,"a",@progbits
  1956. .eh_frame_seg:
  1957. .align 1
  1958. # End