Changes to update Tomato RAF.
[tomato.git] / release / src / router / dnscrypt / src / libnacl / crypto_onetimeauth / poly1305 / amd64 / auth.s
blob5212a3e739736943579aa5da600a6340eab98821
2 # qhasm: int64 r11_caller
4 # qhasm: int64 r12_caller
6 # qhasm: int64 r13_caller
8 # qhasm: int64 r14_caller
10 # qhasm: int64 r15_caller
12 # qhasm: int64 rbx_caller
14 # qhasm: int64 rbp_caller
16 # qhasm: caller r11_caller
18 # qhasm: caller r12_caller
20 # qhasm: caller r13_caller
22 # qhasm: caller r14_caller
24 # qhasm: caller r15_caller
26 # qhasm: caller rbx_caller
28 # qhasm: caller rbp_caller
30 # qhasm: stack64 r11_stack
32 # qhasm: stack64 r12_stack
34 # qhasm: stack64 r13_stack
36 # qhasm: stack64 r14_stack
38 # qhasm: stack64 r15_stack
40 # qhasm: stack64 rbx_stack
42 # qhasm: stack64 rbp_stack
44 # qhasm: int64 out
46 # qhasm: stack64 out_stack
48 # qhasm: int64 m
50 # qhasm: int64 l
52 # qhasm: int64 k
54 # qhasm: stack64 k_stack
56 # qhasm: int64 m0
58 # qhasm: int64 m1
60 # qhasm: int64 m2
62 # qhasm: int64 m3
64 # qhasm: float80 a0
66 # qhasm: float80 a1
68 # qhasm: float80 a2
70 # qhasm: float80 a3
72 # qhasm: float80 h0
74 # qhasm: float80 h1
76 # qhasm: float80 h2
78 # qhasm: float80 h3
80 # qhasm: float80 x0
82 # qhasm: float80 x1
84 # qhasm: float80 x2
86 # qhasm: float80 x3
88 # qhasm: float80 y0
90 # qhasm: float80 y1
92 # qhasm: float80 y2
94 # qhasm: float80 y3
96 # qhasm: float80 r0x0
98 # qhasm: float80 r1x0
100 # qhasm: float80 r2x0
102 # qhasm: float80 r3x0
104 # qhasm: float80 r0x1
106 # qhasm: float80 r1x1
108 # qhasm: float80 r2x1
110 # qhasm: float80 sr3x1
112 # qhasm: float80 r0x2
114 # qhasm: float80 r1x2
116 # qhasm: float80 sr2x2
118 # qhasm: float80 sr3x2
120 # qhasm: float80 r0x3
122 # qhasm: float80 sr1x3
124 # qhasm: float80 sr2x3
126 # qhasm: float80 sr3x3
128 # qhasm: stack64 d0
130 # qhasm: stack64 d1
132 # qhasm: stack64 d2
134 # qhasm: stack64 d3
136 # qhasm: stack64 r0
138 # qhasm: stack64 r1
140 # qhasm: stack64 r2
142 # qhasm: stack64 r3
144 # qhasm: stack64 sr1
146 # qhasm: stack64 sr2
148 # qhasm: stack64 sr3
150 # qhasm: enter crypto_onetimeauth_poly1305_amd64
151 .text
152 .p2align 5
153 .globl _crypto_onetimeauth_poly1305_amd64
154 .globl crypto_onetimeauth_poly1305_amd64
155 _crypto_onetimeauth_poly1305_amd64:
156 crypto_onetimeauth_poly1305_amd64:
157 mov %rsp,%r11
158 and $31,%r11
159 add $192,%r11
160 sub %r11,%rsp
162 # qhasm: input out
164 # qhasm: input m
166 # qhasm: input l
168 # qhasm: input k
170 # qhasm: r11_stack = r11_caller
171 # asm 1: movq <r11_caller=int64#9,>r11_stack=stack64#1
172 # asm 2: movq <r11_caller=%r11,>r11_stack=32(%rsp)
173 movq %r11,32(%rsp)
175 # qhasm: r12_stack = r12_caller
176 # asm 1: movq <r12_caller=int64#10,>r12_stack=stack64#2
177 # asm 2: movq <r12_caller=%r12,>r12_stack=40(%rsp)
178 movq %r12,40(%rsp)
180 # qhasm: r13_stack = r13_caller
181 # asm 1: movq <r13_caller=int64#11,>r13_stack=stack64#3
182 # asm 2: movq <r13_caller=%r13,>r13_stack=48(%rsp)
183 movq %r13,48(%rsp)
185 # qhasm: r14_stack = r14_caller
186 # asm 1: movq <r14_caller=int64#12,>r14_stack=stack64#4
187 # asm 2: movq <r14_caller=%r14,>r14_stack=56(%rsp)
188 movq %r14,56(%rsp)
190 # qhasm: r15_stack = r15_caller
191 # asm 1: movq <r15_caller=int64#13,>r15_stack=stack64#5
192 # asm 2: movq <r15_caller=%r15,>r15_stack=64(%rsp)
193 movq %r15,64(%rsp)
195 # qhasm: rbx_stack = rbx_caller
196 # asm 1: movq <rbx_caller=int64#14,>rbx_stack=stack64#6
197 # asm 2: movq <rbx_caller=%rbx,>rbx_stack=72(%rsp)
198 movq %rbx,72(%rsp)
200 # qhasm: rbp_stack = rbp_caller
201 # asm 1: movq <rbp_caller=int64#15,>rbp_stack=stack64#7
202 # asm 2: movq <rbp_caller=%rbp,>rbp_stack=80(%rsp)
203 movq %rbp,80(%rsp)
205 # qhasm: round *(uint16 *) &crypto_onetimeauth_poly1305_amd64_rounding
206 fldcw crypto_onetimeauth_poly1305_amd64_rounding(%rip)
208 # qhasm: m0 = *(uint32 *) (k + 0)
209 # asm 1: movl 0(<k=int64#4),>m0=int64#5d
210 # asm 2: movl 0(<k=%rcx),>m0=%r8d
211 movl 0(%rcx),%r8d
213 # qhasm: m1 = *(uint32 *) (k + 4)
214 # asm 1: movl 4(<k=int64#4),>m1=int64#6d
215 # asm 2: movl 4(<k=%rcx),>m1=%r9d
216 movl 4(%rcx),%r9d
218 # qhasm: m2 = *(uint32 *) (k + 8)
219 # asm 1: movl 8(<k=int64#4),>m2=int64#7d
220 # asm 2: movl 8(<k=%rcx),>m2=%eax
221 movl 8(%rcx),%eax
223 # qhasm: m3 = *(uint32 *) (k + 12)
224 # asm 1: movl 12(<k=int64#4),>m3=int64#8d
225 # asm 2: movl 12(<k=%rcx),>m3=%r10d
226 movl 12(%rcx),%r10d
228 # qhasm: out_stack = out
229 # asm 1: movq <out=int64#1,>out_stack=stack64#8
230 # asm 2: movq <out=%rdi,>out_stack=88(%rsp)
231 movq %rdi,88(%rsp)
233 # qhasm: k_stack = k
234 # asm 1: movq <k=int64#4,>k_stack=stack64#9
235 # asm 2: movq <k=%rcx,>k_stack=96(%rsp)
236 movq %rcx,96(%rsp)
238 # qhasm: d0 top = 0x43300000
239 # asm 1: movl $0x43300000,>d0=stack64#10
240 # asm 2: movl $0x43300000,>d0=108(%rsp)
241 movl $0x43300000,108(%rsp)
243 # qhasm: d1 top = 0x45300000
244 # asm 1: movl $0x45300000,>d1=stack64#11
245 # asm 2: movl $0x45300000,>d1=116(%rsp)
246 movl $0x45300000,116(%rsp)
248 # qhasm: d2 top = 0x47300000
249 # asm 1: movl $0x47300000,>d2=stack64#12
250 # asm 2: movl $0x47300000,>d2=124(%rsp)
251 movl $0x47300000,124(%rsp)
253 # qhasm: d3 top = 0x49300000
254 # asm 1: movl $0x49300000,>d3=stack64#13
255 # asm 2: movl $0x49300000,>d3=132(%rsp)
256 movl $0x49300000,132(%rsp)
258 # qhasm: (uint32) m0 &= 0x0fffffff
259 # asm 1: and $0x0fffffff,<m0=int64#5d
260 # asm 2: and $0x0fffffff,<m0=%r8d
261 and $0x0fffffff,%r8d
263 # qhasm: (uint32) m1 &= 0x0ffffffc
264 # asm 1: and $0x0ffffffc,<m1=int64#6d
265 # asm 2: and $0x0ffffffc,<m1=%r9d
266 and $0x0ffffffc,%r9d
268 # qhasm: (uint32) m2 &= 0x0ffffffc
269 # asm 1: and $0x0ffffffc,<m2=int64#7d
270 # asm 2: and $0x0ffffffc,<m2=%eax
271 and $0x0ffffffc,%eax
273 # qhasm: (uint32) m3 &= 0x0ffffffc
274 # asm 1: and $0x0ffffffc,<m3=int64#8d
275 # asm 2: and $0x0ffffffc,<m3=%r10d
276 and $0x0ffffffc,%r10d
278 # qhasm: inplace d0 bottom = m0
279 # asm 1: movl <m0=int64#5d,<d0=stack64#10
280 # asm 2: movl <m0=%r8d,<d0=104(%rsp)
281 movl %r8d,104(%rsp)
283 # qhasm: inplace d1 bottom = m1
284 # asm 1: movl <m1=int64#6d,<d1=stack64#11
285 # asm 2: movl <m1=%r9d,<d1=112(%rsp)
286 movl %r9d,112(%rsp)
288 # qhasm: inplace d2 bottom = m2
289 # asm 1: movl <m2=int64#7d,<d2=stack64#12
290 # asm 2: movl <m2=%eax,<d2=120(%rsp)
291 movl %eax,120(%rsp)
293 # qhasm: inplace d3 bottom = m3
294 # asm 1: movl <m3=int64#8d,<d3=stack64#13
295 # asm 2: movl <m3=%r10d,<d3=128(%rsp)
296 movl %r10d,128(%rsp)
298 # qhasm: a0 = *(float64 *) &d0
299 # asm 1: fldl <d0=stack64#10
300 # asm 2: fldl <d0=104(%rsp)
301 fldl 104(%rsp)
302 # comment:fpstackfrombottom:<a0#28:
304 # qhasm: a0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset0
305 fsubl crypto_onetimeauth_poly1305_amd64_doffset0(%rip)
306 # comment:fpstackfrombottom:<a0#28:
308 # qhasm: a1 = *(float64 *) &d1
309 # asm 1: fldl <d1=stack64#11
310 # asm 2: fldl <d1=112(%rsp)
311 fldl 112(%rsp)
312 # comment:fpstackfrombottom:<a0#28:<a1#29:
314 # qhasm: a1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset1
315 fsubl crypto_onetimeauth_poly1305_amd64_doffset1(%rip)
316 # comment:fpstackfrombottom:<a0#28:<a1#29:
318 # qhasm: a2 = *(float64 *) &d2
319 # asm 1: fldl <d2=stack64#12
320 # asm 2: fldl <d2=120(%rsp)
321 fldl 120(%rsp)
322 # comment:fpstackfrombottom:<a0#28:<a1#29:<a2#30:
324 # qhasm: a2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset2
325 fsubl crypto_onetimeauth_poly1305_amd64_doffset2(%rip)
326 # comment:fpstackfrombottom:<a0#28:<a1#29:<a2#30:
328 # qhasm: a3 = *(float64 *) &d3
329 # asm 1: fldl <d3=stack64#13
330 # asm 2: fldl <d3=128(%rsp)
331 fldl 128(%rsp)
332 # comment:fpstackfrombottom:<a0#28:<a1#29:<a2#30:<a3#31:
334 # qhasm: a3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset3
335 fsubl crypto_onetimeauth_poly1305_amd64_doffset3(%rip)
336 # comment:fpstackfrombottom:<a0#28:<a1#29:<a2#30:<a3#31:
338 # qhasm: internal stacktop a0
339 # asm 1: fxch <a0=float80#4
340 # asm 2: fxch <a0=%st(3)
341 fxch %st(3)
343 # qhasm: *(float64 *) &r0 = a0
344 # asm 1: fstpl >r0=stack64#14
345 # asm 2: fstpl >r0=136(%rsp)
346 fstpl 136(%rsp)
347 # comment:fpstackfrombottom:<a3#31:<a1#29:<a2#30:
349 # qhasm: internal stacktop a1
350 # asm 1: fxch <a1=float80#2
351 # asm 2: fxch <a1=%st(1)
352 fxch %st(1)
354 # qhasm: *(float64 *) &r1 = a1
355 # asm 1: fstl >r1=stack64#15
356 # asm 2: fstl >r1=144(%rsp)
357 fstl 144(%rsp)
358 # comment:fpstackfrombottom:<a3#31:<a2#30:<a1#29:
360 # qhasm: a1 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
361 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
362 # comment:fpstackfrombottom:<a3#31:<a2#30:<a1#29:
364 # qhasm: *(float64 *) &sr1 = a1
365 # asm 1: fstpl >sr1=stack64#16
366 # asm 2: fstpl >sr1=152(%rsp)
367 fstpl 152(%rsp)
368 # comment:fpstackfrombottom:<a3#31:<a2#30:
370 # qhasm: *(float64 *) &r2 = a2
371 # asm 1: fstl >r2=stack64#17
372 # asm 2: fstl >r2=160(%rsp)
373 fstl 160(%rsp)
374 # comment:fpstackfrombottom:<a3#31:<a2#30:
376 # qhasm: a2 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
377 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
378 # comment:fpstackfrombottom:<a3#31:<a2#30:
380 # qhasm: *(float64 *) &sr2 = a2
381 # asm 1: fstpl >sr2=stack64#18
382 # asm 2: fstpl >sr2=168(%rsp)
383 fstpl 168(%rsp)
384 # comment:fpstackfrombottom:<a3#31:
386 # qhasm: *(float64 *) &r3 = a3
387 # asm 1: fstl >r3=stack64#19
388 # asm 2: fstl >r3=176(%rsp)
389 fstl 176(%rsp)
390 # comment:fpstackfrombottom:<a3#31:
392 # qhasm: a3 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
393 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
394 # comment:fpstackfrombottom:<a3#31:
396 # qhasm: *(float64 *) &sr3 = a3
397 # asm 1: fstpl >sr3=stack64#20
398 # asm 2: fstpl >sr3=184(%rsp)
399 fstpl 184(%rsp)
400 # comment:fpstackfrombottom:
402 # qhasm: h3 = 0
403 fldz
404 # comment:fpstackfrombottom:<h3#39:
406 # qhasm: h2 = 0
407 fldz
408 # comment:fpstackfrombottom:<h3#39:<h2#40:
410 # qhasm: h1 = 0
411 fldz
412 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:
414 # qhasm: h0 = 0
415 fldz
416 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
418 # qhasm: unsigned<? l - 16
419 # asm 1: cmp $16,<l=int64#3
420 # asm 2: cmp $16,<l=%rdx
421 cmp $16,%rdx
422 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
423 # comment:fp stack unchanged by jump
424 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
426 # qhasm: goto addatmost15bytes if unsigned<
427 jb ._addatmost15bytes
428 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
429 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
431 # qhasm: initialatleast16bytes:
432 ._initialatleast16bytes:
433 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
435 # qhasm: m3 = *(uint32 *) (m + 12)
436 # asm 1: movl 12(<m=int64#2),>m3=int64#1d
437 # asm 2: movl 12(<m=%rsi),>m3=%edi
438 movl 12(%rsi),%edi
439 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
441 # qhasm: m2 = *(uint32 *) (m + 8)
442 # asm 1: movl 8(<m=int64#2),>m2=int64#4d
443 # asm 2: movl 8(<m=%rsi),>m2=%ecx
444 movl 8(%rsi),%ecx
445 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
447 # qhasm: m1 = *(uint32 *) (m + 4)
448 # asm 1: movl 4(<m=int64#2),>m1=int64#5d
449 # asm 2: movl 4(<m=%rsi),>m1=%r8d
450 movl 4(%rsi),%r8d
451 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
453 # qhasm: m0 = *(uint32 *) (m + 0)
454 # asm 1: movl 0(<m=int64#2),>m0=int64#6d
455 # asm 2: movl 0(<m=%rsi),>m0=%r9d
456 movl 0(%rsi),%r9d
457 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
459 # qhasm: inplace d3 bottom = m3
460 # asm 1: movl <m3=int64#1d,<d3=stack64#13
461 # asm 2: movl <m3=%edi,<d3=128(%rsp)
462 movl %edi,128(%rsp)
463 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
465 # qhasm: inplace d2 bottom = m2
466 # asm 1: movl <m2=int64#4d,<d2=stack64#12
467 # asm 2: movl <m2=%ecx,<d2=120(%rsp)
468 movl %ecx,120(%rsp)
469 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
471 # qhasm: inplace d1 bottom = m1
472 # asm 1: movl <m1=int64#5d,<d1=stack64#11
473 # asm 2: movl <m1=%r8d,<d1=112(%rsp)
474 movl %r8d,112(%rsp)
475 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
477 # qhasm: inplace d0 bottom = m0
478 # asm 1: movl <m0=int64#6d,<d0=stack64#10
479 # asm 2: movl <m0=%r9d,<d0=104(%rsp)
480 movl %r9d,104(%rsp)
481 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
483 # qhasm: m += 16
484 # asm 1: add $16,<m=int64#2
485 # asm 2: add $16,<m=%rsi
486 add $16,%rsi
487 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
489 # qhasm: l -= 16
490 # asm 1: sub $16,<l=int64#3
491 # asm 2: sub $16,<l=%rdx
492 sub $16,%rdx
493 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
495 # qhasm: internal stacktop h3
496 # asm 1: fxch <h3=float80#4
497 # asm 2: fxch <h3=%st(3)
498 fxch %st(3)
500 # qhasm: h3 += *(float64 *) &d3
501 # asm 1: faddl <d3=stack64#13
502 # asm 2: faddl <d3=128(%rsp)
503 faddl 128(%rsp)
504 # comment:fpstackfrombottom:<h0#42:<h2#40:<h1#41:<h3#39:
506 # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset3minustwo128
507 fsubl crypto_onetimeauth_poly1305_amd64_doffset3minustwo128(%rip)
508 # comment:fpstackfrombottom:<h0#42:<h2#40:<h1#41:<h3#39:
510 # qhasm: internal stacktop h1
511 # asm 1: fxch <h1=float80#2
512 # asm 2: fxch <h1=%st(1)
513 fxch %st(1)
515 # qhasm: h1 += *(float64 *) &d1
516 # asm 1: faddl <d1=stack64#11
517 # asm 2: faddl <d1=112(%rsp)
518 faddl 112(%rsp)
519 # comment:fpstackfrombottom:<h0#42:<h2#40:<h3#39:<h1#41:
521 # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset1
522 fsubl crypto_onetimeauth_poly1305_amd64_doffset1(%rip)
523 # comment:fpstackfrombottom:<h0#42:<h2#40:<h3#39:<h1#41:
525 # qhasm: internal stacktop h2
526 # asm 1: fxch <h2=float80#3
527 # asm 2: fxch <h2=%st(2)
528 fxch %st(2)
530 # qhasm: h2 += *(float64 *) &d2
531 # asm 1: faddl <d2=stack64#12
532 # asm 2: faddl <d2=120(%rsp)
533 faddl 120(%rsp)
534 # comment:fpstackfrombottom:<h0#42:<h1#41:<h3#39:<h2#40:
536 # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset2
537 fsubl crypto_onetimeauth_poly1305_amd64_doffset2(%rip)
538 # comment:fpstackfrombottom:<h0#42:<h1#41:<h3#39:<h2#40:
540 # qhasm: internal stacktop h0
541 # asm 1: fxch <h0=float80#4
542 # asm 2: fxch <h0=%st(3)
543 fxch %st(3)
545 # qhasm: h0 += *(float64 *) &d0
546 # asm 1: faddl <d0=stack64#10
547 # asm 2: faddl <d0=104(%rsp)
548 faddl 104(%rsp)
549 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
551 # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset0
552 fsubl crypto_onetimeauth_poly1305_amd64_doffset0(%rip)
553 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
555 # qhasm: unsigned<? l - 16
556 # asm 1: cmp $16,<l=int64#3
557 # asm 2: cmp $16,<l=%rdx
558 cmp $16,%rdx
559 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
560 # comment:fp stack unchanged by jump
561 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
563 # qhasm: goto multiplyaddatmost15bytes if unsigned<
564 jb ._multiplyaddatmost15bytes
565 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
566 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
568 # qhasm: multiplyaddatleast16bytes:
569 ._multiplyaddatleast16bytes:
570 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
572 # qhasm: m3 = *(uint32 *) (m + 12)
573 # asm 1: movl 12(<m=int64#2),>m3=int64#1d
574 # asm 2: movl 12(<m=%rsi),>m3=%edi
575 movl 12(%rsi),%edi
576 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
578 # qhasm: m2 = *(uint32 *) (m + 8)
579 # asm 1: movl 8(<m=int64#2),>m2=int64#4d
580 # asm 2: movl 8(<m=%rsi),>m2=%ecx
581 movl 8(%rsi),%ecx
582 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
584 # qhasm: m1 = *(uint32 *) (m + 4)
585 # asm 1: movl 4(<m=int64#2),>m1=int64#5d
586 # asm 2: movl 4(<m=%rsi),>m1=%r8d
587 movl 4(%rsi),%r8d
588 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
590 # qhasm: m0 = *(uint32 *) (m + 0)
591 # asm 1: movl 0(<m=int64#2),>m0=int64#6d
592 # asm 2: movl 0(<m=%rsi),>m0=%r9d
593 movl 0(%rsi),%r9d
594 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
596 # qhasm: inplace d3 bottom = m3
597 # asm 1: movl <m3=int64#1d,<d3=stack64#13
598 # asm 2: movl <m3=%edi,<d3=128(%rsp)
599 movl %edi,128(%rsp)
600 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
602 # qhasm: inplace d2 bottom = m2
603 # asm 1: movl <m2=int64#4d,<d2=stack64#12
604 # asm 2: movl <m2=%ecx,<d2=120(%rsp)
605 movl %ecx,120(%rsp)
606 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
608 # qhasm: inplace d1 bottom = m1
609 # asm 1: movl <m1=int64#5d,<d1=stack64#11
610 # asm 2: movl <m1=%r8d,<d1=112(%rsp)
611 movl %r8d,112(%rsp)
612 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
614 # qhasm: inplace d0 bottom = m0
615 # asm 1: movl <m0=int64#6d,<d0=stack64#10
616 # asm 2: movl <m0=%r9d,<d0=104(%rsp)
617 movl %r9d,104(%rsp)
618 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
620 # qhasm: m += 16
621 # asm 1: add $16,<m=int64#2
622 # asm 2: add $16,<m=%rsi
623 add $16,%rsi
624 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
626 # qhasm: l -= 16
627 # asm 1: sub $16,<l=int64#3
628 # asm 2: sub $16,<l=%rdx
629 sub $16,%rdx
630 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
632 # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
633 fldl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
634 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:
636 # qhasm: x0 += h3
637 # asm 1: fadd <h3=float80#3,<x0=float80#1
638 # asm 2: fadd <h3=%st(2),<x0=%st(0)
639 fadd %st(2),%st(0)
640 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:
642 # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
643 fsubl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
644 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:
646 # qhasm: h3 -= x0
647 # asm 1: fsubr <x0=float80#1,<h3=float80#3
648 # asm 2: fsubr <x0=%st(0),<h3=%st(2)
649 fsubr %st(0),%st(2)
650 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:
652 # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
653 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
654 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:
656 # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
657 fldl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
658 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:<x1#54:
660 # qhasm: x1 += h0
661 # asm 1: fadd <h0=float80#3,<x1=float80#1
662 # asm 2: fadd <h0=%st(2),<x1=%st(0)
663 fadd %st(2),%st(0)
664 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:<x1#54:
666 # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
667 fsubl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
668 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:<x1#54:
670 # qhasm: h0 -= x1
671 # asm 1: fsubr <x1=float80#1,<h0=float80#3
672 # asm 2: fsubr <x1=%st(0),<h0=%st(2)
673 fsubr %st(0),%st(2)
674 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#53:<x1#54:
676 # qhasm: internal stacktop h0
677 # asm 1: fxch <h0=float80#3
678 # asm 2: fxch <h0=%st(2)
679 fxch %st(2)
681 # qhasm: x0 += h0
682 # asm 1: faddp <h0=float80#1,<x0=float80#2
683 # asm 2: faddp <h0=%st(0),<x0=%st(1)
684 faddp %st(0),%st(1)
685 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:
687 # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
688 fldl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
689 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:
691 # qhasm: x2 += h1
692 # asm 1: fadd <h1=float80#5,<x2=float80#1
693 # asm 2: fadd <h1=%st(4),<x2=%st(0)
694 fadd %st(4),%st(0)
695 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:
697 # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
698 fsubl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
699 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:
701 # qhasm: h1 -= x2
702 # asm 1: fsubr <x2=float80#1,<h1=float80#5
703 # asm 2: fsubr <x2=%st(0),<h1=%st(4)
704 fsubr %st(0),%st(4)
705 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:
707 # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
708 fldl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
709 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:<x3#56:
711 # qhasm: x3 += h2
712 # asm 1: fadd <h2=float80#7,<x3=float80#1
713 # asm 2: fadd <h2=%st(6),<x3=%st(0)
714 fadd %st(6),%st(0)
715 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:<x3#56:
717 # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
718 fsubl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
719 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:<x3#56:
721 # qhasm: h2 -= x3
722 # asm 1: fsubr <x3=float80#1,<h2=float80#7
723 # asm 2: fsubr <x3=%st(0),<h2=%st(6)
724 fsubr %st(0),%st(6)
725 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:<x3#56:
727 # qhasm: internal stacktop h2
728 # asm 1: fxch <h2=float80#7
729 # asm 2: fxch <h2=%st(6)
730 fxch %st(6)
732 # qhasm: x2 += h2
733 # asm 1: faddp <h2=float80#1,<x2=float80#2
734 # asm 2: faddp <h2=%st(0),<x2=%st(1)
735 faddp %st(0),%st(1)
736 # comment:fpstackfrombottom:<x3#56:<h1#41:<h3#39:<x1#54:<x0#53:<x2#55:
738 # qhasm: internal stacktop h3
739 # asm 1: fxch <h3=float80#4
740 # asm 2: fxch <h3=%st(3)
741 fxch %st(3)
743 # qhasm: x3 += h3
744 # asm 1: faddp <h3=float80#1,<x3=float80#6
745 # asm 2: faddp <h3=%st(0),<x3=%st(5)
746 faddp %st(0),%st(5)
747 # comment:fpstackfrombottom:<x3#56:<h1#41:<x2#55:<x1#54:<x0#53:
749 # qhasm: internal stacktop h1
750 # asm 1: fxch <h1=float80#4
751 # asm 2: fxch <h1=%st(3)
752 fxch %st(3)
754 # qhasm: x1 += h1
755 # asm 1: faddp <h1=float80#1,<x1=float80#2
756 # asm 2: faddp <h1=%st(0),<x1=%st(1)
757 faddp %st(0),%st(1)
758 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:
760 # qhasm: h3 = *(float64 *) &r3
761 # asm 1: fldl <r3=stack64#19
762 # asm 2: fldl <r3=176(%rsp)
763 fldl 176(%rsp)
764 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:
766 # qhasm: h3 *= x0
767 # asm 1: fmul <x0=float80#4,<h3=float80#1
768 # asm 2: fmul <x0=%st(3),<h3=%st(0)
769 fmul %st(3),%st(0)
770 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:
772 # qhasm: h2 = *(float64 *) &r2
773 # asm 1: fldl <r2=stack64#17
774 # asm 2: fldl <r2=160(%rsp)
775 fldl 160(%rsp)
776 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:
778 # qhasm: h2 *= x0
779 # asm 1: fmul <x0=float80#5,<h2=float80#1
780 # asm 2: fmul <x0=%st(4),<h2=%st(0)
781 fmul %st(4),%st(0)
782 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:
784 # qhasm: h1 = *(float64 *) &r1
785 # asm 1: fldl <r1=stack64#15
786 # asm 2: fldl <r1=144(%rsp)
787 fldl 144(%rsp)
788 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
790 # qhasm: h1 *= x0
791 # asm 1: fmul <x0=float80#6,<h1=float80#1
792 # asm 2: fmul <x0=%st(5),<h1=%st(0)
793 fmul %st(5),%st(0)
794 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
796 # qhasm: h0 = *(float64 *) &r0
797 # asm 1: fldl <r0=stack64#14
798 # asm 2: fldl <r0=136(%rsp)
799 fldl 136(%rsp)
800 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<h0#42:
802 # qhasm: h0 *= x0
803 # asm 1: fmulp <x0=float80#1,<h0=float80#7
804 # asm 2: fmulp <x0=%st(0),<h0=%st(6)
805 fmulp %st(0),%st(6)
806 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
808 # qhasm: r2x1 = *(float64 *) &r2
809 # asm 1: fldl <r2=stack64#17
810 # asm 2: fldl <r2=160(%rsp)
811 fldl 160(%rsp)
812 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r2x1#57:
814 # qhasm: r2x1 *= x1
815 # asm 1: fmul <x1=float80#5,<r2x1=float80#1
816 # asm 2: fmul <x1=%st(4),<r2x1=%st(0)
817 fmul %st(4),%st(0)
818 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r2x1#57:
820 # qhasm: h3 += r2x1
821 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
822 # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
823 faddp %st(0),%st(3)
824 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
826 # qhasm: r1x1 = *(float64 *) &r1
827 # asm 1: fldl <r1=stack64#15
828 # asm 2: fldl <r1=144(%rsp)
829 fldl 144(%rsp)
830 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r1x1#58:
832 # qhasm: r1x1 *= x1
833 # asm 1: fmul <x1=float80#5,<r1x1=float80#1
834 # asm 2: fmul <x1=%st(4),<r1x1=%st(0)
835 fmul %st(4),%st(0)
836 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r1x1#58:
838 # qhasm: h2 += r1x1
839 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
840 # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
841 faddp %st(0),%st(2)
842 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
844 # qhasm: r0x1 = *(float64 *) &r0
845 # asm 1: fldl <r0=stack64#14
846 # asm 2: fldl <r0=136(%rsp)
847 fldl 136(%rsp)
848 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r0x1#59:
850 # qhasm: r0x1 *= x1
851 # asm 1: fmul <x1=float80#5,<r0x1=float80#1
852 # asm 2: fmul <x1=%st(4),<r0x1=%st(0)
853 fmul %st(4),%st(0)
854 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r0x1#59:
856 # qhasm: h1 += r0x1
857 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
858 # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
859 faddp %st(0),%st(1)
860 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
862 # qhasm: sr3x1 = *(float64 *) &sr3
863 # asm 1: fldl <sr3=stack64#20
864 # asm 2: fldl <sr3=184(%rsp)
865 fldl 184(%rsp)
866 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<sr3x1#60:
868 # qhasm: sr3x1 *= x1
869 # asm 1: fmulp <x1=float80#1,<sr3x1=float80#5
870 # asm 2: fmulp <x1=%st(0),<sr3x1=%st(4)
871 fmulp %st(0),%st(4)
872 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<sr3x1#60:<h3#39:<h2#40:<h1#41:
874 # qhasm: internal stacktop sr3x1
875 # asm 1: fxch <sr3x1=float80#4
876 # asm 2: fxch <sr3x1=%st(3)
877 fxch %st(3)
879 # qhasm: h0 += sr3x1
880 # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
881 # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
882 faddp %st(0),%st(5)
883 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:
885 # qhasm: r1x2 = *(float64 *) &r1
886 # asm 1: fldl <r1=stack64#15
887 # asm 2: fldl <r1=144(%rsp)
888 fldl 144(%rsp)
889 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r1x2#61:
891 # qhasm: r1x2 *= x2
892 # asm 1: fmul <x2=float80#5,<r1x2=float80#1
893 # asm 2: fmul <x2=%st(4),<r1x2=%st(0)
894 fmul %st(4),%st(0)
895 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r1x2#61:
897 # qhasm: h3 += r1x2
898 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
899 # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
900 faddp %st(0),%st(2)
901 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:
903 # qhasm: r0x2 = *(float64 *) &r0
904 # asm 1: fldl <r0=stack64#14
905 # asm 2: fldl <r0=136(%rsp)
906 fldl 136(%rsp)
907 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r0x2#62:
909 # qhasm: r0x2 *= x2
910 # asm 1: fmul <x2=float80#5,<r0x2=float80#1
911 # asm 2: fmul <x2=%st(4),<r0x2=%st(0)
912 fmul %st(4),%st(0)
913 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r0x2#62:
915 # qhasm: h2 += r0x2
916 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
917 # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
918 faddp %st(0),%st(1)
919 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:
921 # qhasm: sr3x2 = *(float64 *) &sr3
922 # asm 1: fldl <sr3=stack64#20
923 # asm 2: fldl <sr3=184(%rsp)
924 fldl 184(%rsp)
925 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr3x2#63:
927 # qhasm: sr3x2 *= x2
928 # asm 1: fmul <x2=float80#5,<sr3x2=float80#1
929 # asm 2: fmul <x2=%st(4),<sr3x2=%st(0)
930 fmul %st(4),%st(0)
931 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr3x2#63:
933 # qhasm: h1 += sr3x2
934 # asm 1: faddp <sr3x2=float80#1,<h1=float80#4
935 # asm 2: faddp <sr3x2=%st(0),<h1=%st(3)
936 faddp %st(0),%st(3)
937 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:
939 # qhasm: sr2x2 = *(float64 *) &sr2
940 # asm 1: fldl <sr2=stack64#18
941 # asm 2: fldl <sr2=168(%rsp)
942 fldl 168(%rsp)
943 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr2x2#64:
945 # qhasm: sr2x2 *= x2
946 # asm 1: fmulp <x2=float80#1,<sr2x2=float80#5
947 # asm 2: fmulp <x2=%st(0),<sr2x2=%st(4)
948 fmulp %st(0),%st(4)
949 # comment:fpstackfrombottom:<x3#56:<h0#42:<sr2x2#64:<h1#41:<h3#39:<h2#40:
951 # qhasm: internal stacktop sr2x2
952 # asm 1: fxch <sr2x2=float80#4
953 # asm 2: fxch <sr2x2=%st(3)
954 fxch %st(3)
956 # qhasm: h0 += sr2x2
957 # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
958 # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
959 faddp %st(0),%st(4)
960 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:
962 # qhasm: r0x3 = *(float64 *) &r0
963 # asm 1: fldl <r0=stack64#14
964 # asm 2: fldl <r0=136(%rsp)
965 fldl 136(%rsp)
966 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:<r0x3#65:
968 # qhasm: r0x3 *= x3
969 # asm 1: fmul <x3=float80#6,<r0x3=float80#1
970 # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
971 fmul %st(5),%st(0)
972 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:<r0x3#65:
974 # qhasm: h3 += r0x3
975 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
976 # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
977 faddp %st(0),%st(1)
978 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:
980 # qhasm: stacktop h0
981 # asm 1: fxch <h0=float80#4
982 # asm 2: fxch <h0=%st(3)
983 fxch %st(3)
984 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:
986 # qhasm: sr3x3 = *(float64 *) &sr3
987 # asm 1: fldl <sr3=stack64#20
988 # asm 2: fldl <sr3=184(%rsp)
989 fldl 184(%rsp)
990 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:<sr3x3#66:
992 # qhasm: sr3x3 *= x3
993 # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
994 # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
995 fmul %st(5),%st(0)
996 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:<sr3x3#66:
998 # qhasm: h2 += sr3x3
999 # asm 1: faddp <sr3x3=float80#1,<h2=float80#4
1000 # asm 2: faddp <sr3x3=%st(0),<h2=%st(3)
1001 faddp %st(0),%st(3)
1002 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:
1004 # qhasm: stacktop h1
1005 # asm 1: fxch <h1=float80#2
1006 # asm 2: fxch <h1=%st(1)
1007 fxch %st(1)
1008 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h0#42:<h1#41:
1010 # qhasm: sr2x3 = *(float64 *) &sr2
1011 # asm 1: fldl <sr2=stack64#18
1012 # asm 2: fldl <sr2=168(%rsp)
1013 fldl 168(%rsp)
1014 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h0#42:<h1#41:<sr2x3#67:
1016 # qhasm: sr2x3 *= x3
1017 # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
1018 # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
1019 fmul %st(5),%st(0)
1020 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h0#42:<h1#41:<sr2x3#67:
1022 # qhasm: h1 += sr2x3
1023 # asm 1: faddp <sr2x3=float80#1,<h1=float80#2
1024 # asm 2: faddp <sr2x3=%st(0),<h1=%st(1)
1025 faddp %st(0),%st(1)
1026 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h0#42:<h1#41:
1028 # qhasm: sr1x3 = *(float64 *) &sr1
1029 # asm 1: fldl <sr1=stack64#16
1030 # asm 2: fldl <sr1=152(%rsp)
1031 fldl 152(%rsp)
1032 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h0#42:<h1#41:<sr1x3#68:
1034 # qhasm: sr1x3 *= x3
1035 # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
1036 # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
1037 fmulp %st(0),%st(5)
1038 # comment:fpstackfrombottom:<sr1x3#68:<h3#39:<h2#40:<h0#42:<h1#41:
1040 # qhasm: internal stacktop sr1x3
1041 # asm 1: fxch <sr1x3=float80#5
1042 # asm 2: fxch <sr1x3=%st(4)
1043 fxch %st(4)
1045 # qhasm: h0 += sr1x3
1046 # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1047 # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
1048 faddp %st(0),%st(1)
1049 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:
1051 # qhasm: unsigned<? l - 16
1052 # asm 1: cmp $16,<l=int64#3
1053 # asm 2: cmp $16,<l=%rdx
1054 cmp $16,%rdx
1055 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:
1057 # qhasm: stacktop h3
1058 # asm 1: fxch <h3=float80#3
1059 # asm 2: fxch <h3=%st(2)
1060 fxch %st(2)
1061 # comment:fpstackfrombottom:<h1#41:<h0#42:<h2#40:<h3#39:
1063 # qhasm: y3 = *(float64 *) &d3
1064 # asm 1: fldl <d3=stack64#13
1065 # asm 2: fldl <d3=128(%rsp)
1066 fldl 128(%rsp)
1067 # comment:fpstackfrombottom:<h1#41:<h0#42:<h2#40:<h3#39:<y3#70:
1069 # qhasm: y3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset3minustwo128
1070 fsubl crypto_onetimeauth_poly1305_amd64_doffset3minustwo128(%rip)
1071 # comment:fpstackfrombottom:<h1#41:<h0#42:<h2#40:<h3#39:<y3#70:
1073 # qhasm: h3 += y3
1074 # asm 1: faddp <y3=float80#1,<h3=float80#2
1075 # asm 2: faddp <y3=%st(0),<h3=%st(1)
1076 faddp %st(0),%st(1)
1077 # comment:fpstackfrombottom:<h1#41:<h0#42:<h2#40:<h3#39:
1079 # qhasm: stacktop h2
1080 # asm 1: fxch <h2=float80#2
1081 # asm 2: fxch <h2=%st(1)
1082 fxch %st(1)
1083 # comment:fpstackfrombottom:<h1#41:<h0#42:<h3#39:<h2#40:
1085 # qhasm: y2 = *(float64 *) &d2
1086 # asm 1: fldl <d2=stack64#12
1087 # asm 2: fldl <d2=120(%rsp)
1088 fldl 120(%rsp)
1089 # comment:fpstackfrombottom:<h1#41:<h0#42:<h3#39:<h2#40:<y2#71:
1091 # qhasm: y2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset2
1092 fsubl crypto_onetimeauth_poly1305_amd64_doffset2(%rip)
1093 # comment:fpstackfrombottom:<h1#41:<h0#42:<h3#39:<h2#40:<y2#71:
1095 # qhasm: h2 += y2
1096 # asm 1: faddp <y2=float80#1,<h2=float80#2
1097 # asm 2: faddp <y2=%st(0),<h2=%st(1)
1098 faddp %st(0),%st(1)
1099 # comment:fpstackfrombottom:<h1#41:<h0#42:<h3#39:<h2#40:
1101 # qhasm: stacktop h1
1102 # asm 1: fxch <h1=float80#4
1103 # asm 2: fxch <h1=%st(3)
1104 fxch %st(3)
1105 # comment:fpstackfrombottom:<h2#40:<h0#42:<h3#39:<h1#41:
1107 # qhasm: y1 = *(float64 *) &d1
1108 # asm 1: fldl <d1=stack64#11
1109 # asm 2: fldl <d1=112(%rsp)
1110 fldl 112(%rsp)
1111 # comment:fpstackfrombottom:<h2#40:<h0#42:<h3#39:<h1#41:<y1#72:
1113 # qhasm: y1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset1
1114 fsubl crypto_onetimeauth_poly1305_amd64_doffset1(%rip)
1115 # comment:fpstackfrombottom:<h2#40:<h0#42:<h3#39:<h1#41:<y1#72:
1117 # qhasm: h1 += y1
1118 # asm 1: faddp <y1=float80#1,<h1=float80#2
1119 # asm 2: faddp <y1=%st(0),<h1=%st(1)
1120 faddp %st(0),%st(1)
1121 # comment:fpstackfrombottom:<h2#40:<h0#42:<h3#39:<h1#41:
1123 # qhasm: stacktop h0
1124 # asm 1: fxch <h0=float80#3
1125 # asm 2: fxch <h0=%st(2)
1126 fxch %st(2)
1127 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1129 # qhasm: y0 = *(float64 *) &d0
1130 # asm 1: fldl <d0=stack64#10
1131 # asm 2: fldl <d0=104(%rsp)
1132 fldl 104(%rsp)
1133 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<y0#73:
1135 # qhasm: y0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset0
1136 fsubl crypto_onetimeauth_poly1305_amd64_doffset0(%rip)
1137 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<y0#73:
1139 # qhasm: h0 += y0
1140 # asm 1: faddp <y0=float80#1,<h0=float80#2
1141 # asm 2: faddp <y0=%st(0),<h0=%st(1)
1142 faddp %st(0),%st(1)
1143 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1144 # comment:fp stack unchanged by jump
1145 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1147 # qhasm: goto multiplyaddatleast16bytes if !unsigned<
1148 jae ._multiplyaddatleast16bytes
1149 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1150 # comment:fp stack unchanged by fallthrough
1151 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1153 # qhasm: multiplyaddatmost15bytes:
1154 ._multiplyaddatmost15bytes:
1155 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
1157 # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
1158 fldl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
1159 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:
1161 # qhasm: x0 += h3
1162 # asm 1: fadd <h3=float80#3,<x0=float80#1
1163 # asm 2: fadd <h3=%st(2),<x0=%st(0)
1164 fadd %st(2),%st(0)
1165 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:
1167 # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
1168 fsubl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
1169 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:
1171 # qhasm: h3 -= x0
1172 # asm 1: fsubr <x0=float80#1,<h3=float80#3
1173 # asm 2: fsubr <x0=%st(0),<h3=%st(2)
1174 fsubr %st(0),%st(2)
1175 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:
1177 # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
1178 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
1179 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:
1181 # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
1182 fldl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
1183 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:
1185 # qhasm: x1 += h0
1186 # asm 1: fadd <h0=float80#3,<x1=float80#1
1187 # asm 2: fadd <h0=%st(2),<x1=%st(0)
1188 fadd %st(2),%st(0)
1189 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:
1191 # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
1192 fsubl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
1193 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:
1195 # qhasm: h0 -= x1
1196 # asm 1: fsubr <x1=float80#1,<h0=float80#3
1197 # asm 2: fsubr <x1=%st(0),<h0=%st(2)
1198 fsubr %st(0),%st(2)
1199 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:
1201 # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
1202 fldl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
1203 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:
1205 # qhasm: x2 += h1
1206 # asm 1: fadd <h1=float80#6,<x2=float80#1
1207 # asm 2: fadd <h1=%st(5),<x2=%st(0)
1208 fadd %st(5),%st(0)
1209 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:
1211 # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
1212 fsubl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
1213 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:
1215 # qhasm: h1 -= x2
1216 # asm 1: fsubr <x2=float80#1,<h1=float80#6
1217 # asm 2: fsubr <x2=%st(0),<h1=%st(5)
1218 fsubr %st(0),%st(5)
1219 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:
1221 # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
1222 fldl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
1223 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:<x3#77:
1225 # qhasm: x3 += h2
1226 # asm 1: fadd <h2=float80#8,<x3=float80#1
1227 # asm 2: fadd <h2=%st(7),<x3=%st(0)
1228 fadd %st(7),%st(0)
1229 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:<x3#77:
1231 # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
1232 fsubl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
1233 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:<x3#77:
1235 # qhasm: h2 -= x3
1236 # asm 1: fsubr <x3=float80#1,<h2=float80#8
1237 # asm 2: fsubr <x3=%st(0),<h2=%st(7)
1238 fsubr %st(0),%st(7)
1239 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:<x3#77:
1241 # qhasm: internal stacktop h2
1242 # asm 1: fxch <h2=float80#8
1243 # asm 2: fxch <h2=%st(7)
1244 fxch %st(7)
1246 # qhasm: x2 += h2
1247 # asm 1: faddp <h2=float80#1,<x2=float80#2
1248 # asm 2: faddp <h2=%st(0),<x2=%st(1)
1249 faddp %st(0),%st(1)
1250 # comment:fpstackfrombottom:<x3#77:<h1#41:<h3#39:<h0#42:<x0#74:<x1#75:<x2#76:
1252 # qhasm: internal stacktop h1
1253 # asm 1: fxch <h1=float80#6
1254 # asm 2: fxch <h1=%st(5)
1255 fxch %st(5)
1257 # qhasm: x1 += h1
1258 # asm 1: faddp <h1=float80#1,<x1=float80#2
1259 # asm 2: faddp <h1=%st(0),<x1=%st(1)
1260 faddp %st(0),%st(1)
1261 # comment:fpstackfrombottom:<x3#77:<x2#76:<h3#39:<h0#42:<x0#74:<x1#75:
1263 # qhasm: internal stacktop h3
1264 # asm 1: fxch <h3=float80#4
1265 # asm 2: fxch <h3=%st(3)
1266 fxch %st(3)
1268 # qhasm: x3 += h3
1269 # asm 1: faddp <h3=float80#1,<x3=float80#6
1270 # asm 2: faddp <h3=%st(0),<x3=%st(5)
1271 faddp %st(0),%st(5)
1272 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<x0#74:
1274 # qhasm: x0 += h0
1275 # asm 1: faddp <h0=float80#1,<x0=float80#2
1276 # asm 2: faddp <h0=%st(0),<x0=%st(1)
1277 faddp %st(0),%st(1)
1278 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:
1280 # qhasm: h3 = *(float64 *) &r3
1281 # asm 1: fldl <r3=stack64#19
1282 # asm 2: fldl <r3=176(%rsp)
1283 fldl 176(%rsp)
1284 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:
1286 # qhasm: h3 *= x0
1287 # asm 1: fmul <x0=float80#2,<h3=float80#1
1288 # asm 2: fmul <x0=%st(1),<h3=%st(0)
1289 fmul %st(1),%st(0)
1290 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:
1292 # qhasm: h2 = *(float64 *) &r2
1293 # asm 1: fldl <r2=stack64#17
1294 # asm 2: fldl <r2=160(%rsp)
1295 fldl 160(%rsp)
1296 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:
1298 # qhasm: h2 *= x0
1299 # asm 1: fmul <x0=float80#3,<h2=float80#1
1300 # asm 2: fmul <x0=%st(2),<h2=%st(0)
1301 fmul %st(2),%st(0)
1302 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:
1304 # qhasm: h1 = *(float64 *) &r1
1305 # asm 1: fldl <r1=stack64#15
1306 # asm 2: fldl <r1=144(%rsp)
1307 fldl 144(%rsp)
1308 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:<h1#41:
1310 # qhasm: h1 *= x0
1311 # asm 1: fmul <x0=float80#4,<h1=float80#1
1312 # asm 2: fmul <x0=%st(3),<h1=%st(0)
1313 fmul %st(3),%st(0)
1314 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:<h1#41:
1316 # qhasm: h0 = *(float64 *) &r0
1317 # asm 1: fldl <r0=stack64#14
1318 # asm 2: fldl <r0=136(%rsp)
1319 fldl 136(%rsp)
1320 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:<h1#41:<h0#42:
1322 # qhasm: h0 *= x0
1323 # asm 1: fmulp <x0=float80#1,<h0=float80#5
1324 # asm 2: fmulp <x0=%st(0),<h0=%st(4)
1325 fmulp %st(0),%st(4)
1326 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:
1328 # qhasm: r2x1 = *(float64 *) &r2
1329 # asm 1: fldl <r2=stack64#17
1330 # asm 2: fldl <r2=160(%rsp)
1331 fldl 160(%rsp)
1332 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r2x1#78:
1334 # qhasm: r2x1 *= x1
1335 # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1336 # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1337 fmul %st(5),%st(0)
1338 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r2x1#78:
1340 # qhasm: h3 += r2x1
1341 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1342 # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
1343 faddp %st(0),%st(3)
1344 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:
1346 # qhasm: r1x1 = *(float64 *) &r1
1347 # asm 1: fldl <r1=stack64#15
1348 # asm 2: fldl <r1=144(%rsp)
1349 fldl 144(%rsp)
1350 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r1x1#79:
1352 # qhasm: r1x1 *= x1
1353 # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1354 # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1355 fmul %st(5),%st(0)
1356 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r1x1#79:
1358 # qhasm: h2 += r1x1
1359 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1360 # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
1361 faddp %st(0),%st(2)
1362 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:
1364 # qhasm: r0x1 = *(float64 *) &r0
1365 # asm 1: fldl <r0=stack64#14
1366 # asm 2: fldl <r0=136(%rsp)
1367 fldl 136(%rsp)
1368 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r0x1#80:
1370 # qhasm: r0x1 *= x1
1371 # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1372 # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1373 fmul %st(5),%st(0)
1374 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r0x1#80:
1376 # qhasm: h1 += r0x1
1377 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1378 # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
1379 faddp %st(0),%st(1)
1380 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:
1382 # qhasm: sr3x1 = *(float64 *) &sr3
1383 # asm 1: fldl <sr3=stack64#20
1384 # asm 2: fldl <sr3=184(%rsp)
1385 fldl 184(%rsp)
1386 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<sr3x1#81:
1388 # qhasm: sr3x1 *= x1
1389 # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
1390 # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
1391 fmulp %st(0),%st(5)
1392 # comment:fpstackfrombottom:<x3#77:<x2#76:<sr3x1#81:<h0#42:<h3#39:<h2#40:<h1#41:
1394 # qhasm: internal stacktop sr3x1
1395 # asm 1: fxch <sr3x1=float80#5
1396 # asm 2: fxch <sr3x1=%st(4)
1397 fxch %st(4)
1399 # qhasm: h0 += sr3x1
1400 # asm 1: faddp <sr3x1=float80#1,<h0=float80#4
1401 # asm 2: faddp <sr3x1=%st(0),<h0=%st(3)
1402 faddp %st(0),%st(3)
1403 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:
1405 # qhasm: r1x2 = *(float64 *) &r1
1406 # asm 1: fldl <r1=stack64#15
1407 # asm 2: fldl <r1=144(%rsp)
1408 fldl 144(%rsp)
1409 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r1x2#82:
1411 # qhasm: r1x2 *= x2
1412 # asm 1: fmul <x2=float80#6,<r1x2=float80#1
1413 # asm 2: fmul <x2=%st(5),<r1x2=%st(0)
1414 fmul %st(5),%st(0)
1415 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r1x2#82:
1417 # qhasm: h3 += r1x2
1418 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
1419 # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
1420 faddp %st(0),%st(2)
1421 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:
1423 # qhasm: r0x2 = *(float64 *) &r0
1424 # asm 1: fldl <r0=stack64#14
1425 # asm 2: fldl <r0=136(%rsp)
1426 fldl 136(%rsp)
1427 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r0x2#83:
1429 # qhasm: r0x2 *= x2
1430 # asm 1: fmul <x2=float80#6,<r0x2=float80#1
1431 # asm 2: fmul <x2=%st(5),<r0x2=%st(0)
1432 fmul %st(5),%st(0)
1433 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r0x2#83:
1435 # qhasm: h2 += r0x2
1436 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
1437 # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
1438 faddp %st(0),%st(1)
1439 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:
1441 # qhasm: sr3x2 = *(float64 *) &sr3
1442 # asm 1: fldl <sr3=stack64#20
1443 # asm 2: fldl <sr3=184(%rsp)
1444 fldl 184(%rsp)
1445 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<sr3x2#84:
1447 # qhasm: sr3x2 *= x2
1448 # asm 1: fmul <x2=float80#6,<sr3x2=float80#1
1449 # asm 2: fmul <x2=%st(5),<sr3x2=%st(0)
1450 fmul %st(5),%st(0)
1451 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<sr3x2#84:
1453 # qhasm: h1 += sr3x2
1454 # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
1455 # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
1456 faddp %st(0),%st(4)
1457 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:
1459 # qhasm: sr2x2 = *(float64 *) &sr2
1460 # asm 1: fldl <sr2=stack64#18
1461 # asm 2: fldl <sr2=168(%rsp)
1462 fldl 168(%rsp)
1463 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<sr2x2#85:
1465 # qhasm: sr2x2 *= x2
1466 # asm 1: fmulp <x2=float80#1,<sr2x2=float80#6
1467 # asm 2: fmulp <x2=%st(0),<sr2x2=%st(5)
1468 fmulp %st(0),%st(5)
1469 # comment:fpstackfrombottom:<x3#77:<sr2x2#85:<h1#41:<h0#42:<h3#39:<h2#40:
1471 # qhasm: internal stacktop sr2x2
1472 # asm 1: fxch <sr2x2=float80#5
1473 # asm 2: fxch <sr2x2=%st(4)
1474 fxch %st(4)
1476 # qhasm: h0 += sr2x2
1477 # asm 1: faddp <sr2x2=float80#1,<h0=float80#3
1478 # asm 2: faddp <sr2x2=%st(0),<h0=%st(2)
1479 faddp %st(0),%st(2)
1480 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:
1482 # qhasm: r0x3 = *(float64 *) &r0
1483 # asm 1: fldl <r0=stack64#14
1484 # asm 2: fldl <r0=136(%rsp)
1485 fldl 136(%rsp)
1486 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<r0x3#86:
1488 # qhasm: r0x3 *= x3
1489 # asm 1: fmul <x3=float80#6,<r0x3=float80#1
1490 # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
1491 fmul %st(5),%st(0)
1492 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<r0x3#86:
1494 # qhasm: h3 += r0x3
1495 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
1496 # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
1497 faddp %st(0),%st(1)
1498 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:
1500 # qhasm: sr3x3 = *(float64 *) &sr3
1501 # asm 1: fldl <sr3=stack64#20
1502 # asm 2: fldl <sr3=184(%rsp)
1503 fldl 184(%rsp)
1504 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<sr3x3#87:
1506 # qhasm: sr3x3 *= x3
1507 # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
1508 # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
1509 fmul %st(5),%st(0)
1510 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<sr3x3#87:
1512 # qhasm: h2 += sr3x3
1513 # asm 1: faddp <sr3x3=float80#1,<h2=float80#5
1514 # asm 2: faddp <sr3x3=%st(0),<h2=%st(4)
1515 faddp %st(0),%st(4)
1516 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:
1518 # qhasm: sr2x3 = *(float64 *) &sr2
1519 # asm 1: fldl <sr2=stack64#18
1520 # asm 2: fldl <sr2=168(%rsp)
1521 fldl 168(%rsp)
1522 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<sr2x3#88:
1524 # qhasm: sr2x3 *= x3
1525 # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
1526 # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
1527 fmul %st(5),%st(0)
1528 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<sr2x3#88:
1530 # qhasm: h1 += sr2x3
1531 # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
1532 # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
1533 faddp %st(0),%st(3)
1534 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:
1536 # qhasm: sr1x3 = *(float64 *) &sr1
1537 # asm 1: fldl <sr1=stack64#16
1538 # asm 2: fldl <sr1=152(%rsp)
1539 fldl 152(%rsp)
1540 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<sr1x3#89:
1542 # qhasm: sr1x3 *= x3
1543 # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
1544 # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
1545 fmulp %st(0),%st(5)
1546 # comment:fpstackfrombottom:<sr1x3#89:<h2#40:<h1#41:<h0#42:<h3#39:
1548 # qhasm: internal stacktop sr1x3
1549 # asm 1: fxch <sr1x3=float80#5
1550 # asm 2: fxch <sr1x3=%st(4)
1551 fxch %st(4)
1553 # qhasm: h0 += sr1x3
1554 # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1555 # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
1556 faddp %st(0),%st(1)
1557 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1558 # comment:fp stack unchanged by fallthrough
1559 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1561 # qhasm: addatmost15bytes:
1562 ._addatmost15bytes:
1563 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1565 # qhasm: =? l - 0
1566 # asm 1: cmp $0,<l=int64#3
1567 # asm 2: cmp $0,<l=%rdx
1568 cmp $0,%rdx
1569 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1570 # comment:fp stack unchanged by jump
1571 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1573 # qhasm: goto nomorebytes if =
1574 je ._nomorebytes
1575 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1576 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1578 # qhasm: stack128 lastchunk
1579 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1580 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1582 # qhasm: int64 destination
1583 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1584 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1586 # qhasm: int64 numbytes
1587 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1589 # qhasm: ((uint32 *)&lastchunk)[0] = 0
1590 # asm 1: movl $0,>lastchunk=stack128#1
1591 # asm 2: movl $0,>lastchunk=0(%rsp)
1592 movl $0,0(%rsp)
1593 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1595 # qhasm: ((uint32 *)&lastchunk)[1] = 0
1596 # asm 1: movl $0,4+<lastchunk=stack128#1
1597 # asm 2: movl $0,4+<lastchunk=0(%rsp)
1598 movl $0,4+0(%rsp)
1599 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1601 # qhasm: ((uint32 *)&lastchunk)[2] = 0
1602 # asm 1: movl $0,8+<lastchunk=stack128#1
1603 # asm 2: movl $0,8+<lastchunk=0(%rsp)
1604 movl $0,8+0(%rsp)
1605 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1607 # qhasm: ((uint32 *)&lastchunk)[3] = 0
1608 # asm 1: movl $0,12+<lastchunk=stack128#1
1609 # asm 2: movl $0,12+<lastchunk=0(%rsp)
1610 movl $0,12+0(%rsp)
1611 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1613 # qhasm: destination = &lastchunk
1614 # asm 1: leaq <lastchunk=stack128#1,>destination=int64#1
1615 # asm 2: leaq <lastchunk=0(%rsp),>destination=%rdi
1616 leaq 0(%rsp),%rdi
1617 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1619 # qhasm: numbytes = l
1620 # asm 1: mov <l=int64#3,>numbytes=int64#4
1621 # asm 2: mov <l=%rdx,>numbytes=%rcx
1622 mov %rdx,%rcx
1623 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1624 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1625 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1626 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1628 # qhasm: while (numbytes) { *destination++ = *m++; --numbytes }
1629 rep movsb
1630 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1632 # qhasm: *(uint8 *) (destination + 0) = 1
1633 # asm 1: movb $1,0(<destination=int64#1)
1634 # asm 2: movb $1,0(<destination=%rdi)
1635 movb $1,0(%rdi)
1636 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1638 # qhasm: m3 = ((uint32 *)&lastchunk)[3]
1639 # asm 1: movl 12+<lastchunk=stack128#1,>m3=int64#1d
1640 # asm 2: movl 12+<lastchunk=0(%rsp),>m3=%edi
1641 movl 12+0(%rsp),%edi
1642 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1644 # qhasm: m2 = ((uint32 *)&lastchunk)[2]
1645 # asm 1: movl 8+<lastchunk=stack128#1,>m2=int64#2d
1646 # asm 2: movl 8+<lastchunk=0(%rsp),>m2=%esi
1647 movl 8+0(%rsp),%esi
1648 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1650 # qhasm: m1 = ((uint32 *)&lastchunk)[1]
1651 # asm 1: movl 4+<lastchunk=stack128#1,>m1=int64#3d
1652 # asm 2: movl 4+<lastchunk=0(%rsp),>m1=%edx
1653 movl 4+0(%rsp),%edx
1654 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1656 # qhasm: m0 = ((uint32 *)&lastchunk)[0]
1657 # asm 1: movl <lastchunk=stack128#1,>m0=int64#4d
1658 # asm 2: movl <lastchunk=0(%rsp),>m0=%ecx
1659 movl 0(%rsp),%ecx
1660 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1662 # qhasm: inplace d3 bottom = m3
1663 # asm 1: movl <m3=int64#1d,<d3=stack64#13
1664 # asm 2: movl <m3=%edi,<d3=128(%rsp)
1665 movl %edi,128(%rsp)
1666 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1668 # qhasm: inplace d2 bottom = m2
1669 # asm 1: movl <m2=int64#2d,<d2=stack64#12
1670 # asm 2: movl <m2=%esi,<d2=120(%rsp)
1671 movl %esi,120(%rsp)
1672 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1674 # qhasm: inplace d1 bottom = m1
1675 # asm 1: movl <m1=int64#3d,<d1=stack64#11
1676 # asm 2: movl <m1=%edx,<d1=112(%rsp)
1677 movl %edx,112(%rsp)
1678 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1680 # qhasm: inplace d0 bottom = m0
1681 # asm 1: movl <m0=int64#4d,<d0=stack64#10
1682 # asm 2: movl <m0=%ecx,<d0=104(%rsp)
1683 movl %ecx,104(%rsp)
1684 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1686 # qhasm: internal stacktop h3
1687 # asm 1: fxch <h3=float80#4
1688 # asm 2: fxch <h3=%st(3)
1689 fxch %st(3)
1691 # qhasm: h3 += *(float64 *) &d3
1692 # asm 1: faddl <d3=stack64#13
1693 # asm 2: faddl <d3=128(%rsp)
1694 faddl 128(%rsp)
1695 # comment:fpstackfrombottom:<h0#42:<h2#40:<h1#41:<h3#39:
1697 # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset3
1698 fsubl crypto_onetimeauth_poly1305_amd64_doffset3(%rip)
1699 # comment:fpstackfrombottom:<h0#42:<h2#40:<h1#41:<h3#39:
1701 # qhasm: internal stacktop h2
1702 # asm 1: fxch <h2=float80#3
1703 # asm 2: fxch <h2=%st(2)
1704 fxch %st(2)
1706 # qhasm: h2 += *(float64 *) &d2
1707 # asm 1: faddl <d2=stack64#12
1708 # asm 2: faddl <d2=120(%rsp)
1709 faddl 120(%rsp)
1710 # comment:fpstackfrombottom:<h0#42:<h3#39:<h1#41:<h2#40:
1712 # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset2
1713 fsubl crypto_onetimeauth_poly1305_amd64_doffset2(%rip)
1714 # comment:fpstackfrombottom:<h0#42:<h3#39:<h1#41:<h2#40:
1716 # qhasm: internal stacktop h1
1717 # asm 1: fxch <h1=float80#2
1718 # asm 2: fxch <h1=%st(1)
1719 fxch %st(1)
1721 # qhasm: h1 += *(float64 *) &d1
1722 # asm 1: faddl <d1=stack64#11
1723 # asm 2: faddl <d1=112(%rsp)
1724 faddl 112(%rsp)
1725 # comment:fpstackfrombottom:<h0#42:<h3#39:<h2#40:<h1#41:
1727 # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset1
1728 fsubl crypto_onetimeauth_poly1305_amd64_doffset1(%rip)
1729 # comment:fpstackfrombottom:<h0#42:<h3#39:<h2#40:<h1#41:
1731 # qhasm: internal stacktop h0
1732 # asm 1: fxch <h0=float80#4
1733 # asm 2: fxch <h0=%st(3)
1734 fxch %st(3)
1736 # qhasm: h0 += *(float64 *) &d0
1737 # asm 1: faddl <d0=stack64#10
1738 # asm 2: faddl <d0=104(%rsp)
1739 faddl 104(%rsp)
1740 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:
1742 # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_doffset0
1743 fsubl crypto_onetimeauth_poly1305_amd64_doffset0(%rip)
1744 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:
1746 # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
1747 fldl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
1748 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:
1750 # qhasm: x0 += h3
1751 # asm 1: fadd <h3=float80#4,<x0=float80#1
1752 # asm 2: fadd <h3=%st(3),<x0=%st(0)
1753 fadd %st(3),%st(0)
1754 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:
1756 # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
1757 fsubl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
1758 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:
1760 # qhasm: h3 -= x0
1761 # asm 1: fsubr <x0=float80#1,<h3=float80#4
1762 # asm 2: fsubr <x0=%st(0),<h3=%st(3)
1763 fsubr %st(0),%st(3)
1764 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:
1766 # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
1767 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
1768 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:
1770 # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
1771 fldl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
1772 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:
1774 # qhasm: x1 += h0
1775 # asm 1: fadd <h0=float80#3,<x1=float80#1
1776 # asm 2: fadd <h0=%st(2),<x1=%st(0)
1777 fadd %st(2),%st(0)
1778 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:
1780 # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
1781 fsubl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
1782 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:
1784 # qhasm: h0 -= x1
1785 # asm 1: fsubr <x1=float80#1,<h0=float80#3
1786 # asm 2: fsubr <x1=%st(0),<h0=%st(2)
1787 fsubr %st(0),%st(2)
1788 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:
1790 # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
1791 fldl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
1792 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:
1794 # qhasm: x2 += h1
1795 # asm 1: fadd <h1=float80#7,<x2=float80#1
1796 # asm 2: fadd <h1=%st(6),<x2=%st(0)
1797 fadd %st(6),%st(0)
1798 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:
1800 # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
1801 fsubl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
1802 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:
1804 # qhasm: h1 -= x2
1805 # asm 1: fsubr <x2=float80#1,<h1=float80#7
1806 # asm 2: fsubr <x2=%st(0),<h1=%st(6)
1807 fsubr %st(0),%st(6)
1808 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:
1810 # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
1811 fldl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
1812 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:<x3#101:
1814 # qhasm: x3 += h2
1815 # asm 1: fadd <h2=float80#6,<x3=float80#1
1816 # asm 2: fadd <h2=%st(5),<x3=%st(0)
1817 fadd %st(5),%st(0)
1818 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:<x3#101:
1820 # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
1821 fsubl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
1822 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:<x3#101:
1824 # qhasm: h2 -= x3
1825 # asm 1: fsubr <x3=float80#1,<h2=float80#6
1826 # asm 2: fsubr <x3=%st(0),<h2=%st(5)
1827 fsubr %st(0),%st(5)
1828 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<h0#42:<x0#98:<x1#99:<x2#100:<x3#101:
1830 # qhasm: internal stacktop h0
1831 # asm 1: fxch <h0=float80#5
1832 # asm 2: fxch <h0=%st(4)
1833 fxch %st(4)
1835 # qhasm: x0 += h0
1836 # asm 1: faddp <h0=float80#1,<x0=float80#4
1837 # asm 2: faddp <h0=%st(0),<x0=%st(3)
1838 faddp %st(0),%st(3)
1839 # comment:fpstackfrombottom:<h1#41:<h3#39:<h2#40:<x3#101:<x0#98:<x1#99:<x2#100:
1841 # qhasm: internal stacktop h1
1842 # asm 1: fxch <h1=float80#7
1843 # asm 2: fxch <h1=%st(6)
1844 fxch %st(6)
1846 # qhasm: x1 += h1
1847 # asm 1: faddp <h1=float80#1,<x1=float80#2
1848 # asm 2: faddp <h1=%st(0),<x1=%st(1)
1849 faddp %st(0),%st(1)
1850 # comment:fpstackfrombottom:<x2#100:<h3#39:<h2#40:<x3#101:<x0#98:<x1#99:
1852 # qhasm: internal stacktop h2
1853 # asm 1: fxch <h2=float80#4
1854 # asm 2: fxch <h2=%st(3)
1855 fxch %st(3)
1857 # qhasm: x2 += h2
1858 # asm 1: faddp <h2=float80#1,<x2=float80#6
1859 # asm 2: faddp <h2=%st(0),<x2=%st(5)
1860 faddp %st(0),%st(5)
1861 # comment:fpstackfrombottom:<x2#100:<h3#39:<x1#99:<x3#101:<x0#98:
1863 # qhasm: internal stacktop h3
1864 # asm 1: fxch <h3=float80#4
1865 # asm 2: fxch <h3=%st(3)
1866 fxch %st(3)
1868 # qhasm: x3 += h3
1869 # asm 1: faddp <h3=float80#1,<x3=float80#2
1870 # asm 2: faddp <h3=%st(0),<x3=%st(1)
1871 faddp %st(0),%st(1)
1872 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:
1874 # qhasm: h3 = *(float64 *) &r3
1875 # asm 1: fldl <r3=stack64#19
1876 # asm 2: fldl <r3=176(%rsp)
1877 fldl 176(%rsp)
1878 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:
1880 # qhasm: h3 *= x0
1881 # asm 1: fmul <x0=float80#4,<h3=float80#1
1882 # asm 2: fmul <x0=%st(3),<h3=%st(0)
1883 fmul %st(3),%st(0)
1884 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:
1886 # qhasm: h2 = *(float64 *) &r2
1887 # asm 1: fldl <r2=stack64#17
1888 # asm 2: fldl <r2=160(%rsp)
1889 fldl 160(%rsp)
1890 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:
1892 # qhasm: h2 *= x0
1893 # asm 1: fmul <x0=float80#5,<h2=float80#1
1894 # asm 2: fmul <x0=%st(4),<h2=%st(0)
1895 fmul %st(4),%st(0)
1896 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:
1898 # qhasm: h1 = *(float64 *) &r1
1899 # asm 1: fldl <r1=stack64#15
1900 # asm 2: fldl <r1=144(%rsp)
1901 fldl 144(%rsp)
1902 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1904 # qhasm: h1 *= x0
1905 # asm 1: fmul <x0=float80#6,<h1=float80#1
1906 # asm 2: fmul <x0=%st(5),<h1=%st(0)
1907 fmul %st(5),%st(0)
1908 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1910 # qhasm: h0 = *(float64 *) &r0
1911 # asm 1: fldl <r0=stack64#14
1912 # asm 2: fldl <r0=136(%rsp)
1913 fldl 136(%rsp)
1914 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<h0#42:
1916 # qhasm: h0 *= x0
1917 # asm 1: fmulp <x0=float80#1,<h0=float80#7
1918 # asm 2: fmulp <x0=%st(0),<h0=%st(6)
1919 fmulp %st(0),%st(6)
1920 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1922 # qhasm: r2x1 = *(float64 *) &r2
1923 # asm 1: fldl <r2=stack64#17
1924 # asm 2: fldl <r2=160(%rsp)
1925 fldl 160(%rsp)
1926 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r2x1#102:
1928 # qhasm: r2x1 *= x1
1929 # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1930 # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1931 fmul %st(5),%st(0)
1932 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r2x1#102:
1934 # qhasm: h3 += r2x1
1935 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1936 # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
1937 faddp %st(0),%st(3)
1938 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1940 # qhasm: r1x1 = *(float64 *) &r1
1941 # asm 1: fldl <r1=stack64#15
1942 # asm 2: fldl <r1=144(%rsp)
1943 fldl 144(%rsp)
1944 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r1x1#103:
1946 # qhasm: r1x1 *= x1
1947 # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1948 # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1949 fmul %st(5),%st(0)
1950 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r1x1#103:
1952 # qhasm: h2 += r1x1
1953 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1954 # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
1955 faddp %st(0),%st(2)
1956 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1958 # qhasm: r0x1 = *(float64 *) &r0
1959 # asm 1: fldl <r0=stack64#14
1960 # asm 2: fldl <r0=136(%rsp)
1961 fldl 136(%rsp)
1962 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r0x1#104:
1964 # qhasm: r0x1 *= x1
1965 # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1966 # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1967 fmul %st(5),%st(0)
1968 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r0x1#104:
1970 # qhasm: h1 += r0x1
1971 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1972 # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
1973 faddp %st(0),%st(1)
1974 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1976 # qhasm: sr3x1 = *(float64 *) &sr3
1977 # asm 1: fldl <sr3=stack64#20
1978 # asm 2: fldl <sr3=184(%rsp)
1979 fldl 184(%rsp)
1980 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<sr3x1#105:
1982 # qhasm: sr3x1 *= x1
1983 # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
1984 # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
1985 fmulp %st(0),%st(5)
1986 # comment:fpstackfrombottom:<x2#100:<h0#42:<sr3x1#105:<x3#101:<h3#39:<h2#40:<h1#41:
1988 # qhasm: internal stacktop sr3x1
1989 # asm 1: fxch <sr3x1=float80#5
1990 # asm 2: fxch <sr3x1=%st(4)
1991 fxch %st(4)
1993 # qhasm: h0 += sr3x1
1994 # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
1995 # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
1996 faddp %st(0),%st(5)
1997 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:
1999 # qhasm: r1x2 = *(float64 *) &r1
2000 # asm 1: fldl <r1=stack64#15
2001 # asm 2: fldl <r1=144(%rsp)
2002 fldl 144(%rsp)
2003 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r1x2#106:
2005 # qhasm: r1x2 *= x2
2006 # asm 1: fmul <x2=float80#7,<r1x2=float80#1
2007 # asm 2: fmul <x2=%st(6),<r1x2=%st(0)
2008 fmul %st(6),%st(0)
2009 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r1x2#106:
2011 # qhasm: h3 += r1x2
2012 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
2013 # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
2014 faddp %st(0),%st(2)
2015 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:
2017 # qhasm: r0x2 = *(float64 *) &r0
2018 # asm 1: fldl <r0=stack64#14
2019 # asm 2: fldl <r0=136(%rsp)
2020 fldl 136(%rsp)
2021 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r0x2#107:
2023 # qhasm: r0x2 *= x2
2024 # asm 1: fmul <x2=float80#7,<r0x2=float80#1
2025 # asm 2: fmul <x2=%st(6),<r0x2=%st(0)
2026 fmul %st(6),%st(0)
2027 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r0x2#107:
2029 # qhasm: h2 += r0x2
2030 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
2031 # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
2032 faddp %st(0),%st(1)
2033 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:
2035 # qhasm: sr3x2 = *(float64 *) &sr3
2036 # asm 1: fldl <sr3=stack64#20
2037 # asm 2: fldl <sr3=184(%rsp)
2038 fldl 184(%rsp)
2039 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<sr3x2#108:
2041 # qhasm: sr3x2 *= x2
2042 # asm 1: fmul <x2=float80#7,<sr3x2=float80#1
2043 # asm 2: fmul <x2=%st(6),<sr3x2=%st(0)
2044 fmul %st(6),%st(0)
2045 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<sr3x2#108:
2047 # qhasm: h1 += sr3x2
2048 # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
2049 # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
2050 faddp %st(0),%st(4)
2051 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:
2053 # qhasm: sr2x2 = *(float64 *) &sr2
2054 # asm 1: fldl <sr2=stack64#18
2055 # asm 2: fldl <sr2=168(%rsp)
2056 fldl 168(%rsp)
2057 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<sr2x2#109:
2059 # qhasm: sr2x2 *= x2
2060 # asm 1: fmulp <x2=float80#1,<sr2x2=float80#7
2061 # asm 2: fmulp <x2=%st(0),<sr2x2=%st(6)
2062 fmulp %st(0),%st(6)
2063 # comment:fpstackfrombottom:<sr2x2#109:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:
2065 # qhasm: internal stacktop sr2x2
2066 # asm 1: fxch <sr2x2=float80#6
2067 # asm 2: fxch <sr2x2=%st(5)
2068 fxch %st(5)
2070 # qhasm: h0 += sr2x2
2071 # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
2072 # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
2073 faddp %st(0),%st(4)
2074 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:
2076 # qhasm: r0x3 = *(float64 *) &r0
2077 # asm 1: fldl <r0=stack64#14
2078 # asm 2: fldl <r0=136(%rsp)
2079 fldl 136(%rsp)
2080 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<r0x3#110:
2082 # qhasm: r0x3 *= x3
2083 # asm 1: fmul <x3=float80#3,<r0x3=float80#1
2084 # asm 2: fmul <x3=%st(2),<r0x3=%st(0)
2085 fmul %st(2),%st(0)
2086 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<r0x3#110:
2088 # qhasm: h3 += r0x3
2089 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
2090 # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
2091 faddp %st(0),%st(1)
2092 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:
2094 # qhasm: sr3x3 = *(float64 *) &sr3
2095 # asm 1: fldl <sr3=stack64#20
2096 # asm 2: fldl <sr3=184(%rsp)
2097 fldl 184(%rsp)
2098 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<sr3x3#111:
2100 # qhasm: sr3x3 *= x3
2101 # asm 1: fmul <x3=float80#3,<sr3x3=float80#1
2102 # asm 2: fmul <x3=%st(2),<sr3x3=%st(0)
2103 fmul %st(2),%st(0)
2104 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<sr3x3#111:
2106 # qhasm: h2 += sr3x3
2107 # asm 1: faddp <sr3x3=float80#1,<h2=float80#6
2108 # asm 2: faddp <sr3x3=%st(0),<h2=%st(5)
2109 faddp %st(0),%st(5)
2110 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:
2112 # qhasm: sr2x3 = *(float64 *) &sr2
2113 # asm 1: fldl <sr2=stack64#18
2114 # asm 2: fldl <sr2=168(%rsp)
2115 fldl 168(%rsp)
2116 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<sr2x3#112:
2118 # qhasm: sr2x3 *= x3
2119 # asm 1: fmul <x3=float80#3,<sr2x3=float80#1
2120 # asm 2: fmul <x3=%st(2),<sr2x3=%st(0)
2121 fmul %st(2),%st(0)
2122 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<sr2x3#112:
2124 # qhasm: h1 += sr2x3
2125 # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
2126 # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
2127 faddp %st(0),%st(3)
2128 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:
2130 # qhasm: sr1x3 = *(float64 *) &sr1
2131 # asm 1: fldl <sr1=stack64#16
2132 # asm 2: fldl <sr1=152(%rsp)
2133 fldl 152(%rsp)
2134 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<sr1x3#113:
2136 # qhasm: sr1x3 *= x3
2137 # asm 1: fmulp <x3=float80#1,<sr1x3=float80#3
2138 # asm 2: fmulp <x3=%st(0),<sr1x3=%st(2)
2139 fmulp %st(0),%st(2)
2140 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<sr1x3#113:<h3#39:
2142 # qhasm: internal stacktop sr1x3
2143 # asm 1: fxch <sr1x3=float80#2
2144 # asm 2: fxch <sr1x3=%st(1)
2145 fxch %st(1)
2147 # qhasm: h0 += sr1x3
2148 # asm 1: faddp <sr1x3=float80#1,<h0=float80#4
2149 # asm 2: faddp <sr1x3=%st(0),<h0=%st(3)
2150 faddp %st(0),%st(3)
2151 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<h3#39:
2152 # comment:automatically reorganizing fp stack for fallthrough
2154 # qhasm: internal stacktop h2
2155 # asm 1: fxch <h2=float80#4
2156 # asm 2: fxch <h2=%st(3)
2157 fxch %st(3)
2158 # comment:fpstackfrombottom:<h3#39:<h0#42:<h1#41:<h2#40:
2160 # qhasm: internal stacktop h0
2161 # asm 1: fxch <h0=float80#3
2162 # asm 2: fxch <h0=%st(2)
2163 fxch %st(2)
2164 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
2165 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
2167 # qhasm: nomorebytes:
2168 ._nomorebytes:
2169 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
2171 # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
2172 fldl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
2173 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:
2175 # qhasm: x0 += h3
2176 # asm 1: fadd <h3=float80#5,<x0=float80#1
2177 # asm 2: fadd <h3=%st(4),<x0=%st(0)
2178 fadd %st(4),%st(0)
2179 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:
2181 # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha130
2182 fsubl crypto_onetimeauth_poly1305_amd64_alpha130(%rip)
2183 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:
2185 # qhasm: h3 -= x0
2186 # asm 1: fsubr <x0=float80#1,<h3=float80#5
2187 # asm 2: fsubr <x0=%st(0),<h3=%st(4)
2188 fsubr %st(0),%st(4)
2189 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:
2191 # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_amd64_scale
2192 fmull crypto_onetimeauth_poly1305_amd64_scale(%rip)
2193 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:
2195 # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
2196 fldl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
2197 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:
2199 # qhasm: x1 += h0
2200 # asm 1: fadd <h0=float80#3,<x1=float80#1
2201 # asm 2: fadd <h0=%st(2),<x1=%st(0)
2202 fadd %st(2),%st(0)
2203 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:
2205 # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha32
2206 fsubl crypto_onetimeauth_poly1305_amd64_alpha32(%rip)
2207 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:
2209 # qhasm: h0 -= x1
2210 # asm 1: fsubr <x1=float80#1,<h0=float80#3
2211 # asm 2: fsubr <x1=%st(0),<h0=%st(2)
2212 fsubr %st(0),%st(2)
2213 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:
2215 # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
2216 fldl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
2217 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:
2219 # qhasm: x2 += h1
2220 # asm 1: fadd <h1=float80#5,<x2=float80#1
2221 # asm 2: fadd <h1=%st(4),<x2=%st(0)
2222 fadd %st(4),%st(0)
2223 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:
2225 # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha64
2226 fsubl crypto_onetimeauth_poly1305_amd64_alpha64(%rip)
2227 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:
2229 # qhasm: h1 -= x2
2230 # asm 1: fsubr <x2=float80#1,<h1=float80#5
2231 # asm 2: fsubr <x2=%st(0),<h1=%st(4)
2232 fsubr %st(0),%st(4)
2233 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:
2235 # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
2236 fldl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
2237 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<x3#117:
2239 # qhasm: x3 += h2
2240 # asm 1: fadd <h2=float80#7,<x3=float80#1
2241 # asm 2: fadd <h2=%st(6),<x3=%st(0)
2242 fadd %st(6),%st(0)
2243 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<x3#117:
2245 # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_amd64_alpha96
2246 fsubl crypto_onetimeauth_poly1305_amd64_alpha96(%rip)
2247 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<x3#117:
2249 # qhasm: stacktop h2
2250 # asm 1: fxch <h2=float80#7
2251 # asm 2: fxch <h2=%st(6)
2252 fxch %st(6)
2253 # comment:fpstackfrombottom:<h3#39:<x3#117:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<h2#40:
2255 # qhasm: h2 -= x3
2256 # asm 1: fsub <x3=float80#7,<h2=float80#1
2257 # asm 2: fsub <x3=%st(6),<h2=%st(0)
2258 fsub %st(6),%st(0)
2259 # comment:fpstackfrombottom:<h3#39:<x3#117:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<h2#40:
2261 # qhasm: internal stacktop h0
2262 # asm 1: fxch <h0=float80#5
2263 # asm 2: fxch <h0=%st(4)
2264 fxch %st(4)
2266 # qhasm: x0 += h0
2267 # asm 1: faddp <h0=float80#1,<x0=float80#4
2268 # asm 2: faddp <h0=%st(0),<x0=%st(3)
2269 faddp %st(0),%st(3)
2270 # comment:fpstackfrombottom:<h3#39:<x3#117:<h1#41:<h2#40:<x0#114:<x1#115:<x2#116:
2272 # qhasm: internal stacktop h1
2273 # asm 1: fxch <h1=float80#5
2274 # asm 2: fxch <h1=%st(4)
2275 fxch %st(4)
2277 # qhasm: x1 += h1
2278 # asm 1: faddp <h1=float80#1,<x1=float80#2
2279 # asm 2: faddp <h1=%st(0),<x1=%st(1)
2280 faddp %st(0),%st(1)
2281 # comment:fpstackfrombottom:<h3#39:<x3#117:<x2#116:<h2#40:<x0#114:<x1#115:
2283 # qhasm: internal stacktop h2
2284 # asm 1: fxch <h2=float80#3
2285 # asm 2: fxch <h2=%st(2)
2286 fxch %st(2)
2288 # qhasm: x2 += h2
2289 # asm 1: faddp <h2=float80#1,<x2=float80#4
2290 # asm 2: faddp <h2=%st(0),<x2=%st(3)
2291 faddp %st(0),%st(3)
2292 # comment:fpstackfrombottom:<h3#39:<x3#117:<x2#116:<x1#115:<x0#114:
2294 # qhasm: internal stacktop h3
2295 # asm 1: fxch <h3=float80#5
2296 # asm 2: fxch <h3=%st(4)
2297 fxch %st(4)
2299 # qhasm: x3 += h3
2300 # asm 1: faddp <h3=float80#1,<x3=float80#4
2301 # asm 2: faddp <h3=%st(0),<x3=%st(3)
2302 faddp %st(0),%st(3)
2303 # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
2305 # qhasm: internal stacktop x0
2306 # asm 1: fxch <x0=float80#4
2307 # asm 2: fxch <x0=%st(3)
2308 fxch %st(3)
2310 # qhasm: x0 += *(float64 *) &crypto_onetimeauth_poly1305_amd64_hoffset0
2311 faddl crypto_onetimeauth_poly1305_amd64_hoffset0(%rip)
2312 # comment:fpstackfrombottom:<x1#115:<x3#117:<x2#116:<x0#114:
2314 # qhasm: internal stacktop x1
2315 # asm 1: fxch <x1=float80#4
2316 # asm 2: fxch <x1=%st(3)
2317 fxch %st(3)
2319 # qhasm: x1 += *(float64 *) &crypto_onetimeauth_poly1305_amd64_hoffset1
2320 faddl crypto_onetimeauth_poly1305_amd64_hoffset1(%rip)
2321 # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
2323 # qhasm: internal stacktop x2
2324 # asm 1: fxch <x2=float80#2
2325 # asm 2: fxch <x2=%st(1)
2326 fxch %st(1)
2328 # qhasm: x2 += *(float64 *) &crypto_onetimeauth_poly1305_amd64_hoffset2
2329 faddl crypto_onetimeauth_poly1305_amd64_hoffset2(%rip)
2330 # comment:fpstackfrombottom:<x0#114:<x3#117:<x1#115:<x2#116:
2332 # qhasm: internal stacktop x3
2333 # asm 1: fxch <x3=float80#3
2334 # asm 2: fxch <x3=%st(2)
2335 fxch %st(2)
2337 # qhasm: x3 += *(float64 *) &crypto_onetimeauth_poly1305_amd64_hoffset3
2338 faddl crypto_onetimeauth_poly1305_amd64_hoffset3(%rip)
2339 # comment:fpstackfrombottom:<x0#114:<x2#116:<x1#115:<x3#117:
2341 # qhasm: internal stacktop x0
2342 # asm 1: fxch <x0=float80#4
2343 # asm 2: fxch <x0=%st(3)
2344 fxch %st(3)
2346 # qhasm: *(float64 *) &d0 = x0
2347 # asm 1: fstpl >d0=stack64#10
2348 # asm 2: fstpl >d0=104(%rsp)
2349 fstpl 104(%rsp)
2350 # comment:fpstackfrombottom:<x3#117:<x2#116:<x1#115:
2352 # qhasm: *(float64 *) &d1 = x1
2353 # asm 1: fstpl >d1=stack64#11
2354 # asm 2: fstpl >d1=112(%rsp)
2355 fstpl 112(%rsp)
2356 # comment:fpstackfrombottom:<x3#117:<x2#116:
2358 # qhasm: *(float64 *) &d2 = x2
2359 # asm 1: fstpl >d2=stack64#12
2360 # asm 2: fstpl >d2=120(%rsp)
2361 fstpl 120(%rsp)
2362 # comment:fpstackfrombottom:<x3#117:
2364 # qhasm: *(float64 *) &d3 = x3
2365 # asm 1: fstpl >d3=stack64#13
2366 # asm 2: fstpl >d3=128(%rsp)
2367 fstpl 128(%rsp)
2368 # comment:fpstackfrombottom:
2370 # qhasm: int64 f0
2372 # qhasm: int64 f1
2374 # qhasm: int64 f2
2376 # qhasm: int64 f3
2378 # qhasm: int64 f4
2380 # qhasm: int64 g0
2382 # qhasm: int64 g1
2384 # qhasm: int64 g2
2386 # qhasm: int64 g3
2388 # qhasm: int64 f
2390 # qhasm: int64 notf
2392 # qhasm: stack64 f1_stack
2394 # qhasm: stack64 f2_stack
2396 # qhasm: stack64 f3_stack
2398 # qhasm: stack64 f4_stack
2400 # qhasm: stack64 g0_stack
2402 # qhasm: stack64 g1_stack
2404 # qhasm: stack64 g2_stack
2406 # qhasm: stack64 g3_stack
2408 # qhasm: g0 = top d0
2409 # asm 1: movl <d0=stack64#10,>g0=int64#1d
2410 # asm 2: movl <d0=108(%rsp),>g0=%edi
2411 movl 108(%rsp),%edi
2413 # qhasm: (uint32) g0 &= 63
2414 # asm 1: and $63,<g0=int64#1d
2415 # asm 2: and $63,<g0=%edi
2416 and $63,%edi
2418 # qhasm: g1 = top d1
2419 # asm 1: movl <d1=stack64#11,>g1=int64#2d
2420 # asm 2: movl <d1=116(%rsp),>g1=%esi
2421 movl 116(%rsp),%esi
2423 # qhasm: (uint32) g1 &= 63
2424 # asm 1: and $63,<g1=int64#2d
2425 # asm 2: and $63,<g1=%esi
2426 and $63,%esi
2428 # qhasm: g2 = top d2
2429 # asm 1: movl <d2=stack64#12,>g2=int64#3d
2430 # asm 2: movl <d2=124(%rsp),>g2=%edx
2431 movl 124(%rsp),%edx
2433 # qhasm: (uint32) g2 &= 63
2434 # asm 1: and $63,<g2=int64#3d
2435 # asm 2: and $63,<g2=%edx
2436 and $63,%edx
2438 # qhasm: g3 = top d3
2439 # asm 1: movl <d3=stack64#13,>g3=int64#4d
2440 # asm 2: movl <d3=132(%rsp),>g3=%ecx
2441 movl 132(%rsp),%ecx
2443 # qhasm: (uint32) g3 &= 63
2444 # asm 1: and $63,<g3=int64#4d
2445 # asm 2: and $63,<g3=%ecx
2446 and $63,%ecx
2448 # qhasm: f1 = bottom d1
2449 # asm 1: movl <d1=stack64#11,>f1=int64#5d
2450 # asm 2: movl <d1=112(%rsp),>f1=%r8d
2451 movl 112(%rsp),%r8d
2453 # qhasm: carry? (uint32) f1 += g0
2454 # asm 1: add <g0=int64#1d,<f1=int64#5d
2455 # asm 2: add <g0=%edi,<f1=%r8d
2456 add %edi,%r8d
2458 # qhasm: f1_stack = f1
2459 # asm 1: movq <f1=int64#5,>f1_stack=stack64#11
2460 # asm 2: movq <f1=%r8,>f1_stack=112(%rsp)
2461 movq %r8,112(%rsp)
2463 # qhasm: f2 = bottom d2
2464 # asm 1: movl <d2=stack64#12,>f2=int64#1d
2465 # asm 2: movl <d2=120(%rsp),>f2=%edi
2466 movl 120(%rsp),%edi
2468 # qhasm: carry? (uint32) f2 += g1 + carry
2469 # asm 1: adc <g1=int64#2d,<f2=int64#1d
2470 # asm 2: adc <g1=%esi,<f2=%edi
2471 adc %esi,%edi
2473 # qhasm: f2_stack = f2
2474 # asm 1: movq <f2=int64#1,>f2_stack=stack64#12
2475 # asm 2: movq <f2=%rdi,>f2_stack=120(%rsp)
2476 movq %rdi,120(%rsp)
2478 # qhasm: f3 = bottom d3
2479 # asm 1: movl <d3=stack64#13,>f3=int64#1d
2480 # asm 2: movl <d3=128(%rsp),>f3=%edi
2481 movl 128(%rsp),%edi
2483 # qhasm: carry? (uint32) f3 += g2 + carry
2484 # asm 1: adc <g2=int64#3d,<f3=int64#1d
2485 # asm 2: adc <g2=%edx,<f3=%edi
2486 adc %edx,%edi
2488 # qhasm: f3_stack = f3
2489 # asm 1: movq <f3=int64#1,>f3_stack=stack64#13
2490 # asm 2: movq <f3=%rdi,>f3_stack=128(%rsp)
2491 movq %rdi,128(%rsp)
2493 # qhasm: f4 = 0
2494 # asm 1: mov $0,>f4=int64#1
2495 # asm 2: mov $0,>f4=%rdi
2496 mov $0,%rdi
2498 # qhasm: carry? (uint32) f4 += g3 + carry
2499 # asm 1: adc <g3=int64#4d,<f4=int64#1d
2500 # asm 2: adc <g3=%ecx,<f4=%edi
2501 adc %ecx,%edi
2503 # qhasm: f4_stack = f4
2504 # asm 1: movq <f4=int64#1,>f4_stack=stack64#14
2505 # asm 2: movq <f4=%rdi,>f4_stack=136(%rsp)
2506 movq %rdi,136(%rsp)
2508 # qhasm: g0 = 5
2509 # asm 1: mov $5,>g0=int64#1
2510 # asm 2: mov $5,>g0=%rdi
2511 mov $5,%rdi
2513 # qhasm: f0 = bottom d0
2514 # asm 1: movl <d0=stack64#10,>f0=int64#2d
2515 # asm 2: movl <d0=104(%rsp),>f0=%esi
2516 movl 104(%rsp),%esi
2518 # qhasm: carry? (uint32) g0 += f0
2519 # asm 1: add <f0=int64#2d,<g0=int64#1d
2520 # asm 2: add <f0=%esi,<g0=%edi
2521 add %esi,%edi
2523 # qhasm: g0_stack = g0
2524 # asm 1: movq <g0=int64#1,>g0_stack=stack64#10
2525 # asm 2: movq <g0=%rdi,>g0_stack=104(%rsp)
2526 movq %rdi,104(%rsp)
2528 # qhasm: g1 = 0
2529 # asm 1: mov $0,>g1=int64#1
2530 # asm 2: mov $0,>g1=%rdi
2531 mov $0,%rdi
2533 # qhasm: f1 = f1_stack
2534 # asm 1: movq <f1_stack=stack64#11,>f1=int64#3
2535 # asm 2: movq <f1_stack=112(%rsp),>f1=%rdx
2536 movq 112(%rsp),%rdx
2538 # qhasm: carry? (uint32) g1 += f1 + carry
2539 # asm 1: adc <f1=int64#3d,<g1=int64#1d
2540 # asm 2: adc <f1=%edx,<g1=%edi
2541 adc %edx,%edi
2543 # qhasm: g1_stack = g1
2544 # asm 1: movq <g1=int64#1,>g1_stack=stack64#11
2545 # asm 2: movq <g1=%rdi,>g1_stack=112(%rsp)
2546 movq %rdi,112(%rsp)
2548 # qhasm: g2 = 0
2549 # asm 1: mov $0,>g2=int64#1
2550 # asm 2: mov $0,>g2=%rdi
2551 mov $0,%rdi
2553 # qhasm: f2 = f2_stack
2554 # asm 1: movq <f2_stack=stack64#12,>f2=int64#4
2555 # asm 2: movq <f2_stack=120(%rsp),>f2=%rcx
2556 movq 120(%rsp),%rcx
2558 # qhasm: carry? (uint32) g2 += f2 + carry
2559 # asm 1: adc <f2=int64#4d,<g2=int64#1d
2560 # asm 2: adc <f2=%ecx,<g2=%edi
2561 adc %ecx,%edi
2563 # qhasm: g2_stack = g2
2564 # asm 1: movq <g2=int64#1,>g2_stack=stack64#12
2565 # asm 2: movq <g2=%rdi,>g2_stack=120(%rsp)
2566 movq %rdi,120(%rsp)
2568 # qhasm: g3 = 0
2569 # asm 1: mov $0,>g3=int64#1
2570 # asm 2: mov $0,>g3=%rdi
2571 mov $0,%rdi
2573 # qhasm: f3 = f3_stack
2574 # asm 1: movq <f3_stack=stack64#13,>f3=int64#5
2575 # asm 2: movq <f3_stack=128(%rsp),>f3=%r8
2576 movq 128(%rsp),%r8
2578 # qhasm: carry? (uint32) g3 += f3 + carry
2579 # asm 1: adc <f3=int64#5d,<g3=int64#1d
2580 # asm 2: adc <f3=%r8d,<g3=%edi
2581 adc %r8d,%edi
2583 # qhasm: g3_stack = g3
2584 # asm 1: movq <g3=int64#1,>g3_stack=stack64#13
2585 # asm 2: movq <g3=%rdi,>g3_stack=128(%rsp)
2586 movq %rdi,128(%rsp)
2588 # qhasm: f = 0xfffffffc
2589 # asm 1: mov $0xfffffffc,>f=int64#1
2590 # asm 2: mov $0xfffffffc,>f=%rdi
2591 mov $0xfffffffc,%rdi
2593 # qhasm: f4 = f4_stack
2594 # asm 1: movq <f4_stack=stack64#14,>f4=int64#6
2595 # asm 2: movq <f4_stack=136(%rsp),>f4=%r9
2596 movq 136(%rsp),%r9
2598 # qhasm: carry? (uint32) f += f4 + carry
2599 # asm 1: adc <f4=int64#6d,<f=int64#1d
2600 # asm 2: adc <f4=%r9d,<f=%edi
2601 adc %r9d,%edi
2603 # qhasm: (int32) f >>= 16
2604 # asm 1: sar $16,<f=int64#1d
2605 # asm 2: sar $16,<f=%edi
2606 sar $16,%edi
2608 # qhasm: notf = f
2609 # asm 1: mov <f=int64#1,>notf=int64#6
2610 # asm 2: mov <f=%rdi,>notf=%r9
2611 mov %rdi,%r9
2613 # qhasm: (uint32) notf ^= 0xffffffff
2614 # asm 1: xor $0xffffffff,<notf=int64#6d
2615 # asm 2: xor $0xffffffff,<notf=%r9d
2616 xor $0xffffffff,%r9d
2618 # qhasm: f0 &= f
2619 # asm 1: and <f=int64#1,<f0=int64#2
2620 # asm 2: and <f=%rdi,<f0=%rsi
2621 and %rdi,%rsi
2623 # qhasm: g0 = g0_stack
2624 # asm 1: movq <g0_stack=stack64#10,>g0=int64#7
2625 # asm 2: movq <g0_stack=104(%rsp),>g0=%rax
2626 movq 104(%rsp),%rax
2628 # qhasm: g0 &= notf
2629 # asm 1: and <notf=int64#6,<g0=int64#7
2630 # asm 2: and <notf=%r9,<g0=%rax
2631 and %r9,%rax
2633 # qhasm: f0 |= g0
2634 # asm 1: or <g0=int64#7,<f0=int64#2
2635 # asm 2: or <g0=%rax,<f0=%rsi
2636 or %rax,%rsi
2638 # qhasm: f1 &= f
2639 # asm 1: and <f=int64#1,<f1=int64#3
2640 # asm 2: and <f=%rdi,<f1=%rdx
2641 and %rdi,%rdx
2643 # qhasm: g1 = g1_stack
2644 # asm 1: movq <g1_stack=stack64#11,>g1=int64#7
2645 # asm 2: movq <g1_stack=112(%rsp),>g1=%rax
2646 movq 112(%rsp),%rax
2648 # qhasm: g1 &= notf
2649 # asm 1: and <notf=int64#6,<g1=int64#7
2650 # asm 2: and <notf=%r9,<g1=%rax
2651 and %r9,%rax
2653 # qhasm: f1 |= g1
2654 # asm 1: or <g1=int64#7,<f1=int64#3
2655 # asm 2: or <g1=%rax,<f1=%rdx
2656 or %rax,%rdx
2658 # qhasm: f2 &= f
2659 # asm 1: and <f=int64#1,<f2=int64#4
2660 # asm 2: and <f=%rdi,<f2=%rcx
2661 and %rdi,%rcx
2663 # qhasm: g2 = g2_stack
2664 # asm 1: movq <g2_stack=stack64#12,>g2=int64#7
2665 # asm 2: movq <g2_stack=120(%rsp),>g2=%rax
2666 movq 120(%rsp),%rax
2668 # qhasm: g2 &= notf
2669 # asm 1: and <notf=int64#6,<g2=int64#7
2670 # asm 2: and <notf=%r9,<g2=%rax
2671 and %r9,%rax
2673 # qhasm: f2 |= g2
2674 # asm 1: or <g2=int64#7,<f2=int64#4
2675 # asm 2: or <g2=%rax,<f2=%rcx
2676 or %rax,%rcx
2678 # qhasm: f3 &= f
2679 # asm 1: and <f=int64#1,<f3=int64#5
2680 # asm 2: and <f=%rdi,<f3=%r8
2681 and %rdi,%r8
2683 # qhasm: g3 = g3_stack
2684 # asm 1: movq <g3_stack=stack64#13,>g3=int64#1
2685 # asm 2: movq <g3_stack=128(%rsp),>g3=%rdi
2686 movq 128(%rsp),%rdi
2688 # qhasm: g3 &= notf
2689 # asm 1: and <notf=int64#6,<g3=int64#1
2690 # asm 2: and <notf=%r9,<g3=%rdi
2691 and %r9,%rdi
2693 # qhasm: f3 |= g3
2694 # asm 1: or <g3=int64#1,<f3=int64#5
2695 # asm 2: or <g3=%rdi,<f3=%r8
2696 or %rdi,%r8
2698 # qhasm: out = out_stack
2699 # asm 1: movq <out_stack=stack64#8,>out=int64#1
2700 # asm 2: movq <out_stack=88(%rsp),>out=%rdi
2701 movq 88(%rsp),%rdi
2703 # qhasm: k = k_stack
2704 # asm 1: movq <k_stack=stack64#9,>k=int64#6
2705 # asm 2: movq <k_stack=96(%rsp),>k=%r9
2706 movq 96(%rsp),%r9
2708 # qhasm: carry? (uint32) f0 += *(uint32 *) (k + 16)
2709 # asm 1: addl 16(<k=int64#6),<f0=int64#2d
2710 # asm 2: addl 16(<k=%r9),<f0=%esi
2711 addl 16(%r9),%esi
2713 # qhasm: carry? (uint32) f1 += *(uint32 *) (k + 20) + carry
2714 # asm 1: adcl 20(<k=int64#6),<f1=int64#3d
2715 # asm 2: adcl 20(<k=%r9),<f1=%edx
2716 adcl 20(%r9),%edx
2718 # qhasm: carry? (uint32) f2 += *(uint32 *) (k + 24) + carry
2719 # asm 1: adcl 24(<k=int64#6),<f2=int64#4d
2720 # asm 2: adcl 24(<k=%r9),<f2=%ecx
2721 adcl 24(%r9),%ecx
2723 # qhasm: carry? (uint32) f3 += *(uint32 *) (k + 28) + carry
2724 # asm 1: adcl 28(<k=int64#6),<f3=int64#5d
2725 # asm 2: adcl 28(<k=%r9),<f3=%r8d
2726 adcl 28(%r9),%r8d
2728 # qhasm: *(uint32 *) (out + 0) = f0
2729 # asm 1: movl <f0=int64#2d,0(<out=int64#1)
2730 # asm 2: movl <f0=%esi,0(<out=%rdi)
2731 movl %esi,0(%rdi)
2733 # qhasm: *(uint32 *) (out + 4) = f1
2734 # asm 1: movl <f1=int64#3d,4(<out=int64#1)
2735 # asm 2: movl <f1=%edx,4(<out=%rdi)
2736 movl %edx,4(%rdi)
2738 # qhasm: *(uint32 *) (out + 8) = f2
2739 # asm 1: movl <f2=int64#4d,8(<out=int64#1)
2740 # asm 2: movl <f2=%ecx,8(<out=%rdi)
2741 movl %ecx,8(%rdi)
2743 # qhasm: *(uint32 *) (out + 12) = f3
2744 # asm 1: movl <f3=int64#5d,12(<out=int64#1)
2745 # asm 2: movl <f3=%r8d,12(<out=%rdi)
2746 movl %r8d,12(%rdi)
2748 # qhasm: r11_caller = r11_stack
2749 # asm 1: movq <r11_stack=stack64#1,>r11_caller=int64#9
2750 # asm 2: movq <r11_stack=32(%rsp),>r11_caller=%r11
2751 movq 32(%rsp),%r11
2753 # qhasm: r12_caller = r12_stack
2754 # asm 1: movq <r12_stack=stack64#2,>r12_caller=int64#10
2755 # asm 2: movq <r12_stack=40(%rsp),>r12_caller=%r12
2756 movq 40(%rsp),%r12
2758 # qhasm: r13_caller = r13_stack
2759 # asm 1: movq <r13_stack=stack64#3,>r13_caller=int64#11
2760 # asm 2: movq <r13_stack=48(%rsp),>r13_caller=%r13
2761 movq 48(%rsp),%r13
2763 # qhasm: r14_caller = r14_stack
2764 # asm 1: movq <r14_stack=stack64#4,>r14_caller=int64#12
2765 # asm 2: movq <r14_stack=56(%rsp),>r14_caller=%r14
2766 movq 56(%rsp),%r14
2768 # qhasm: r15_caller = r15_stack
2769 # asm 1: movq <r15_stack=stack64#5,>r15_caller=int64#13
2770 # asm 2: movq <r15_stack=64(%rsp),>r15_caller=%r15
2771 movq 64(%rsp),%r15
2773 # qhasm: rbx_caller = rbx_stack
2774 # asm 1: movq <rbx_stack=stack64#6,>rbx_caller=int64#14
2775 # asm 2: movq <rbx_stack=72(%rsp),>rbx_caller=%rbx
2776 movq 72(%rsp),%rbx
2778 # qhasm: rbp_caller = rbp_stack
2779 # asm 1: movq <rbp_stack=stack64#7,>rbp_caller=int64#15
2780 # asm 2: movq <rbp_stack=80(%rsp),>rbp_caller=%rbp
2781 movq 80(%rsp),%rbp
2783 # qhasm: leave
2784 add %r11,%rsp
2785 xor %rax,%rax
2786 xor %rdx,%rdx