This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Reloading failes
- From: andersa at tiscali dot no
- To: gcc at gcc dot gnu dot org
- Date: Mon, 7 Jul 2003 15:15:52 +0200
- Subject: Reloading failes
Hi,
I'm developing a new port of GCC, and do need some help.
I'm getting an unrecognizable insn that I can't get rid of. The recognizable
insn
(set (reg:SI 2 r3)
(mem/s:SI (plus:SI (reg/v/f:SI 104)
(const_int 4))))
is changed in reload() in reload1.c. The pseudo register 104 is replaced
by a memory address, and the result is becoming
(set (reg:SI 2 r3)
(mem/s:SI (plus:SI (mem:SI (plus:SI (reg/f:SI 6 r7)
(const_int -16)))
(const_int 4))))
which is an illegal pattern. How can I tell GCC that this pattern isn't
legal or needs reloading? I have defined SECONDARY_RELOAD_CLASS and GO_IF_LEGITIMATE_ADDRESS,
but they are only used earlier in the compilation phase.
Anders