[Bug target/26778] [4.0/4.1/4.2 regression] GCC4 moves the result of a conditional block through inadequate registers
bonzini at gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Aug 7 08:12:00 GMT 2006
------- Comment #6 from bonzini at gnu dot org 2006-08-07 08:12 -------
Also, note that the problem is not only that SSE is used to store th. Even if
we enable SSE2, we do not use the SSE register to do the thdb.l++ and instead
do this:
movsd %xmm2, -8(%ebp)
movl -8(%ebp), %eax
movl -4(%ebp), %edx
addl $1, %eax
adcl $0, %edx
movl %eax, -8(%ebp)
movl %edx, -4(%ebp)
movsd -8(%ebp), %xmm0
We'd need SRA for unions (using VIEW_CONVERT_EXPR) in order to do that.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26778
More information about the Gcc-bugs
mailing list