
convention-x86_64-linux-O0.o:	file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <leaf_add>:
       0: 55                           	pushq	%rbp
       1: 48 89 e5                     	movq	%rsp, %rbp
       4: 89 7d fc                     	movl	%edi, -0x4(%rbp)
       7: 89 75 f8                     	movl	%esi, -0x8(%rbp)
       a: 8b 45 fc                     	movl	-0x4(%rbp), %eax
       d: 03 45 f8                     	addl	-0x8(%rbp), %eax
      10: 5d                           	popq	%rbp
      11: c3                           	retq
      12: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    	nopw	%cs:(%rax,%rax)

0000000000000020 <eight_args>:
      20: 55                           	pushq	%rbp
      21: 48 89 e5                     	movq	%rsp, %rbp
      24: 48 8b 45 18                  	movq	0x18(%rbp), %rax
      28: 48 8b 45 10                  	movq	0x10(%rbp), %rax
      2c: 48 89 7d f8                  	movq	%rdi, -0x8(%rbp)
      30: 48 89 75 f0                  	movq	%rsi, -0x10(%rbp)
      34: 48 89 55 e8                  	movq	%rdx, -0x18(%rbp)
      38: 48 89 4d e0                  	movq	%rcx, -0x20(%rbp)
      3c: 4c 89 45 d8                  	movq	%r8, -0x28(%rbp)
      40: 4c 89 4d d0                  	movq	%r9, -0x30(%rbp)
      44: 48 8b 45 f8                  	movq	-0x8(%rbp), %rax
      48: 48 03 45 f0                  	addq	-0x10(%rbp), %rax
      4c: 48 03 45 e8                  	addq	-0x18(%rbp), %rax
      50: 48 03 45 e0                  	addq	-0x20(%rbp), %rax
      54: 48 03 45 d8                  	addq	-0x28(%rbp), %rax
      58: 48 03 45 d0                  	addq	-0x30(%rbp), %rax
      5c: 48 03 45 10                  	addq	0x10(%rbp), %rax
      60: 48 03 45 18                  	addq	0x18(%rbp), %rax
      64: 5d                           	popq	%rbp
      65: c3                           	retq
      66: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)

0000000000000070 <mixed>:
      70: 55                           	pushq	%rbp
      71: 48 89 e5                     	movq	%rsp, %rbp
      74: 89 7d fc                     	movl	%edi, -0x4(%rbp)
      77: f2 0f 11 45 f0               	movsd	%xmm0, -0x10(%rbp)
      7c: 48 89 75 e8                  	movq	%rsi, -0x18(%rbp)
      80: f3 0f 11 4d e4               	movss	%xmm1, -0x1c(%rbp)
      85: f2 0f 2a 45 fc               	cvtsi2sdl	-0x4(%rbp), %xmm0
      8a: f2 0f 58 45 f0               	addsd	-0x10(%rbp), %xmm0
      8f: f2 48 0f 2a 4d e8            	cvtsi2sdq	-0x18(%rbp), %xmm1
      95: f2 0f 58 c1                  	addsd	%xmm1, %xmm0
      99: f3 0f 10 4d e4               	movss	-0x1c(%rbp), %xmm1
      9e: f3 0f 5a c9                  	cvtss2sd	%xmm1, %xmm1
      a2: f2 0f 58 c1                  	addsd	%xmm1, %xmm0
      a6: 5d                           	popq	%rbp
      a7: c3                           	retq
      a8: 0f 1f 84 00 00 00 00 00      	nopl	(%rax,%rax)

00000000000000b0 <by_value>:
      b0: 55                           	pushq	%rbp
      b1: 48 89 e5                     	movq	%rsp, %rbp
      b4: 48 89 7d e0                  	movq	%rdi, -0x20(%rbp)
      b8: 48 89 75 e8                  	movq	%rsi, -0x18(%rbp)
      bc: 48 8b 45 e0                  	movq	-0x20(%rbp), %rax
      c0: 48 ff c0                     	incq	%rax
      c3: 48 89 45 e0                  	movq	%rax, -0x20(%rbp)
      c7: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
      cb: 48 ff c8                     	decq	%rax
      ce: 48 89 45 e8                  	movq	%rax, -0x18(%rbp)
      d2: 0f 10 45 e0                  	movups	-0x20(%rbp), %xmm0
      d6: 0f 29 45 f0                  	movaps	%xmm0, -0x10(%rbp)
      da: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
      de: 48 8b 55 f8                  	movq	-0x8(%rbp), %rdx
      e2: 5d                           	popq	%rbp
      e3: c3                           	retq
      e4: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)

