------- Comment #2 from torbenh at gmx dot de 2010-01-06 13:19 ------- the generated x86_64 asm: _Z11fill_bufferPfm: .LFB3: testq %rsi, %rsi je .L4 xorl %eax, %eax movss .LC0(%rip), %xmm2 .p2align 4,,10 .p2align 3 .L3: movss ramp(%rip), %xmm1 movaps %xmm1, %xmm0 addss %xmm2, %xmm0 movss %xmm0, ramp(%rip) movss %xmm1, (%rdi,%rax,4) addq $1, %rax cmpq %rax, %rsi ja .L3 .L4: rep ret while gcc patched with -fnoalias generates: _Z11fill_bufferPfm: .LFB1: .cfi_startproc .cfi_personality 0x3,__gxx_personality_v0 testq %rsi, %rsi je .L4 movss ramp(%rip), %xmm0 xorl %eax, %eax movss .LC0(%rip), %xmm1 .p2align 4,,10 .p2align 3 .L3: movss %xmm0, (%rdi,%rax,4) addq $1, %rax addss %xmm1, %xmm0 cmpq %rax, %rsi ja .L3 movss %xmm0, ramp(%rip) .L4: rep ret
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42633