summaryrefslogtreecommitdiff
path: root/ext/ed25519-amd64-asm/choose_t.s
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ed25519-amd64-asm/choose_t.s')
-rw-r--r--ext/ed25519-amd64-asm/choose_t.s1565
1 files changed, 1565 insertions, 0 deletions
diff --git a/ext/ed25519-amd64-asm/choose_t.s b/ext/ed25519-amd64-asm/choose_t.s
new file mode 100644
index 00000000..f10d8b8b
--- /dev/null
+++ b/ext/ed25519-amd64-asm/choose_t.s
@@ -0,0 +1,1565 @@
+
+# qhasm: int64 tp
+
+# qhasm: int64 pos
+
+# qhasm: int64 b
+
+# qhasm: int64 basep
+
+# qhasm: input tp
+
+# qhasm: input pos
+
+# qhasm: input b
+
+# qhasm: input basep
+
+# qhasm: int64 mask
+
+# qhasm: int64 u
+
+# qhasm: int64 tysubx0
+
+# qhasm: int64 tysubx1
+
+# qhasm: int64 tysubx2
+
+# qhasm: int64 tysubx3
+
+# qhasm: int64 txaddy0
+
+# qhasm: int64 txaddy1
+
+# qhasm: int64 txaddy2
+
+# qhasm: int64 txaddy3
+
+# qhasm: int64 tt2d0
+
+# qhasm: int64 tt2d1
+
+# qhasm: int64 tt2d2
+
+# qhasm: int64 tt2d3
+
+# qhasm: int64 tt0
+
+# qhasm: int64 tt1
+
+# qhasm: int64 tt2
+
+# qhasm: int64 tt3
+
+# qhasm: int64 subt0
+
+# qhasm: int64 subt1
+
+# qhasm: int64 t
+
+# qhasm: stack64 tp_stack
+
+# qhasm: int64 caller1
+
+# qhasm: int64 caller2
+
+# qhasm: int64 caller3
+
+# qhasm: int64 caller4
+
+# qhasm: int64 caller5
+
+# qhasm: int64 caller6
+
+# qhasm: int64 caller7
+
+# qhasm: caller caller1
+
+# qhasm: caller caller2
+
+# qhasm: caller caller3
+
+# qhasm: caller caller4
+
+# qhasm: caller caller5
+
+# qhasm: caller caller6
+
+# qhasm: caller caller7
+
+# qhasm: stack64 caller1_stack
+
+# qhasm: stack64 caller2_stack
+
+# qhasm: stack64 caller3_stack
+
+# qhasm: stack64 caller4_stack
+
+# qhasm: stack64 caller5_stack
+
+# qhasm: stack64 caller6_stack
+
+# qhasm: stack64 caller7_stack
+
+# qhasm: enter crypto_sign_ed25519_amd64_64_choose_t
+.text
+.p2align 5
+.globl _crypto_sign_ed25519_amd64_64_choose_t
+.globl crypto_sign_ed25519_amd64_64_choose_t
+_crypto_sign_ed25519_amd64_64_choose_t:
+crypto_sign_ed25519_amd64_64_choose_t:
+mov %rsp,%r11
+and $31,%r11
+add $64,%r11
+sub %r11,%rsp
+
+# qhasm: caller1_stack = caller1
+# asm 1: movq <caller1=int64#9,>caller1_stack=stack64#1
+# asm 2: movq <caller1=%r11,>caller1_stack=0(%rsp)
+movq %r11,0(%rsp)
+
+# qhasm: caller2_stack = caller2
+# asm 1: movq <caller2=int64#10,>caller2_stack=stack64#2
+# asm 2: movq <caller2=%r12,>caller2_stack=8(%rsp)
+movq %r12,8(%rsp)
+
+# qhasm: caller3_stack = caller3
+# asm 1: movq <caller3=int64#11,>caller3_stack=stack64#3
+# asm 2: movq <caller3=%r13,>caller3_stack=16(%rsp)
+movq %r13,16(%rsp)
+
+# qhasm: caller4_stack = caller4
+# asm 1: movq <caller4=int64#12,>caller4_stack=stack64#4
+# asm 2: movq <caller4=%r14,>caller4_stack=24(%rsp)
+movq %r14,24(%rsp)
+
+# qhasm: caller5_stack = caller5
+# asm 1: movq <caller5=int64#13,>caller5_stack=stack64#5
+# asm 2: movq <caller5=%r15,>caller5_stack=32(%rsp)
+movq %r15,32(%rsp)
+
+# qhasm: caller6_stack = caller6
+# asm 1: movq <caller6=int64#14,>caller6_stack=stack64#6
+# asm 2: movq <caller6=%rbx,>caller6_stack=40(%rsp)
+movq %rbx,40(%rsp)
+
+# qhasm: caller7_stack = caller7
+# asm 1: movq <caller7=int64#15,>caller7_stack=stack64#7
+# asm 2: movq <caller7=%rbp,>caller7_stack=48(%rsp)
+movq %rbp,48(%rsp)
+
+# qhasm: tp_stack = tp
+# asm 1: movq <tp=int64#1,>tp_stack=stack64#8
+# asm 2: movq <tp=%rdi,>tp_stack=56(%rsp)
+movq %rdi,56(%rsp)
+
+# qhasm: pos *= 768
+# asm 1: imulq $768,<pos=int64#2,>pos=int64#1
+# asm 2: imulq $768,<pos=%rsi,>pos=%rdi
+imulq $768,%rsi,%rdi
+
+# qhasm: mask = b
+# asm 1: mov <b=int64#3,>mask=int64#2
+# asm 2: mov <b=%rdx,>mask=%rsi
+mov %rdx,%rsi
+
+# qhasm: (int64) mask >>= 7
+# asm 1: sar $7,<mask=int64#2
+# asm 2: sar $7,<mask=%rsi
+sar $7,%rsi
+
+# qhasm: u = b
+# asm 1: mov <b=int64#3,>u=int64#5
+# asm 2: mov <b=%rdx,>u=%r8
+mov %rdx,%r8
+
+# qhasm: u += mask
+# asm 1: add <mask=int64#2,<u=int64#5
+# asm 2: add <mask=%rsi,<u=%r8
+add %rsi,%r8
+
+# qhasm: u ^= mask
+# asm 1: xor <mask=int64#2,<u=int64#5
+# asm 2: xor <mask=%rsi,<u=%r8
+xor %rsi,%r8
+
+# qhasm: tysubx0 = 1
+# asm 1: mov $1,>tysubx0=int64#2
+# asm 2: mov $1,>tysubx0=%rsi
+mov $1,%rsi
+
+# qhasm: tysubx1 = 0
+# asm 1: mov $0,>tysubx1=int64#6
+# asm 2: mov $0,>tysubx1=%r9
+mov $0,%r9
+
+# qhasm: tysubx2 = 0
+# asm 1: mov $0,>tysubx2=int64#7
+# asm 2: mov $0,>tysubx2=%rax
+mov $0,%rax
+
+# qhasm: tysubx3 = 0
+# asm 1: mov $0,>tysubx3=int64#8
+# asm 2: mov $0,>tysubx3=%r10
+mov $0,%r10
+
+# qhasm: txaddy0 = 1
+# asm 1: mov $1,>txaddy0=int64#9
+# asm 2: mov $1,>txaddy0=%r11
+mov $1,%r11
+
+# qhasm: txaddy1 = 0
+# asm 1: mov $0,>txaddy1=int64#10
+# asm 2: mov $0,>txaddy1=%r12
+mov $0,%r12
+
+# qhasm: txaddy2 = 0
+# asm 1: mov $0,>txaddy2=int64#11
+# asm 2: mov $0,>txaddy2=%r13
+mov $0,%r13
+
+# qhasm: txaddy3 = 0
+# asm 1: mov $0,>txaddy3=int64#12
+# asm 2: mov $0,>txaddy3=%r14
+mov $0,%r14
+
+# qhasm: =? u - 1
+# asm 1: cmp $1,<u=int64#5
+# asm 2: cmp $1,<u=%r8
+cmp $1,%r8
+
+# qhasm: t = *(uint64 *)(basep + 0 + pos)
+# asm 1: movq 0(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 0(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 0(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 8 + pos)
+# asm 1: movq 8(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 8(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 8(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 16 + pos)
+# asm 1: movq 16(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 16(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 16(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 24 + pos)
+# asm 1: movq 24(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 24(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 24(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 32 + pos)
+# asm 1: movq 32(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 32(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 32(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 40 + pos)
+# asm 1: movq 40(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 40(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 40(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 48 + pos)
+# asm 1: movq 48(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 48(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 48(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 56 + pos)
+# asm 1: movq 56(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 56(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 56(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 2
+# asm 1: cmp $2,<u=int64#5
+# asm 2: cmp $2,<u=%r8
+cmp $2,%r8
+
+# qhasm: t = *(uint64 *)(basep + 96 + pos)
+# asm 1: movq 96(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 96(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 96(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 104 + pos)
+# asm 1: movq 104(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 104(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 104(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 112 + pos)
+# asm 1: movq 112(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 112(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 112(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 120 + pos)
+# asm 1: movq 120(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 120(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 120(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 128 + pos)
+# asm 1: movq 128(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 128(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 128(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 136 + pos)
+# asm 1: movq 136(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 136(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 136(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 144 + pos)
+# asm 1: movq 144(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 144(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 144(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 152 + pos)
+# asm 1: movq 152(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 152(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 152(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 3
+# asm 1: cmp $3,<u=int64#5
+# asm 2: cmp $3,<u=%r8
+cmp $3,%r8
+
+# qhasm: t = *(uint64 *)(basep + 192 + pos)
+# asm 1: movq 192(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 192(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 192(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 200 + pos)
+# asm 1: movq 200(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 200(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 200(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 208 + pos)
+# asm 1: movq 208(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 208(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 208(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 216 + pos)
+# asm 1: movq 216(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 216(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 216(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 224 + pos)
+# asm 1: movq 224(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 224(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 224(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 232 + pos)
+# asm 1: movq 232(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 232(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 232(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 240 + pos)
+# asm 1: movq 240(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 240(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 240(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 248 + pos)
+# asm 1: movq 248(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 248(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 248(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 4
+# asm 1: cmp $4,<u=int64#5
+# asm 2: cmp $4,<u=%r8
+cmp $4,%r8
+
+# qhasm: t = *(uint64 *)(basep + 288 + pos)
+# asm 1: movq 288(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 288(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 288(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 296 + pos)
+# asm 1: movq 296(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 296(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 296(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 304 + pos)
+# asm 1: movq 304(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 304(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 304(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 312 + pos)
+# asm 1: movq 312(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 312(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 312(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 320 + pos)
+# asm 1: movq 320(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 320(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 320(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 328 + pos)
+# asm 1: movq 328(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 328(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 328(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 336 + pos)
+# asm 1: movq 336(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 336(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 336(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 344 + pos)
+# asm 1: movq 344(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 344(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 344(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 5
+# asm 1: cmp $5,<u=int64#5
+# asm 2: cmp $5,<u=%r8
+cmp $5,%r8
+
+# qhasm: t = *(uint64 *)(basep + 384 + pos)
+# asm 1: movq 384(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 384(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 384(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 392 + pos)
+# asm 1: movq 392(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 392(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 392(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 400 + pos)
+# asm 1: movq 400(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 400(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 400(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 408 + pos)
+# asm 1: movq 408(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 408(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 408(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 416 + pos)
+# asm 1: movq 416(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 416(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 416(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 424 + pos)
+# asm 1: movq 424(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 424(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 424(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 432 + pos)
+# asm 1: movq 432(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 432(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 432(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 440 + pos)
+# asm 1: movq 440(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 440(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 440(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 6
+# asm 1: cmp $6,<u=int64#5
+# asm 2: cmp $6,<u=%r8
+cmp $6,%r8
+
+# qhasm: t = *(uint64 *)(basep + 480 + pos)
+# asm 1: movq 480(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 480(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 480(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 488 + pos)
+# asm 1: movq 488(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 488(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 488(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 496 + pos)
+# asm 1: movq 496(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 496(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 496(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 504 + pos)
+# asm 1: movq 504(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 504(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 504(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 512 + pos)
+# asm 1: movq 512(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 512(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 512(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 520 + pos)
+# asm 1: movq 520(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 520(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 520(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 528 + pos)
+# asm 1: movq 528(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 528(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 528(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 536 + pos)
+# asm 1: movq 536(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 536(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 536(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 7
+# asm 1: cmp $7,<u=int64#5
+# asm 2: cmp $7,<u=%r8
+cmp $7,%r8
+
+# qhasm: t = *(uint64 *)(basep + 576 + pos)
+# asm 1: movq 576(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 576(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 576(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 584 + pos)
+# asm 1: movq 584(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 584(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 584(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 592 + pos)
+# asm 1: movq 592(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 592(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 592(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 600 + pos)
+# asm 1: movq 600(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 600(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 600(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 608 + pos)
+# asm 1: movq 608(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 608(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 608(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 616 + pos)
+# asm 1: movq 616(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 616(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 616(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 624 + pos)
+# asm 1: movq 624(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 624(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 624(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 632 + pos)
+# asm 1: movq 632(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 632(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 632(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: =? u - 8
+# asm 1: cmp $8,<u=int64#5
+# asm 2: cmp $8,<u=%r8
+cmp $8,%r8
+
+# qhasm: t = *(uint64 *)(basep + 672 + pos)
+# asm 1: movq 672(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 672(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 672(%rcx,%rdi),%r15
+
+# qhasm: tysubx0 = t if =
+# asm 1: cmove <t=int64#13,<tysubx0=int64#2
+# asm 2: cmove <t=%r15,<tysubx0=%rsi
+cmove %r15,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 680 + pos)
+# asm 1: movq 680(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 680(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 680(%rcx,%rdi),%r15
+
+# qhasm: tysubx1 = t if =
+# asm 1: cmove <t=int64#13,<tysubx1=int64#6
+# asm 2: cmove <t=%r15,<tysubx1=%r9
+cmove %r15,%r9
+
+# qhasm: t = *(uint64 *)(basep + 688 + pos)
+# asm 1: movq 688(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 688(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 688(%rcx,%rdi),%r15
+
+# qhasm: tysubx2 = t if =
+# asm 1: cmove <t=int64#13,<tysubx2=int64#7
+# asm 2: cmove <t=%r15,<tysubx2=%rax
+cmove %r15,%rax
+
+# qhasm: t = *(uint64 *)(basep + 696 + pos)
+# asm 1: movq 696(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 696(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 696(%rcx,%rdi),%r15
+
+# qhasm: tysubx3 = t if =
+# asm 1: cmove <t=int64#13,<tysubx3=int64#8
+# asm 2: cmove <t=%r15,<tysubx3=%r10
+cmove %r15,%r10
+
+# qhasm: t = *(uint64 *)(basep + 704 + pos)
+# asm 1: movq 704(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 704(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 704(%rcx,%rdi),%r15
+
+# qhasm: txaddy0 = t if =
+# asm 1: cmove <t=int64#13,<txaddy0=int64#9
+# asm 2: cmove <t=%r15,<txaddy0=%r11
+cmove %r15,%r11
+
+# qhasm: t = *(uint64 *)(basep + 712 + pos)
+# asm 1: movq 712(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 712(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 712(%rcx,%rdi),%r15
+
+# qhasm: txaddy1 = t if =
+# asm 1: cmove <t=int64#13,<txaddy1=int64#10
+# asm 2: cmove <t=%r15,<txaddy1=%r12
+cmove %r15,%r12
+
+# qhasm: t = *(uint64 *)(basep + 720 + pos)
+# asm 1: movq 720(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 720(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 720(%rcx,%rdi),%r15
+
+# qhasm: txaddy2 = t if =
+# asm 1: cmove <t=int64#13,<txaddy2=int64#11
+# asm 2: cmove <t=%r15,<txaddy2=%r13
+cmove %r15,%r13
+
+# qhasm: t = *(uint64 *)(basep + 728 + pos)
+# asm 1: movq 728(<basep=int64#4,<pos=int64#1),>t=int64#13
+# asm 2: movq 728(<basep=%rcx,<pos=%rdi),>t=%r15
+movq 728(%rcx,%rdi),%r15
+
+# qhasm: txaddy3 = t if =
+# asm 1: cmove <t=int64#13,<txaddy3=int64#12
+# asm 2: cmove <t=%r15,<txaddy3=%r14
+cmove %r15,%r14
+
+# qhasm: signed<? b - 0
+# asm 1: cmp $0,<b=int64#3
+# asm 2: cmp $0,<b=%rdx
+cmp $0,%rdx
+
+# qhasm: t = tysubx0
+# asm 1: mov <tysubx0=int64#2,>t=int64#13
+# asm 2: mov <tysubx0=%rsi,>t=%r15
+mov %rsi,%r15
+
+# qhasm: tysubx0 = txaddy0 if signed<
+# asm 1: cmovl <txaddy0=int64#9,<tysubx0=int64#2
+# asm 2: cmovl <txaddy0=%r11,<tysubx0=%rsi
+cmovl %r11,%rsi
+
+# qhasm: txaddy0 = t if signed<
+# asm 1: cmovl <t=int64#13,<txaddy0=int64#9
+# asm 2: cmovl <t=%r15,<txaddy0=%r11
+cmovl %r15,%r11
+
+# qhasm: t = tysubx1
+# asm 1: mov <tysubx1=int64#6,>t=int64#13
+# asm 2: mov <tysubx1=%r9,>t=%r15
+mov %r9,%r15
+
+# qhasm: tysubx1 = txaddy1 if signed<
+# asm 1: cmovl <txaddy1=int64#10,<tysubx1=int64#6
+# asm 2: cmovl <txaddy1=%r12,<tysubx1=%r9
+cmovl %r12,%r9
+
+# qhasm: txaddy1 = t if signed<
+# asm 1: cmovl <t=int64#13,<txaddy1=int64#10
+# asm 2: cmovl <t=%r15,<txaddy1=%r12
+cmovl %r15,%r12
+
+# qhasm: t = tysubx2
+# asm 1: mov <tysubx2=int64#7,>t=int64#13
+# asm 2: mov <tysubx2=%rax,>t=%r15
+mov %rax,%r15
+
+# qhasm: tysubx2 = txaddy2 if signed<
+# asm 1: cmovl <txaddy2=int64#11,<tysubx2=int64#7
+# asm 2: cmovl <txaddy2=%r13,<tysubx2=%rax
+cmovl %r13,%rax
+
+# qhasm: txaddy2 = t if signed<
+# asm 1: cmovl <t=int64#13,<txaddy2=int64#11
+# asm 2: cmovl <t=%r15,<txaddy2=%r13
+cmovl %r15,%r13
+
+# qhasm: t = tysubx3
+# asm 1: mov <tysubx3=int64#8,>t=int64#13
+# asm 2: mov <tysubx3=%r10,>t=%r15
+mov %r10,%r15
+
+# qhasm: tysubx3 = txaddy3 if signed<
+# asm 1: cmovl <txaddy3=int64#12,<tysubx3=int64#8
+# asm 2: cmovl <txaddy3=%r14,<tysubx3=%r10
+cmovl %r14,%r10
+
+# qhasm: txaddy3 = t if signed<
+# asm 1: cmovl <t=int64#13,<txaddy3=int64#12
+# asm 2: cmovl <t=%r15,<txaddy3=%r14
+cmovl %r15,%r14
+
+# qhasm: tp = tp_stack
+# asm 1: movq <tp_stack=stack64#8,>tp=int64#13
+# asm 2: movq <tp_stack=56(%rsp),>tp=%r15
+movq 56(%rsp),%r15
+
+# qhasm: *(uint64 *)(tp + 0) = tysubx0
+# asm 1: movq <tysubx0=int64#2,0(<tp=int64#13)
+# asm 2: movq <tysubx0=%rsi,0(<tp=%r15)
+movq %rsi,0(%r15)
+
+# qhasm: *(uint64 *)(tp + 8) = tysubx1
+# asm 1: movq <tysubx1=int64#6,8(<tp=int64#13)
+# asm 2: movq <tysubx1=%r9,8(<tp=%r15)
+movq %r9,8(%r15)
+
+# qhasm: *(uint64 *)(tp + 16) = tysubx2
+# asm 1: movq <tysubx2=int64#7,16(<tp=int64#13)
+# asm 2: movq <tysubx2=%rax,16(<tp=%r15)
+movq %rax,16(%r15)
+
+# qhasm: *(uint64 *)(tp + 24) = tysubx3
+# asm 1: movq <tysubx3=int64#8,24(<tp=int64#13)
+# asm 2: movq <tysubx3=%r10,24(<tp=%r15)
+movq %r10,24(%r15)
+
+# qhasm: *(uint64 *)(tp + 32) = txaddy0
+# asm 1: movq <txaddy0=int64#9,32(<tp=int64#13)
+# asm 2: movq <txaddy0=%r11,32(<tp=%r15)
+movq %r11,32(%r15)
+
+# qhasm: *(uint64 *)(tp + 40) = txaddy1
+# asm 1: movq <txaddy1=int64#10,40(<tp=int64#13)
+# asm 2: movq <txaddy1=%r12,40(<tp=%r15)
+movq %r12,40(%r15)
+
+# qhasm: *(uint64 *)(tp + 48) = txaddy2
+# asm 1: movq <txaddy2=int64#11,48(<tp=int64#13)
+# asm 2: movq <txaddy2=%r13,48(<tp=%r15)
+movq %r13,48(%r15)
+
+# qhasm: *(uint64 *)(tp + 56) = txaddy3
+# asm 1: movq <txaddy3=int64#12,56(<tp=int64#13)
+# asm 2: movq <txaddy3=%r14,56(<tp=%r15)
+movq %r14,56(%r15)
+
+# qhasm: tt2d0 = 0
+# asm 1: mov $0,>tt2d0=int64#2
+# asm 2: mov $0,>tt2d0=%rsi
+mov $0,%rsi
+
+# qhasm: tt2d1 = 0
+# asm 1: mov $0,>tt2d1=int64#6
+# asm 2: mov $0,>tt2d1=%r9
+mov $0,%r9
+
+# qhasm: tt2d2 = 0
+# asm 1: mov $0,>tt2d2=int64#7
+# asm 2: mov $0,>tt2d2=%rax
+mov $0,%rax
+
+# qhasm: tt2d3 = 0
+# asm 1: mov $0,>tt2d3=int64#8
+# asm 2: mov $0,>tt2d3=%r10
+mov $0,%r10
+
+# qhasm: =? u - 1
+# asm 1: cmp $1,<u=int64#5
+# asm 2: cmp $1,<u=%r8
+cmp $1,%r8
+
+# qhasm: t = *(uint64 *)(basep + 64 + pos)
+# asm 1: movq 64(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 64(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 64(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 72 + pos)
+# asm 1: movq 72(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 72(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 72(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 80 + pos)
+# asm 1: movq 80(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 80(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 80(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 88 + pos)
+# asm 1: movq 88(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 88(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 88(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 2
+# asm 1: cmp $2,<u=int64#5
+# asm 2: cmp $2,<u=%r8
+cmp $2,%r8
+
+# qhasm: t = *(uint64 *)(basep + 160 + pos)
+# asm 1: movq 160(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 160(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 160(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 168 + pos)
+# asm 1: movq 168(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 168(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 168(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 176 + pos)
+# asm 1: movq 176(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 176(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 176(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 184 + pos)
+# asm 1: movq 184(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 184(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 184(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 3
+# asm 1: cmp $3,<u=int64#5
+# asm 2: cmp $3,<u=%r8
+cmp $3,%r8
+
+# qhasm: t = *(uint64 *)(basep + 256 + pos)
+# asm 1: movq 256(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 256(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 256(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 264 + pos)
+# asm 1: movq 264(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 264(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 264(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 272 + pos)
+# asm 1: movq 272(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 272(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 272(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 280 + pos)
+# asm 1: movq 280(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 280(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 280(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 4
+# asm 1: cmp $4,<u=int64#5
+# asm 2: cmp $4,<u=%r8
+cmp $4,%r8
+
+# qhasm: t = *(uint64 *)(basep + 352 + pos)
+# asm 1: movq 352(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 352(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 352(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 360 + pos)
+# asm 1: movq 360(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 360(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 360(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 368 + pos)
+# asm 1: movq 368(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 368(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 368(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 376 + pos)
+# asm 1: movq 376(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 376(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 376(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 5
+# asm 1: cmp $5,<u=int64#5
+# asm 2: cmp $5,<u=%r8
+cmp $5,%r8
+
+# qhasm: t = *(uint64 *)(basep + 448 + pos)
+# asm 1: movq 448(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 448(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 448(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 456 + pos)
+# asm 1: movq 456(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 456(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 456(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 464 + pos)
+# asm 1: movq 464(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 464(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 464(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 472 + pos)
+# asm 1: movq 472(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 472(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 472(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 6
+# asm 1: cmp $6,<u=int64#5
+# asm 2: cmp $6,<u=%r8
+cmp $6,%r8
+
+# qhasm: t = *(uint64 *)(basep + 544 + pos)
+# asm 1: movq 544(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 544(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 544(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 552 + pos)
+# asm 1: movq 552(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 552(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 552(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 560 + pos)
+# asm 1: movq 560(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 560(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 560(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 568 + pos)
+# asm 1: movq 568(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 568(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 568(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 7
+# asm 1: cmp $7,<u=int64#5
+# asm 2: cmp $7,<u=%r8
+cmp $7,%r8
+
+# qhasm: t = *(uint64 *)(basep + 640 + pos)
+# asm 1: movq 640(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 640(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 640(%rcx,%rdi),%r11
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#9,<tt2d0=int64#2
+# asm 2: cmove <t=%r11,<tt2d0=%rsi
+cmove %r11,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 648 + pos)
+# asm 1: movq 648(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 648(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 648(%rcx,%rdi),%r11
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#9,<tt2d1=int64#6
+# asm 2: cmove <t=%r11,<tt2d1=%r9
+cmove %r11,%r9
+
+# qhasm: t = *(uint64 *)(basep + 656 + pos)
+# asm 1: movq 656(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 656(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 656(%rcx,%rdi),%r11
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#9,<tt2d2=int64#7
+# asm 2: cmove <t=%r11,<tt2d2=%rax
+cmove %r11,%rax
+
+# qhasm: t = *(uint64 *)(basep + 664 + pos)
+# asm 1: movq 664(<basep=int64#4,<pos=int64#1),>t=int64#9
+# asm 2: movq 664(<basep=%rcx,<pos=%rdi),>t=%r11
+movq 664(%rcx,%rdi),%r11
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#9,<tt2d3=int64#8
+# asm 2: cmove <t=%r11,<tt2d3=%r10
+cmove %r11,%r10
+
+# qhasm: =? u - 8
+# asm 1: cmp $8,<u=int64#5
+# asm 2: cmp $8,<u=%r8
+cmp $8,%r8
+
+# qhasm: t = *(uint64 *)(basep + 736 + pos)
+# asm 1: movq 736(<basep=int64#4,<pos=int64#1),>t=int64#5
+# asm 2: movq 736(<basep=%rcx,<pos=%rdi),>t=%r8
+movq 736(%rcx,%rdi),%r8
+
+# qhasm: tt2d0 = t if =
+# asm 1: cmove <t=int64#5,<tt2d0=int64#2
+# asm 2: cmove <t=%r8,<tt2d0=%rsi
+cmove %r8,%rsi
+
+# qhasm: t = *(uint64 *)(basep + 744 + pos)
+# asm 1: movq 744(<basep=int64#4,<pos=int64#1),>t=int64#5
+# asm 2: movq 744(<basep=%rcx,<pos=%rdi),>t=%r8
+movq 744(%rcx,%rdi),%r8
+
+# qhasm: tt2d1 = t if =
+# asm 1: cmove <t=int64#5,<tt2d1=int64#6
+# asm 2: cmove <t=%r8,<tt2d1=%r9
+cmove %r8,%r9
+
+# qhasm: t = *(uint64 *)(basep + 752 + pos)
+# asm 1: movq 752(<basep=int64#4,<pos=int64#1),>t=int64#5
+# asm 2: movq 752(<basep=%rcx,<pos=%rdi),>t=%r8
+movq 752(%rcx,%rdi),%r8
+
+# qhasm: tt2d2 = t if =
+# asm 1: cmove <t=int64#5,<tt2d2=int64#7
+# asm 2: cmove <t=%r8,<tt2d2=%rax
+cmove %r8,%rax
+
+# qhasm: t = *(uint64 *)(basep + 760 + pos)
+# asm 1: movq 760(<basep=int64#4,<pos=int64#1),>t=int64#1
+# asm 2: movq 760(<basep=%rcx,<pos=%rdi),>t=%rdi
+movq 760(%rcx,%rdi),%rdi
+
+# qhasm: tt2d3 = t if =
+# asm 1: cmove <t=int64#1,<tt2d3=int64#8
+# asm 2: cmove <t=%rdi,<tt2d3=%r10
+cmove %rdi,%r10
+
+# qhasm: tt0 = 0
+# asm 1: mov $0,>tt0=int64#1
+# asm 2: mov $0,>tt0=%rdi
+mov $0,%rdi
+
+# qhasm: tt1 = 0
+# asm 1: mov $0,>tt1=int64#4
+# asm 2: mov $0,>tt1=%rcx
+mov $0,%rcx
+
+# qhasm: tt2 = 0
+# asm 1: mov $0,>tt2=int64#5
+# asm 2: mov $0,>tt2=%r8
+mov $0,%r8
+
+# qhasm: tt3 = 0
+# asm 1: mov $0,>tt3=int64#9
+# asm 2: mov $0,>tt3=%r11
+mov $0,%r11
+
+# qhasm: carry? tt0 -= tt2d0
+# asm 1: sub <tt2d0=int64#2,<tt0=int64#1
+# asm 2: sub <tt2d0=%rsi,<tt0=%rdi
+sub %rsi,%rdi
+
+# qhasm: carry? tt1 -= tt2d1 - carry
+# asm 1: sbb <tt2d1=int64#6,<tt1=int64#4
+# asm 2: sbb <tt2d1=%r9,<tt1=%rcx
+sbb %r9,%rcx
+
+# qhasm: carry? tt2 -= tt2d2 - carry
+# asm 1: sbb <tt2d2=int64#7,<tt2=int64#5
+# asm 2: sbb <tt2d2=%rax,<tt2=%r8
+sbb %rax,%r8
+
+# qhasm: carry? tt3 -= tt2d3 - carry
+# asm 1: sbb <tt2d3=int64#8,<tt3=int64#9
+# asm 2: sbb <tt2d3=%r10,<tt3=%r11
+sbb %r10,%r11
+
+# qhasm: subt0 = 0
+# asm 1: mov $0,>subt0=int64#10
+# asm 2: mov $0,>subt0=%r12
+mov $0,%r12
+
+# qhasm: subt1 = 38
+# asm 1: mov $38,>subt1=int64#11
+# asm 2: mov $38,>subt1=%r13
+mov $38,%r13
+
+# qhasm: subt1 = subt0 if !carry
+# asm 1: cmovae <subt0=int64#10,<subt1=int64#11
+# asm 2: cmovae <subt0=%r12,<subt1=%r13
+cmovae %r12,%r13
+
+# qhasm: carry? tt0 -= subt1
+# asm 1: sub <subt1=int64#11,<tt0=int64#1
+# asm 2: sub <subt1=%r13,<tt0=%rdi
+sub %r13,%rdi
+
+# qhasm: carry? tt1 -= subt0 - carry
+# asm 1: sbb <subt0=int64#10,<tt1=int64#4
+# asm 2: sbb <subt0=%r12,<tt1=%rcx
+sbb %r12,%rcx
+
+# qhasm: carry? tt2 -= subt0 - carry
+# asm 1: sbb <subt0=int64#10,<tt2=int64#5
+# asm 2: sbb <subt0=%r12,<tt2=%r8
+sbb %r12,%r8
+
+# qhasm: carry? tt3 -= subt0 - carry
+# asm 1: sbb <subt0=int64#10,<tt3=int64#9
+# asm 2: sbb <subt0=%r12,<tt3=%r11
+sbb %r12,%r11
+
+# qhasm: subt0 = subt1 if carry
+# asm 1: cmovc <subt1=int64#11,<subt0=int64#10
+# asm 2: cmovc <subt1=%r13,<subt0=%r12
+cmovc %r13,%r12
+
+# qhasm: tt0 -= subt0
+# asm 1: sub <subt0=int64#10,<tt0=int64#1
+# asm 2: sub <subt0=%r12,<tt0=%rdi
+sub %r12,%rdi
+
+# qhasm: signed<? b - 0
+# asm 1: cmp $0,<b=int64#3
+# asm 2: cmp $0,<b=%rdx
+cmp $0,%rdx
+
+# qhasm: tt2d0 = tt0 if signed<
+# asm 1: cmovl <tt0=int64#1,<tt2d0=int64#2
+# asm 2: cmovl <tt0=%rdi,<tt2d0=%rsi
+cmovl %rdi,%rsi
+
+# qhasm: tt2d1 = tt1 if signed<
+# asm 1: cmovl <tt1=int64#4,<tt2d1=int64#6
+# asm 2: cmovl <tt1=%rcx,<tt2d1=%r9
+cmovl %rcx,%r9
+
+# qhasm: tt2d2 = tt2 if signed<
+# asm 1: cmovl <tt2=int64#5,<tt2d2=int64#7
+# asm 2: cmovl <tt2=%r8,<tt2d2=%rax
+cmovl %r8,%rax
+
+# qhasm: tt2d3 = tt3 if signed<
+# asm 1: cmovl <tt3=int64#9,<tt2d3=int64#8
+# asm 2: cmovl <tt3=%r11,<tt2d3=%r10
+cmovl %r11,%r10
+
+# qhasm: *(uint64 *)(tp + 64) = tt2d0
+# asm 1: movq <tt2d0=int64#2,64(<tp=int64#13)
+# asm 2: movq <tt2d0=%rsi,64(<tp=%r15)
+movq %rsi,64(%r15)
+
+# qhasm: *(uint64 *)(tp + 72) = tt2d1
+# asm 1: movq <tt2d1=int64#6,72(<tp=int64#13)
+# asm 2: movq <tt2d1=%r9,72(<tp=%r15)
+movq %r9,72(%r15)
+
+# qhasm: *(uint64 *)(tp + 80) = tt2d2
+# asm 1: movq <tt2d2=int64#7,80(<tp=int64#13)
+# asm 2: movq <tt2d2=%rax,80(<tp=%r15)
+movq %rax,80(%r15)
+
+# qhasm: *(uint64 *)(tp + 88) = tt2d3
+# asm 1: movq <tt2d3=int64#8,88(<tp=int64#13)
+# asm 2: movq <tt2d3=%r10,88(<tp=%r15)
+movq %r10,88(%r15)
+
+# qhasm: caller1 = caller1_stack
+# asm 1: movq <caller1_stack=stack64#1,>caller1=int64#9
+# asm 2: movq <caller1_stack=0(%rsp),>caller1=%r11
+movq 0(%rsp),%r11
+
+# qhasm: caller2 = caller2_stack
+# asm 1: movq <caller2_stack=stack64#2,>caller2=int64#10
+# asm 2: movq <caller2_stack=8(%rsp),>caller2=%r12
+movq 8(%rsp),%r12
+
+# qhasm: caller3 = caller3_stack
+# asm 1: movq <caller3_stack=stack64#3,>caller3=int64#11
+# asm 2: movq <caller3_stack=16(%rsp),>caller3=%r13
+movq 16(%rsp),%r13
+
+# qhasm: caller4 = caller4_stack
+# asm 1: movq <caller4_stack=stack64#4,>caller4=int64#12
+# asm 2: movq <caller4_stack=24(%rsp),>caller4=%r14
+movq 24(%rsp),%r14
+
+# qhasm: caller5 = caller5_stack
+# asm 1: movq <caller5_stack=stack64#5,>caller5=int64#13
+# asm 2: movq <caller5_stack=32(%rsp),>caller5=%r15
+movq 32(%rsp),%r15
+
+# qhasm: caller6 = caller6_stack
+# asm 1: movq <caller6_stack=stack64#6,>caller6=int64#14
+# asm 2: movq <caller6_stack=40(%rsp),>caller6=%rbx
+movq 40(%rsp),%rbx
+
+# qhasm: caller7 = caller7_stack
+# asm 1: movq <caller7_stack=stack64#7,>caller7=int64#15
+# asm 2: movq <caller7_stack=48(%rsp),>caller7=%rbp
+movq 48(%rsp),%rbp
+
+# qhasm: leave
+add %r11,%rsp
+mov %rdi,%rax
+mov %rsi,%rdx
+ret