00000000000000f0 <big_ret>:
      f0: 55                           	pushq	%rbp
      f1: 48 89 e5                     	movq	%rsp, %rbp
      f4: 48 89 f8                     	movq	%rdi, %rax
      f7: 48 89 75 f8                  	movq	%rsi, -0x8(%rbp)
      fb: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
      ff: 48 89 0f                     	movq	%rcx, (%rdi)
     102: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
     106: 48 83 c1 01                  	addq	$0x1, %rcx
     10a: 48 89 4f 08                  	movq	%rcx, 0x8(%rdi)
     10e: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
     112: 48 83 c1 02                  	addq	$0x2, %rcx
     116: 48 89 4f 10                  	movq	%rcx, 0x10(%rdi)
     11a: 48 8b 4d f8                  	movq	-0x8(%rbp), %rcx
     11e: 48 83 c1 03                  	addq	$0x3, %rcx
     122: 48 89 4f 18                  	movq	%rcx, 0x18(%rdi)
     126: 5d                           	popq	%rbp
     127: c3                           	retq
     128: 0f 1f 84 00 00 00 00 00      	nopl	(%rax,%rax)

0000000000000130 <sum_varargs>:
     130: 55                           	pushq	%rbp
     131: 48 89 e5                     	movq	%rsp, %rbp
     134: 48 81 ec 80 00 00 00         	subq	$0x80, %rsp
     13b: 84 c0                        	testb	%al, %al
     13d: 74 29                        	je	0x168 <sum_varargs+0x38>
     13f: 0f 29 85 50 ff ff ff         	movaps	%xmm0, -0xb0(%rbp)
     146: 0f 29 8d 60 ff ff ff         	movaps	%xmm1, -0xa0(%rbp)
     14d: 0f 29 95 70 ff ff ff         	movaps	%xmm2, -0x90(%rbp)
     154: 0f 29 5d 80                  	movaps	%xmm3, -0x80(%rbp)
     158: 0f 29 65 90                  	movaps	%xmm4, -0x70(%rbp)
     15c: 0f 29 6d a0                  	movaps	%xmm5, -0x60(%rbp)
     160: 0f 29 75 b0                  	movaps	%xmm6, -0x50(%rbp)
     164: 0f 29 7d c0                  	movaps	%xmm7, -0x40(%rbp)
     168: 4c 89 8d 48 ff ff ff         	movq	%r9, -0xb8(%rbp)
     16f: 4c 89 85 40 ff ff ff         	movq	%r8, -0xc0(%rbp)
     176: 48 89 8d 38 ff ff ff         	movq	%rcx, -0xc8(%rbp)
     17d: 48 89 95 30 ff ff ff         	movq	%rdx, -0xd0(%rbp)
     184: 48 89 b5 28 ff ff ff         	movq	%rsi, -0xd8(%rbp)
     18b: 89 7d fc                     	movl	%edi, -0x4(%rbp)
     18e: c7 45 dc 00 00 00 00         	movl	$0x0, -0x24(%rbp)
     195: 48 8d 45 e0                  	leaq	-0x20(%rbp), %rax
     199: 48 8d 8d 20 ff ff ff         	leaq	-0xe0(%rbp), %rcx
     1a0: 48 89 48 10                  	movq	%rcx, 0x10(%rax)
     1a4: 48 8d 4d 10                  	leaq	0x10(%rbp), %rcx
     1a8: 48 89 48 08                  	movq	%rcx, 0x8(%rax)
     1ac: c7 40 04 30 00 00 00         	movl	$0x30, 0x4(%rax)
     1b3: c7 00 08 00 00 00            	movl	$0x8, (%rax)
     1b9: c7 45 d8 00 00 00 00         	movl	$0x0, -0x28(%rbp)
     1c0: 8b 45 d8                     	movl	-0x28(%rbp), %eax
     1c3: 3b 45 fc                     	cmpl	-0x4(%rbp), %eax
     1c6: 7d 72                        	jge	0x23a <sum_varargs+0x10a>
     1c8: 48 8d 45 e0                  	leaq	-0x20(%rbp), %rax
     1cc: 48 89 85 10 ff ff ff         	movq	%rax, -0xf0(%rbp)
     1d3: 8b 45 e0                     	movl	-0x20(%rbp), %eax
     1d6: 89 85 1c ff ff ff            	movl	%eax, -0xe4(%rbp)
     1dc: 83 f8 28                     	cmpl	$0x28, %eax
     1df: 77 22                        	ja	0x203 <sum_varargs+0xd3>
     1e1: 48 8b 8d 10 ff ff ff         	movq	-0xf0(%rbp), %rcx
     1e8: 8b 95 1c ff ff ff            	movl	-0xe4(%rbp), %edx
     1ee: 48 63 c2                     	movslq	%edx, %rax
     1f1: 48 03 41 10                  	addq	0x10(%rcx), %rax
     1f5: 83 c2 08                     	addl	$0x8, %edx
     1f8: 89 11                        	movl	%edx, (%rcx)
     1fa: 48 89 85 08 ff ff ff         	movq	%rax, -0xf8(%rbp)
     201: eb 1d                        	jmp	0x220 <sum_varargs+0xf0>
     203: 48 8b 8d 10 ff ff ff         	movq	-0xf0(%rbp), %rcx
     20a: 48 8b 41 08                  	movq	0x8(%rcx), %rax
     20e: 48 89 c2                     	movq	%rax, %rdx
     211: 48 83 c2 08                  	addq	$0x8, %rdx
     215: 48 89 51 08                  	movq	%rdx, 0x8(%rcx)
     219: 48 89 85 08 ff ff ff         	movq	%rax, -0xf8(%rbp)
     220: 48 8b 85 08 ff ff ff         	movq	-0xf8(%rbp), %rax
     227: 8b 00                        	movl	(%rax), %eax
     229: 03 45 dc                     	addl	-0x24(%rbp), %eax
     22c: 89 45 dc                     	movl	%eax, -0x24(%rbp)
     22f: 8b 45 d8                     	movl	-0x28(%rbp), %eax
     232: 83 c0 01                     	addl	$0x1, %eax
     235: 89 45 d8                     	movl	%eax, -0x28(%rbp)
     238: eb 86                        	jmp	0x1c0 <sum_varargs+0x90>
     23a: 8b 45 dc                     	movl	-0x24(%rbp), %eax
     23d: 48 81 c4 80 00 00 00         	addq	$0x80, %rsp
     244: 5d                           	popq	%rbp
     245: c3                           	retq
     246: 66 2e 0f 1f 84 00 00 00 00 00	nopw	%cs:(%rax,%rax)

