- fverbose-asmでもう少し詳しくなった。
.file "foo.c" # GNU C version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) (i686-pc-cygwin) # compiled by GNU C version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125). # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 # options passed: -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix # -idirafter -idirafter -mtune=pentiumpro -auxbase -O0 -fverbose-asm # options enabled: -feliminate-unused-debug-types -fpeephole # -ffunction-cse -fkeep-static-consts -freg-struct-return -fgcse-lm # -fgcse-sm -fgcse-las -fsched-interblock -fsched-spec # -fsched-stalled-insns -fsched-stalled-insns-dep -fbranch-count-reg # -fcommon -fverbose-asm -fargument-alias -fzero-initialized-in-bss # -fident -fmath-errno -ftrapping-math -m80387 -mhard-float # -mno-soft-float -malign-double -mieee-fp -mfp-ret-in-387 # -mstack-arg-probe -maccumulate-outgoing-args -mno-red-zone # -mtune=pentiumpro -march=i386 .def ___main; .scl 2; .type 32; .endef .text .globl _main .def _main; .scl 2; .type 32; .endef _main: pushl %ebp # movl %esp, %ebp #, subl $24, %esp #, andl $-16, %esp #, movl $0, %eax #, tmp59 addl $15, %eax #, tmp60 addl $15, %eax #, tmp61 shrl $4, %eax #, tmp62 sall $4, %eax #, tmp64 movl %eax, -16(%ebp) # tmp64, movl -16(%ebp), %eax #, call __alloca call ___main # movl $1, -4(%ebp) #, i movl $2, -8(%ebp) #, j movl -8(%ebp), %eax # j, j addl -4(%ebp), %eax # i, tmp71 movl %eax, -12(%ebp) # tmp71, k movl $0, %eax #, <result> leave ret
tmp?