is there a reason for code output like the following or is this a bug? if it is I can try to provide a simple example.
movl %ebx, -200(%ebp) movl %ebx, -196(%ebp) movl %eax, 4(%esp) movl -200(%ebp), %edx movl -196(%ebp), %ecx
gcc 3.4.3, -O3 -march=pentium4 -mtune=pentium4 -mfpmatch=sse -msse2 no "volatile" involved.
-- Stefan Strasser