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
46 # qhasm: stack64 out_stack
54 # qhasm: stack64 k_stack
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
150 # qhasm: enter crypto_onetimeauth_poly1305_amd64
153 .globl _crypto_onetimeauth_poly1305_amd64
154 .globl crypto_onetimeauth_poly1305_amd64
155 _crypto_onetimeauth_poly1305_amd64
:
156 crypto_onetimeauth_poly1305_amd64
:
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)
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)
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)
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)
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)
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)
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)
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
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
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
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
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)
234 # asm 1: movq <k=int64#4,>k_stack=stack64#9
235 # asm 2: movq <k=%rcx,>k_stack=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
263 # qhasm: (uint32) m1 &= 0x0ffffffc
264 # asm 1: and $0x0ffffffc,<m1=int64#6d
265 # asm 2: and $0x0ffffffc,<m1=%r9d
268 # qhasm: (uint32) m2 &= 0x0ffffffc
269 # asm 1: and $0x0ffffffc,<m2=int64#7d
270 # asm 2: and $0x0ffffffc,<m2=%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)
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)
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)
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)
298 # qhasm: a0 = *(float64 *) &d0
299 # asm 1: fldl <d0=stack64#10
300 # asm 2: fldl <d0=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)
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)
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)
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)
343 # qhasm: *(float64 *) &r0 = a0
344 # asm 1: fstpl >r0=stack64#14
345 # asm 2: fstpl >r0=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)
354 # qhasm: *(float64 *) &r1 = a1
355 # asm 1: fstl >r1=stack64#15
356 # asm 2: fstl >r1=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)
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)
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)
384 # comment:fpstackfrombottom:<a3#31:
386 # qhasm: *(float64 *) &r3 = a3
387 # asm 1: fstl >r3=stack64#19
388 # asm 2: fstl >r3=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)
400 # comment:fpstackfrombottom:
404 # comment:fpstackfrombottom:<h3#39:
408 # comment:fpstackfrombottom:<h3#39:<h2#40:
412 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:
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
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
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
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
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
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)
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)
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)
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)
481 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
484 # asm 1: add $16,<m=int64#2
485 # asm 2: add $16,<m=%rsi
487 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
490 # asm 1: sub $16,<l=int64#3
491 # asm 2: sub $16,<l=%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)
500 # qhasm: h3 += *(float64 *) &d3
501 # asm 1: faddl <d3=stack64#13
502 # asm 2: faddl <d3=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)
515 # qhasm: h1 += *(float64 *) &d1
516 # asm 1: faddl <d1=stack64#11
517 # asm 2: faddl <d1=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)
530 # qhasm: h2 += *(float64 *) &d2
531 # asm 1: faddl <d2=stack64#12
532 # asm 2: faddl <d2=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)
545 # qhasm: h0 += *(float64 *) &d0
546 # asm 1: faddl <d0=stack64#10
547 # asm 2: faddl <d0=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
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
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
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
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
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)
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)
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)
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)
618 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
621 # asm 1: add $16,<m=int64#2
622 # asm 2: add $16,<m=%rsi
624 # comment:fpstackfrombottom:<h2#40:<h1#41:<h3#39:<h0#42:
627 # asm 1: sub $16,<l=int64#3
628 # asm 2: sub $16,<l=%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:
637 # asm 1: fadd <h3=float80#3,<x0=float80#1
638 # asm 2: fadd <h3=%st(2),<x0=%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:
647 # asm 1: fsubr <x0=float80#1,<h3=float80#3
648 # asm 2: fsubr <x0=%st(0),<h3=%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:
661 # asm 1: fadd <h0=float80#3,<x1=float80#1
662 # asm 2: fadd <h0=%st(2),<x1=%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:
671 # asm 1: fsubr <x1=float80#1,<h0=float80#3
672 # asm 2: fsubr <x1=%st(0),<h0=%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)
682 # asm 1: faddp <h0=float80#1,<x0=float80#2
683 # asm 2: faddp <h0=%st(0),<x0=%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:
692 # asm 1: fadd <h1=float80#5,<x2=float80#1
693 # asm 2: fadd <h1=%st(4),<x2=%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:
702 # asm 1: fsubr <x2=float80#1,<h1=float80#5
703 # asm 2: fsubr <x2=%st(0),<h1=%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:
712 # asm 1: fadd <h2=float80#7,<x3=float80#1
713 # asm 2: fadd <h2=%st(6),<x3=%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:
722 # asm 1: fsubr <x3=float80#1,<h2=float80#7
723 # asm 2: fsubr <x3=%st(0),<h2=%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)
733 # asm 1: faddp <h2=float80#1,<x2=float80#2
734 # asm 2: faddp <h2=%st(0),<x2=%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)
744 # asm 1: faddp <h3=float80#1,<x3=float80#6
745 # asm 2: faddp <h3=%st(0),<x3=%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)
755 # asm 1: faddp <h1=float80#1,<x1=float80#2
756 # asm 2: faddp <h1=%st(0),<x1=%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)
764 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:
767 # asm 1: fmul <x0=float80#4,<h3=float80#1
768 # asm 2: fmul <x0=%st(3),<h3=%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)
776 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:
779 # asm 1: fmul <x0=float80#5,<h2=float80#1
780 # asm 2: fmul <x0=%st(4),<h2=%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)
788 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:
791 # asm 1: fmul <x0=float80#6,<h1=float80#1
792 # asm 2: fmul <x0=%st(5),<h1=%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)
800 # comment:fpstackfrombottom:<x3#56:<x0#53:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<h0#42:
803 # asm 1: fmulp <x0=float80#1,<h0=float80#7
804 # asm 2: fmulp <x0=%st(0),<h0=%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)
812 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r2x1#57:
815 # asm 1: fmul <x1=float80#5,<r2x1=float80#1
816 # asm 2: fmul <x1=%st(4),<r2x1=%st(0)
818 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r2x1#57:
821 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
822 # asm 2: faddp <r2x1=%st(0),<h3=%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)
830 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r1x1#58:
833 # asm 1: fmul <x1=float80#5,<r1x1=float80#1
834 # asm 2: fmul <x1=%st(4),<r1x1=%st(0)
836 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r1x1#58:
839 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
840 # asm 2: faddp <r1x1=%st(0),<h2=%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)
848 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r0x1#59:
851 # asm 1: fmul <x1=float80#5,<r0x1=float80#1
852 # asm 2: fmul <x1=%st(4),<r0x1=%st(0)
854 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<r0x1#59:
857 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
858 # asm 2: faddp <r0x1=%st(0),<h1=%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)
866 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<x1#54:<h3#39:<h2#40:<h1#41:<sr3x1#60:
869 # asm 1: fmulp <x1=float80#1,<sr3x1=float80#5
870 # asm 2: fmulp <x1=%st(0),<sr3x1=%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)
880 # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
881 # asm 2: faddp <sr3x1=%st(0),<h0=%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)
889 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r1x2#61:
892 # asm 1: fmul <x2=float80#5,<r1x2=float80#1
893 # asm 2: fmul <x2=%st(4),<r1x2=%st(0)
895 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r1x2#61:
898 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
899 # asm 2: faddp <r1x2=%st(0),<h3=%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)
907 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r0x2#62:
910 # asm 1: fmul <x2=float80#5,<r0x2=float80#1
911 # asm 2: fmul <x2=%st(4),<r0x2=%st(0)
913 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<r0x2#62:
916 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
917 # asm 2: faddp <r0x2=%st(0),<h2=%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)
925 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr3x2#63:
928 # asm 1: fmul <x2=float80#5,<sr3x2=float80#1
929 # asm 2: fmul <x2=%st(4),<sr3x2=%st(0)
931 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr3x2#63:
934 # asm 1: faddp <sr3x2=float80#1,<h1=float80#4
935 # asm 2: faddp <sr3x2=%st(0),<h1=%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)
943 # comment:fpstackfrombottom:<x3#56:<h0#42:<x2#55:<h1#41:<h3#39:<h2#40:<sr2x2#64:
946 # asm 1: fmulp <x2=float80#1,<sr2x2=float80#5
947 # asm 2: fmulp <x2=%st(0),<sr2x2=%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)
957 # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
958 # asm 2: faddp <sr2x2=%st(0),<h0=%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)
966 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:<r0x3#65:
969 # asm 1: fmul <x3=float80#6,<r0x3=float80#1
970 # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
972 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:<r0x3#65:
975 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
976 # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
978 # comment:fpstackfrombottom:<x3#56:<h0#42:<h2#40:<h1#41:<h3#39:
981 # asm 1: fxch <h0=float80#4
982 # asm 2: fxch <h0=%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)
990 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:<sr3x3#66:
993 # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
994 # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
996 # comment:fpstackfrombottom:<x3#56:<h3#39:<h2#40:<h1#41:<h0#42:<sr3x3#66:
999 # asm 1: faddp <sr3x3=float80#1,<h2=float80#4
1000 # asm 2: faddp <sr3x3=%st(0),<h2=%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)
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)
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)
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)
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)
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)
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)
1045 # qhasm: h0 += sr1x3
1046 # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1047 # asm 2: faddp <sr1x3=%st(0),<h0=%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
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)
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)
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:
1074 # asm 1: faddp <y3=float80#1,<h3=float80#2
1075 # asm 2: faddp <y3=%st(0),<h3=%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)
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)
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:
1096 # asm 1: faddp <y2=float80#1,<h2=float80#2
1097 # asm 2: faddp <y2=%st(0),<h2=%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)
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)
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:
1118 # asm 1: faddp <y1=float80#1,<h1=float80#2
1119 # asm 2: faddp <y1=%st(0),<h1=%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)
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)
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:
1140 # asm 1: faddp <y0=float80#1,<h0=float80#2
1141 # asm 2: faddp <y0=%st(0),<h0=%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:
1162 # asm 1: fadd <h3=float80#3,<x0=float80#1
1163 # asm 2: fadd <h3=%st(2),<x0=%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:
1172 # asm 1: fsubr <x0=float80#1,<h3=float80#3
1173 # asm 2: fsubr <x0=%st(0),<h3=%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:
1186 # asm 1: fadd <h0=float80#3,<x1=float80#1
1187 # asm 2: fadd <h0=%st(2),<x1=%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:
1196 # asm 1: fsubr <x1=float80#1,<h0=float80#3
1197 # asm 2: fsubr <x1=%st(0),<h0=%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:
1206 # asm 1: fadd <h1=float80#6,<x2=float80#1
1207 # asm 2: fadd <h1=%st(5),<x2=%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:
1216 # asm 1: fsubr <x2=float80#1,<h1=float80#6
1217 # asm 2: fsubr <x2=%st(0),<h1=%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:
1226 # asm 1: fadd <h2=float80#8,<x3=float80#1
1227 # asm 2: fadd <h2=%st(7),<x3=%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:
1236 # asm 1: fsubr <x3=float80#1,<h2=float80#8
1237 # asm 2: fsubr <x3=%st(0),<h2=%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)
1247 # asm 1: faddp <h2=float80#1,<x2=float80#2
1248 # asm 2: faddp <h2=%st(0),<x2=%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)
1258 # asm 1: faddp <h1=float80#1,<x1=float80#2
1259 # asm 2: faddp <h1=%st(0),<x1=%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)
1269 # asm 1: faddp <h3=float80#1,<x3=float80#6
1270 # asm 2: faddp <h3=%st(0),<x3=%st(5)
1272 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<x0#74:
1275 # asm 1: faddp <h0=float80#1,<x0=float80#2
1276 # asm 2: faddp <h0=%st(0),<x0=%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)
1284 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:
1287 # asm 1: fmul <x0=float80#2,<h3=float80#1
1288 # asm 2: fmul <x0=%st(1),<h3=%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)
1296 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:
1299 # asm 1: fmul <x0=float80#3,<h2=float80#1
1300 # asm 2: fmul <x0=%st(2),<h2=%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)
1308 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:<h1#41:
1311 # asm 1: fmul <x0=float80#4,<h1=float80#1
1312 # asm 2: fmul <x0=%st(3),<h1=%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)
1320 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<x0#74:<h3#39:<h2#40:<h1#41:<h0#42:
1323 # asm 1: fmulp <x0=float80#1,<h0=float80#5
1324 # asm 2: fmulp <x0=%st(0),<h0=%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)
1332 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r2x1#78:
1335 # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1336 # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1338 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r2x1#78:
1341 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1342 # asm 2: faddp <r2x1=%st(0),<h3=%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)
1350 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r1x1#79:
1353 # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1354 # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1356 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r1x1#79:
1359 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1360 # asm 2: faddp <r1x1=%st(0),<h2=%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)
1368 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r0x1#80:
1371 # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1372 # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1374 # comment:fpstackfrombottom:<x3#77:<x2#76:<x1#75:<h0#42:<h3#39:<h2#40:<h1#41:<r0x1#80:
1377 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1378 # asm 2: faddp <r0x1=%st(0),<h1=%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)
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)
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)
1399 # qhasm: h0 += sr3x1
1400 # asm 1: faddp <sr3x1=float80#1,<h0=float80#4
1401 # asm 2: faddp <sr3x1=%st(0),<h0=%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)
1409 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r1x2#82:
1412 # asm 1: fmul <x2=float80#6,<r1x2=float80#1
1413 # asm 2: fmul <x2=%st(5),<r1x2=%st(0)
1415 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r1x2#82:
1418 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
1419 # asm 2: faddp <r1x2=%st(0),<h3=%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)
1427 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r0x2#83:
1430 # asm 1: fmul <x2=float80#6,<r0x2=float80#1
1431 # asm 2: fmul <x2=%st(5),<r0x2=%st(0)
1433 # comment:fpstackfrombottom:<x3#77:<x2#76:<h1#41:<h0#42:<h3#39:<h2#40:<r0x2#83:
1436 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
1437 # asm 2: faddp <r0x2=%st(0),<h2=%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)
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)
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)
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)
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)
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)
1476 # qhasm: h0 += sr2x2
1477 # asm 1: faddp <sr2x2=float80#1,<h0=float80#3
1478 # asm 2: faddp <sr2x2=%st(0),<h0=%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)
1486 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<r0x3#86:
1489 # asm 1: fmul <x3=float80#6,<r0x3=float80#1
1490 # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
1492 # comment:fpstackfrombottom:<x3#77:<h2#40:<h1#41:<h0#42:<h3#39:<r0x3#86:
1495 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
1496 # asm 2: faddp <r0x3=%st(0),<h3=%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)
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)
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)
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)
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)
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)
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)
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)
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)
1553 # qhasm: h0 += sr1x3
1554 # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1555 # asm 2: faddp <sr1x3=%st(0),<h0=%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:
1563 # comment:fpstackfrombottom:<h3#39:<h2#40:<h1#41:<h0#42:
1566 # asm 1: cmp $0,<l=int64#3
1567 # asm 2: cmp $0,<l=%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 =
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)
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)
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)
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)
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
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
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 }
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)
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
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
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
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)
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)
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)
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)
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)
1691 # qhasm: h3 += *(float64 *) &d3
1692 # asm 1: faddl <d3=stack64#13
1693 # asm 2: faddl <d3=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)
1706 # qhasm: h2 += *(float64 *) &d2
1707 # asm 1: faddl <d2=stack64#12
1708 # asm 2: faddl <d2=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)
1721 # qhasm: h1 += *(float64 *) &d1
1722 # asm 1: faddl <d1=stack64#11
1723 # asm 2: faddl <d1=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)
1736 # qhasm: h0 += *(float64 *) &d0
1737 # asm 1: faddl <d0=stack64#10
1738 # asm 2: faddl <d0=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:
1751 # asm 1: fadd <h3=float80#4,<x0=float80#1
1752 # asm 2: fadd <h3=%st(3),<x0=%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:
1761 # asm 1: fsubr <x0=float80#1,<h3=float80#4
1762 # asm 2: fsubr <x0=%st(0),<h3=%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:
1775 # asm 1: fadd <h0=float80#3,<x1=float80#1
1776 # asm 2: fadd <h0=%st(2),<x1=%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:
1785 # asm 1: fsubr <x1=float80#1,<h0=float80#3
1786 # asm 2: fsubr <x1=%st(0),<h0=%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:
1795 # asm 1: fadd <h1=float80#7,<x2=float80#1
1796 # asm 2: fadd <h1=%st(6),<x2=%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:
1805 # asm 1: fsubr <x2=float80#1,<h1=float80#7
1806 # asm 2: fsubr <x2=%st(0),<h1=%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:
1815 # asm 1: fadd <h2=float80#6,<x3=float80#1
1816 # asm 2: fadd <h2=%st(5),<x3=%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:
1825 # asm 1: fsubr <x3=float80#1,<h2=float80#6
1826 # asm 2: fsubr <x3=%st(0),<h2=%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)
1836 # asm 1: faddp <h0=float80#1,<x0=float80#4
1837 # asm 2: faddp <h0=%st(0),<x0=%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)
1847 # asm 1: faddp <h1=float80#1,<x1=float80#2
1848 # asm 2: faddp <h1=%st(0),<x1=%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)
1858 # asm 1: faddp <h2=float80#1,<x2=float80#6
1859 # asm 2: faddp <h2=%st(0),<x2=%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)
1869 # asm 1: faddp <h3=float80#1,<x3=float80#2
1870 # asm 2: faddp <h3=%st(0),<x3=%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)
1878 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:
1881 # asm 1: fmul <x0=float80#4,<h3=float80#1
1882 # asm 2: fmul <x0=%st(3),<h3=%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)
1890 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:
1893 # asm 1: fmul <x0=float80#5,<h2=float80#1
1894 # asm 2: fmul <x0=%st(4),<h2=%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)
1902 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:
1905 # asm 1: fmul <x0=float80#6,<h1=float80#1
1906 # asm 2: fmul <x0=%st(5),<h1=%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)
1914 # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<h0#42:
1917 # asm 1: fmulp <x0=float80#1,<h0=float80#7
1918 # asm 2: fmulp <x0=%st(0),<h0=%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)
1926 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r2x1#102:
1929 # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1930 # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1932 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r2x1#102:
1935 # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1936 # asm 2: faddp <r2x1=%st(0),<h3=%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)
1944 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r1x1#103:
1947 # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1948 # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1950 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r1x1#103:
1953 # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1954 # asm 2: faddp <r1x1=%st(0),<h2=%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)
1962 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r0x1#104:
1965 # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1966 # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1968 # comment:fpstackfrombottom:<x2#100:<h0#42:<x1#99:<x3#101:<h3#39:<h2#40:<h1#41:<r0x1#104:
1971 # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1972 # asm 2: faddp <r0x1=%st(0),<h1=%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)
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)
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)
1993 # qhasm: h0 += sr3x1
1994 # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
1995 # asm 2: faddp <sr3x1=%st(0),<h0=%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)
2003 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r1x2#106:
2006 # asm 1: fmul <x2=float80#7,<r1x2=float80#1
2007 # asm 2: fmul <x2=%st(6),<r1x2=%st(0)
2009 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r1x2#106:
2012 # asm 1: faddp <r1x2=float80#1,<h3=float80#3
2013 # asm 2: faddp <r1x2=%st(0),<h3=%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)
2021 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r0x2#107:
2024 # asm 1: fmul <x2=float80#7,<r0x2=float80#1
2025 # asm 2: fmul <x2=%st(6),<r0x2=%st(0)
2027 # comment:fpstackfrombottom:<x2#100:<h0#42:<h1#41:<x3#101:<h3#39:<h2#40:<r0x2#107:
2030 # asm 1: faddp <r0x2=float80#1,<h2=float80#2
2031 # asm 2: faddp <r0x2=%st(0),<h2=%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)
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)
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)
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)
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)
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)
2070 # qhasm: h0 += sr2x2
2071 # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
2072 # asm 2: faddp <sr2x2=%st(0),<h0=%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)
2080 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<r0x3#110:
2083 # asm 1: fmul <x3=float80#3,<r0x3=float80#1
2084 # asm 2: fmul <x3=%st(2),<r0x3=%st(0)
2086 # comment:fpstackfrombottom:<h2#40:<h0#42:<h1#41:<x3#101:<h3#39:<r0x3#110:
2089 # asm 1: faddp <r0x3=float80#1,<h3=float80#2
2090 # asm 2: faddp <r0x3=%st(0),<h3=%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)
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)
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)
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)
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)
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)
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)
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)
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)
2147 # qhasm: h0 += sr1x3
2148 # asm 1: faddp <sr1x3=float80#1,<h0=float80#4
2149 # asm 2: faddp <sr1x3=%st(0),<h0=%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)
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)
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:
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:
2176 # asm 1: fadd <h3=float80#5,<x0=float80#1
2177 # asm 2: fadd <h3=%st(4),<x0=%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:
2186 # asm 1: fsubr <x0=float80#1,<h3=float80#5
2187 # asm 2: fsubr <x0=%st(0),<h3=%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:
2200 # asm 1: fadd <h0=float80#3,<x1=float80#1
2201 # asm 2: fadd <h0=%st(2),<x1=%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:
2210 # asm 1: fsubr <x1=float80#1,<h0=float80#3
2211 # asm 2: fsubr <x1=%st(0),<h0=%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:
2220 # asm 1: fadd <h1=float80#5,<x2=float80#1
2221 # asm 2: fadd <h1=%st(4),<x2=%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:
2230 # asm 1: fsubr <x2=float80#1,<h1=float80#5
2231 # asm 2: fsubr <x2=%st(0),<h1=%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:
2240 # asm 1: fadd <h2=float80#7,<x3=float80#1
2241 # asm 2: fadd <h2=%st(6),<x3=%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)
2253 # comment:fpstackfrombottom:<h3#39:<x3#117:<h1#41:<h0#42:<x0#114:<x1#115:<x2#116:<h2#40:
2256 # asm 1: fsub <x3=float80#7,<h2=float80#1
2257 # asm 2: fsub <x3=%st(6),<h2=%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)
2267 # asm 1: faddp <h0=float80#1,<x0=float80#4
2268 # asm 2: faddp <h0=%st(0),<x0=%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)
2278 # asm 1: faddp <h1=float80#1,<x1=float80#2
2279 # asm 2: faddp <h1=%st(0),<x1=%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)
2289 # asm 1: faddp <h2=float80#1,<x2=float80#4
2290 # asm 2: faddp <h2=%st(0),<x2=%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)
2300 # asm 1: faddp <h3=float80#1,<x3=float80#4
2301 # asm 2: faddp <h3=%st(0),<x3=%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)
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)
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)
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)
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)
2346 # qhasm: *(float64 *) &d0 = x0
2347 # asm 1: fstpl >d0=stack64#10
2348 # asm 2: fstpl >d0=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)
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)
2362 # comment:fpstackfrombottom:<x3#117:
2364 # qhasm: *(float64 *) &d3 = x3
2365 # asm 1: fstpl >d3=stack64#13
2366 # asm 2: fstpl >d3=128(%rsp)
2368 # comment:fpstackfrombottom:
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
2413 # qhasm: (uint32) g0 &= 63
2414 # asm 1: and $63,<g0=int64#1d
2415 # asm 2: and $63,<g0=%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
2423 # qhasm: (uint32) g1 &= 63
2424 # asm 1: and $63,<g1=int64#2d
2425 # asm 2: and $63,<g1=%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
2433 # qhasm: (uint32) g2 &= 63
2434 # asm 1: and $63,<g2=int64#3d
2435 # asm 2: and $63,<g2=%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
2443 # qhasm: (uint32) g3 &= 63
2444 # asm 1: and $63,<g3=int64#4d
2445 # asm 2: and $63,<g3=%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
2453 # qhasm: carry? (uint32) f1 += g0
2454 # asm 1: add <g0=int64#1d,<f1=int64#5d
2455 # asm 2: add <g0=%edi,<f1=%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)
2463 # qhasm: f2 = bottom d2
2464 # asm 1: movl <d2=stack64#12,>f2=int64#1d
2465 # asm 2: movl <d2=120(%rsp),>f2=%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
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)
2478 # qhasm: f3 = bottom d3
2479 # asm 1: movl <d3=stack64#13,>f3=int64#1d
2480 # asm 2: movl <d3=128(%rsp),>f3=%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
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)
2494 # asm 1: mov $0,>f4=int64#1
2495 # asm 2: mov $0,>f4=%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
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)
2509 # asm 1: mov $5,>g0=int64#1
2510 # asm 2: mov $5,>g0=%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
2518 # qhasm: carry? (uint32) g0 += f0
2519 # asm 1: add <f0=int64#2d,<g0=int64#1d
2520 # asm 2: add <f0=%esi,<g0=%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)
2529 # asm 1: mov $0,>g1=int64#1
2530 # asm 2: mov $0,>g1=%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
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
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)
2549 # asm 1: mov $0,>g2=int64#1
2550 # asm 2: mov $0,>g2=%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
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
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)
2569 # asm 1: mov $0,>g3=int64#1
2570 # asm 2: mov $0,>g3=%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
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
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)
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
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
2603 # qhasm: (int32) f >>= 16
2604 # asm 1: sar $16,<f=int64#1d
2605 # asm 2: sar $16,<f=%edi
2609 # asm 1: mov <f=int64#1,>notf=int64#6
2610 # asm 2: mov <f=%rdi,>notf=%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
2619 # asm 1: and <f=int64#1,<f0=int64#2
2620 # asm 2: and <f=%rdi,<f0=%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
2629 # asm 1: and <notf=int64#6,<g0=int64#7
2630 # asm 2: and <notf=%r9,<g0=%rax
2634 # asm 1: or <g0=int64#7,<f0=int64#2
2635 # asm 2: or <g0=%rax,<f0=%rsi
2639 # asm 1: and <f=int64#1,<f1=int64#3
2640 # asm 2: and <f=%rdi,<f1=%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
2649 # asm 1: and <notf=int64#6,<g1=int64#7
2650 # asm 2: and <notf=%r9,<g1=%rax
2654 # asm 1: or <g1=int64#7,<f1=int64#3
2655 # asm 2: or <g1=%rax,<f1=%rdx
2659 # asm 1: and <f=int64#1,<f2=int64#4
2660 # asm 2: and <f=%rdi,<f2=%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
2669 # asm 1: and <notf=int64#6,<g2=int64#7
2670 # asm 2: and <notf=%r9,<g2=%rax
2674 # asm 1: or <g2=int64#7,<f2=int64#4
2675 # asm 2: or <g2=%rax,<f2=%rcx
2679 # asm 1: and <f=int64#1,<f3=int64#5
2680 # asm 2: and <f=%rdi,<f3=%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
2689 # asm 1: and <notf=int64#6,<g3=int64#1
2690 # asm 2: and <notf=%r9,<g3=%rdi
2694 # asm 1: or <g3=int64#1,<f3=int64#5
2695 # asm 2: or <g3=%rdi,<f3=%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
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
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
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
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
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
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)
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)
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)
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)
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
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
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
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
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
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
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