[Bug target/41551] ia64: ICE: in instantiate_virtual_regs_in_insn, at function.c:1630
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Oct 2 21:04:00 GMT 2009
------- Comment #2 from jakub at gcc dot gnu dot org 2009-10-02 21:04 -------
Perhaps better don't do something as non-sensical as this.
Anyway, we shouldn't ICE on it.
--- function.c.jj 2009-09-29 15:10:43.000000000 +0200
+++ function.c 2009-10-02 23:01:49.000000000 +0200
@@ -1598,7 +1598,10 @@ instantiate_virtual_regs_in_insn (rtx in
if (!safe_insn_predicate (insn_code, i, x))
{
start_sequence ();
- x = force_reg (insn_data[insn_code].operand[i].mode, x);
+ if (REG_P (x))
+ x = copy_to_reg (x);
+ else
+ x = force_reg (insn_data[insn_code].operand[i].mode, x);
seq = get_insns ();
end_sequence ();
if (seq)
should fix this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41551
More information about the Gcc-bugs
mailing list