This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
invalid insn generated
- From: roy rosen <roy dot 1rosen at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 23 Jun 2010 14:06:49 +0300
- Subject: invalid insn generated
Hi,
In my port I get to gen_reload to the lines
/* If IN is a simple operand, use gen_move_insn. */
else if (OBJECT_P (in) || GET_CODE (in) == SUBREG)
{
static int xxx;
xxx = OBJECT_P (in);
tem = emit_insn (gen_move_insn (out, in));
/* IN may contain a LABEL_REF, if so add a REG_LABEL_OPERAND note. */
mark_jump_label (in, tem, 0);
}
the emit_insn which should emit a move insn gets as out a register
from class D and as in the Stack pointer.
In my port there is no insn which can write directly from sp to d. so
the emitted insn is invalid and the compilation terminates.
What might be the problem?
Is it possible to arrive to this point with such arguments and later
to fix it or does the problem begin earlier somewhere.
Thanks, Roy.