[Bug rtl-optimization/34312] [4.3 regression] spill failure with -O2 -fPIC -march=pentium-m on i386
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Dec 3 13:45:00 GMT 2007
------- Comment #4 from ubizjak at gmail dot com 2007-12-03 13:45 -------
This all comes down to PR 19398. Since JamoClusterSearch() is defined as
static, gcc switches to register passing convention, and this uses %eax, %edx
and %ecx. %ebx is used as a PIC register, so we are out of QImode registers.
The pattern is defined as:
(define_insn "*lshrsi3_1"
[(set (match_operand:SI 0 "nonimmediate_operand" "=rm,rm")
(lshiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
(match_operand:QI 2 "nonmemory_operand" "I,c")))
(clobber (reg:CC FLAGS_REG))]
so reload is in fact free to use "m" alternative. Unfortunatelly, reload rather
dies than touches memory.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |19398
Component|target |rtl-optimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34312
More information about the Gcc-bugs
mailing list