igy nez ki asm-ben:
az elso 2 'call phex' kozotti resz az erdekes, ott cseszodik el a mat tartalma.
xmm regiszterekkel mokol valamit, de ezt a gnu asm-et sose vagtam, meg az sse utasitasokat se, szoval passz.
movl $0, -168(%rbp) jmp .L184 .L185: movl -168(%rbp), %eax cltq salq $4, %rax addq %rbp, %rax subq $60, %rax movss (%rax), %xmm0 movss %xmm0, -156(%rbp) movl -168(%rbp), %eax cltq salq $4, %rax addq %rbp, %rax subq $56, %rax movss (%rax), %xmm0 movl -168(%rbp), %eax cltq salq $4, %rax addq %rbp, %rax subq $60, %rax movss %xmm0, (%rax) movl -168(%rbp), %eax cltq salq $4, %rax addq %rbp, %rax subq $56, %rax movss -156(%rbp), %xmm0 movss %xmm0, (%rax) addl $1, -168(%rbp) .L184: cmpl $2, -168(%rbp) jle .L185
ez mar tenyleg ilyen wtf... ha a jol mukodo verziot nezem asm-ben, a fenti resz (a 2 phex kozotti ciklus) pont ugyanigy nez ki. de megis mas lesz az eredmeny...
szerk: nem jo, -O4 nelkul futott a -S, -O4-el tok mas de ott kioptimalizalta meg a phex-et is belole ;)