[Bug target/58314] SH4 error: 'asm' operand requires impossible reload
chrbr at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 12 12:57:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58314
chrbr at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|c |target
--- Comment #1 from chrbr at gcc dot gnu.org ---
Indeed, not directly related to the asm, we end-up generating a pattern
(insn 195 194 64 2 (set (reg:HI 261 [ x ])
(reg:HI 0 r0)) pr58314.c:12 261 {*movhi_reg_reg}
(nil))
with reg 261 that can't be reloaded and fails the constrain_operands in
if (asm_noperands (PATTERN (insn)) >= 0)
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
if (p != insn && INSN_P (p)
&& GET_CODE (PATTERN (p)) != USE
&& (recog_memoized (p) < 0
|| (extract_insn (p), ! constrain_operands (1))))
{
error_for_asm (insn,
"%<asm%> operand requires "
"impossible reload");
delete_insn (p);
}
}
the pattern movhi_reg_reg not accepting memory reload. This is a regression
this the constraints we removed from the *movhi patten (that accepted memory
spills)
More information about the Gcc-bugs
mailing list