0000000000000250 <keeps>:
     250: 55                           	pushq	%rbp
     251: 48 89 e5                     	movq	%rsp, %rbp
     254: 48 83 ec 10                  	subq	$0x10, %rsp
     258: 89 7d fc                     	movl	%edi, -0x4(%rbp)
     25b: c7 45 f8 00 00 00 00         	movl	$0x0, -0x8(%rbp)
     262: c7 45 f4 00 00 00 00         	movl	$0x0, -0xc(%rbp)
     269: 8b 45 f4                     	movl	-0xc(%rbp), %eax
     26c: 3b 45 fc                     	cmpl	-0x4(%rbp), %eax
     26f: 7d 19                        	jge	0x28a <keeps+0x3a>
     271: 8b 7d f4                     	movl	-0xc(%rbp), %edi
     274: e8 00 00 00 00               	callq	0x279 <keeps+0x29>
		0000000000000275:  R_X86_64_PLT32	ext-0x4
     279: 03 45 f8                     	addl	-0x8(%rbp), %eax
     27c: 89 45 f8                     	movl	%eax, -0x8(%rbp)
     27f: 8b 45 f4                     	movl	-0xc(%rbp), %eax
     282: 83 c0 01                     	addl	$0x1, %eax
     285: 89 45 f4                     	movl	%eax, -0xc(%rbp)
     288: eb df                        	jmp	0x269 <keeps+0x19>
     28a: 8b 45 f8                     	movl	-0x8(%rbp), %eax
     28d: 48 83 c4 10                  	addq	$0x10, %rsp
     291: 5d                           	popq	%rbp
     292: c3                           	retq
     293: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       	nopw	%cs:(%rax,%rax)

00000000000002a0 <call8>:
     2a0: 55                           	pushq	%rbp
     2a1: 48 89 e5                     	movq	%rsp, %rbp
     2a4: 48 83 ec 10                  	subq	$0x10, %rsp
     2a8: bf 01 00 00 00               	movl	$0x1, %edi
     2ad: be 02 00 00 00               	movl	$0x2, %esi
     2b2: ba 03 00 00 00               	movl	$0x3, %edx
     2b7: b9 04 00 00 00               	movl	$0x4, %ecx
     2bc: 41 b8 05 00 00 00            	movl	$0x5, %r8d
     2c2: 41 b9 06 00 00 00            	movl	$0x6, %r9d
     2c8: 48 c7 04 24 07 00 00 00      	movq	$0x7, (%rsp)
     2d0: 48 c7 44 24 08 08 00 00 00   	movq	$0x8, 0x8(%rsp)
     2d9: e8 00 00 00 00               	callq	0x2de <call8+0x3e>
		00000000000002da:  R_X86_64_PLT32	ext8-0x4
     2de: 48 83 c4 10                  	addq	$0x10, %rsp
     2e2: 5d                           	popq	%rbp
     2e3: c3                           	retq
     2e4: 66 66 66 2e 0f 1f 84 00 00 00 00 00  	nopw	%cs:(%rax,%rax)

