C code x86 asm MIPS asm x86 asm -O1 MIPS asm -O1 x86 asm -O4 MIPS asm -O4
#include 
//label: a = a + b + c + d +... +z;...
int main()
{
  int a, b, c, d, e, f, g, h, i, j,...
  a =a + b + c + d + e + f + g + h ...
  return a;
}
	.file	"13.c"
	.text
.globl main
	.type	main, @function
main:
	leal	4(%esp), %ecx
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ecx
	subl	$112, %esp
	movl	-104(%ebp), %eax
	addl	-108(%ebp), %eax
	addl	-100(%ebp), %eax
	addl	-96(%ebp), %eax
	addl	-92(%ebp), %eax
	addl	-88(%ebp), %eax
	addl	-84(%ebp), %eax
	addl	-80(%ebp), %eax
	addl	-76(%ebp), %eax
	addl	-72(%ebp), %eax
	addl	-68(%ebp), %eax
	addl	-64(%ebp), %eax
	addl	-60(%ebp), %eax
	addl	-56(%ebp), %eax
	addl	-52(%ebp), %eax
	addl	-48(%ebp), %eax
	addl	-44(%ebp), %eax
	addl	-40(%ebp), %eax
	addl	-36(%ebp), %eax
	addl	-32(%ebp), %eax
	addl	-28(%ebp), %eax
	addl	-24(%ebp), %eax
	addl	-20(%ebp), %eax
	addl	-16(%ebp), %eax
	addl	-12(%ebp), %eax
	addl	-8(%ebp), %eax
	movl	%eax, -108(%ebp)
	movl	-108(%ebp), %eax
	addl	$112, %esp
	popl	%ecx
	popl	%ebp
	leal	-4(%ecx), %esp
	ret
	.size	main, .-main
	.ident	"GCC: (GNU) 4.1.2 20080704 ...
	.section	.note.GNU-stack,"",@progb...
	.file	1 "13.c"
	.section .mdebug.abi32
	.previous
	.abicalls
	.text
	.align	2
	.globl	main
	.ent	main
	.type	main, @function
main:
	.frame	$fp,120,$31		# vars= 104, r...
	.mask	0x40000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-120
	sw	$fp,112($sp)
	move	$fp,$sp
	lw	$3,8($fp)
	lw	$2,12($fp)
	addu	$3,$3,$2
	lw	$2,16($fp)
	addu	$3,$3,$2
	lw	$2,20($fp)
	addu	$3,$3,$2
	lw	$2,24($fp)
	addu	$3,$3,$2
	lw	$2,28($fp)
	addu	$3,$3,$2
	lw	$2,32($fp)
	addu	$3,$3,$2
	lw	$2,36($fp)
	addu	$3,$3,$2
	lw	$2,40($fp)
	addu	$3,$3,$2
	lw	$2,44($fp)
	addu	$3,$3,$2
	lw	$2,48($fp)
	addu	$3,$3,$2
	lw	$2,52($fp)
	addu	$3,$3,$2
	lw	$2,56($fp)
	addu	$3,$3,$2
	lw	$2,60($fp)
	addu	$3,$3,$2
	lw	$2,64($fp)
	addu	$3,$3,$2
	lw	$2,68($fp)
	addu	$3,$3,$2
	lw	$2,72($fp)
	addu	$3,$3,$2
	lw	$2,76($fp)
	addu	$3,$3,$2
	lw	$2,80($fp)
	addu	$3,$3,$2
	lw	$2,84($fp)
	addu	$3,$3,$2
	lw	$2,88($fp)
	addu	$3,$3,$2
	lw	$2,92($fp)
	addu	$3,$3,$2
	lw	$2,96($fp)
	addu	$3,$3,$2
	lw	$2,100($fp)
	addu	$3,$3,$2
	lw	$2,104($fp)
	addu	$3,$3,$2
	lw	$2,108($fp)
	addu	$2,$3,$2
	sw	$2,8($fp)
	lw	$2,8($fp)
	move	$sp,$fp
	lw	$fp,112($sp)
	addiu	$sp,$sp,120
	j	$31
	.end	main
	.ident	"GCC: (GNU) 3.4.5"
	.file	"13.c"
	.text
.globl main
	.type	main, @function
main:
	leal	4(%esp), %ecx
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ecx
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	popl	%ecx
	popl	%ebp
	leal	-4(%ecx), %esp
	ret
	.size	main, .-main
	.ident	"GCC: (GNU) 4.1.2 20080704 ...
	.section	.note.GNU-stack,"",@progb...
	.file	1 "13.c"
	.section .mdebug.abi32
	.previous
	.abicalls
	.text
	.align	2
	.globl	main
	.ent	main
	.type	main, @function
main:
	.frame	$sp,0,$31		# vars= 0, regs=...
	.mask	0x00000000,0
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addu	$2,$2,$2
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	addu	$2,$2,$3
	.set	noreorder
	.set	nomacro
	j	$31
	addu	$2,$2,$3
	.set	macro
	.set	reorder

	.end	main
	.ident	"GCC: (GNU) 3.4.5"
	.file	"13.c"
	.text
	.p2align 4,,15
.globl main
	.type	main, @function
main:
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	leal	4(%esp), %ecx
	addl	%eax, %eax
	andl	$-16, %esp
	addl	%eax, %eax
	pushl	-4(%ecx)
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	addl	%eax, %eax
	pushl	%ebp
	addl	%eax, %eax
	movl	%esp, %ebp
	addl	%eax, %eax
	pushl	%ecx
	addl	%eax, %eax
	popl	%ecx
	addl	%eax, %eax
	popl	%ebp
	leal	-4(%ecx), %esp
	ret
	.size	main, .-main
	.ident	"GCC: (GNU) 4.1.2 20080704 ...
	.section	.note.GNU-stack,"",@progb...
	.file	1 "13.c"
	.section .mdebug.abi32
	.previous
	.abicalls
	.text
	.align	2
	.globl	main
	.ent	main
	.type	main, @function
main:
	.frame	$sp,0,$31		# vars= 0, regs=...
	.mask	0x00000000,0
	.fmask	0x00000000,0
	.set	noreorder
	.set	nomacro
	
	addu	$11,$2,$2
	addu	$10,$11,$3
	addu	$9,$10,$3
	addu	$8,$9,$3
	addu	$7,$8,$3
	addu	$6,$7,$3
	addu	$5,$6,$3
	addu	$4,$5,$3
	addu	$2,$4,$3
	addu	$25,$2,$3
	addu	$24,$25,$3
	addu	$15,$24,$3
	addu	$14,$15,$3
	addu	$13,$14,$3
	addu	$12,$13,$3
	addu	$11,$12,$3
	addu	$10,$11,$3
	addu	$9,$10,$3
	addu	$8,$9,$3
	addu	$7,$8,$3
	addu	$6,$7,$3
	addu	$5,$6,$3
	addu	$4,$5,$3
	addu	$2,$4,$3
	j	$31
	addu	$2,$2,$3

	.set	macro
	.set	reorder
	.end	main
	.ident	"GCC: (GNU) 3.4.5"