This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH RFA (Re: Fix ARM bug by splitting up iwmmxt_movsi_insn)
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: Richard dot Earnshaw at arm dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 10 Oct 2003 12:45:29 -0700
- Subject: PATCH RFA (Re: Fix ARM bug by splitting up iwmmxt_movsi_insn)
- References: <200310101011.h9AABBf02786@pc960.cambridge.arm.com>
Richard Earnshaw <rearnsha@arm.com> writes:
> > That leads to the following patch. This patch does not introduce any
> > new testsuite compilation failures. However, most ports don't seem to
> > work this way. In particular, it's possible that with the original
> > code, in some cases, reload will sometimes choose a register in
> > IWMMXT_GR_REGS, whereas with the patched code, it no longer will. I'm
> > not sure, and I'd like to hear any feedback which others may have.
> >
> > (This patch includes a patch to arm_regno_class() which is really a
> > simple bug fix.)
>
> I'm concerned that the overall approach is wrong here.
I'll keep looking at this, and at Daniel's patch. In the meantime,
this part of the patch seems obvious, and Daniel has it also. Is this
OK to check in?
2003-10-10 Ian Lance Taylor <ian@wasabisystems.com>
* config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
Index: config/arm/arm.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.c,v
retrieving revision 1.294
diff -u -p -r1.294 arm.c
--- config/arm/arm.c 7 Oct 2003 08:49:35 -0000 1.294
+++ config/arm/arm.c 10 Oct 2003 19:43:02 -0000
@@ -10300,6 +10300,9 @@ arm_regno_class (int regno)
if (IS_IWMMXT_REGNUM (regno))
return IWMMXT_REGS;
+ if (IS_IWMMXT_GR_REGNUM (regno))
+ return IWMMXT_GR_REGS;
+
return FPA_REGS;
}