00000000000002f0 <call_mixed>:
     2f0: 55                           	pushq	%rbp
     2f1: 48 89 e5                     	movq	%rsp, %rbp
     2f4: bf 01 00 00 00               	movl	$0x1, %edi
     2f9: f2 0f 10 05 00 00 00 00      	movsd	(%rip), %xmm0           # 0x301 <call_mixed+0x11>
		00000000000002fd:  R_X86_64_PC32	.LCPI8_0-0x4
     301: be 03 00 00 00               	movl	$0x3, %esi
     306: f3 0f 10 0d 00 00 00 00      	movss	(%rip), %xmm1           # 0x30e <call_mixed+0x1e>
		000000000000030a:  R_X86_64_PC32	.LCPI8_1-0x4
     30e: e8 00 00 00 00               	callq	0x313 <call_mixed+0x23>
		000000000000030f:  R_X86_64_PLT32	extmixed-0x4
     313: 5d                           	popq	%rbp
     314: c3                           	retq
     315: 66 66 2e 0f 1f 84 00 00 00 00 00     	nopw	%cs:(%rax,%rax)

0000000000000320 <call_varargs>:
     320: 55                           	pushq	%rbp
     321: 48 89 e5                     	movq	%rsp, %rbp
     324: bf 03 00 00 00               	movl	$0x3, %edi
     329: be 0a 00 00 00               	movl	$0xa, %esi
     32e: ba 14 00 00 00               	movl	$0x14, %edx
     333: b9 1e 00 00 00               	movl	$0x1e, %ecx
     338: b0 00                        	movb	$0x0, %al
     33a: e8 00 00 00 00               	callq	0x33f <call_varargs+0x1f>
		000000000000033b:  R_X86_64_PLT32	extva-0x4
     33f: 5d                           	popq	%rbp
     340: c3                           	retq
     341: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 	nopw	%cs:(%rax,%rax)

0000000000000350 <call_pair>:
     350: 55                           	pushq	%rbp
     351: 48 89 e5                     	movq	%rsp, %rbp
     354: 48 83 ec 20                  	subq	$0x20, %rsp
     358: 48 8b 05 00 00 00 00         	movq	(%rip), %rax            # 0x35f <call_pair+0xf>
		000000000000035b:  R_X86_64_PC32	.L__const.call_pair.p-0x4
     35f: 48 89 45 f0                  	movq	%rax, -0x10(%rbp)
     363: 48 8b 05 00 00 00 00         	movq	(%rip), %rax            # 0x36a <call_pair+0x1a>
		0000000000000366:  R_X86_64_PC32	.L__const.call_pair.p+0x4
     36a: 48 89 45 f8                  	movq	%rax, -0x8(%rbp)
     36e: 48 8b 7d f0                  	movq	-0x10(%rbp), %rdi
     372: 48 8b 75 f8                  	movq	-0x8(%rbp), %rsi
     376: e8 00 00 00 00               	callq	0x37b <call_pair+0x2b>
		0000000000000377:  R_X86_64_PLT32	extpair-0x4
     37b: 48 89 45 e0                  	movq	%rax, -0x20(%rbp)
     37f: 48 89 55 e8                  	movq	%rdx, -0x18(%rbp)
     383: 48 8b 45 e8                  	movq	-0x18(%rbp), %rax
     387: 48 83 c4 20                  	addq	$0x20, %rsp
     38b: 5d                           	popq	%rbp
     38c: c3                           	retq
     38d: 0f 1f 00                     	nopl	(%rax)

0000000000000390 <call_big>:
     390: 55                           	pushq	%rbp
     391: 48 89 e5                     	movq	%rsp, %rbp
     394: 48 83 ec 20                  	subq	$0x20, %rsp
     398: 48 8d 7d e0                  	leaq	-0x20(%rbp), %rdi
     39c: be 09 00 00 00               	movl	$0x9, %esi
     3a1: e8 00 00 00 00               	callq	0x3a6 <call_big+0x16>
		00000000000003a2:  R_X86_64_PLT32	extbig-0x4
     3a6: 48 8b 45 f0                  	movq	-0x10(%rbp), %rax
     3aa: 48 83 c4 20                  	addq	$0x20, %rsp
     3ae: 5d                           	popq	%rbp
     3af: c3                           	retq
