This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR target/21299 (reload accepting invalid asm)
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 8 Aug 2006 16:32:03 +0200
- Subject: Re: PR target/21299 (reload accepting invalid asm)
- References: <20060808131508.GE3150@kam.mff.cuni.cz>
On Tue, Aug 08, 2006 at 03:15:08PM +0200, Jan Hubicka wrote:
> + class = REG_CLASS_FROM_CONSTRAINT (c, p);
> + /* When class is too tiny to hold the operand, ignore it.
> + See PR21299. First quickly test if things looks slopy
> + and if they does try to look if register is really
> + available. */
> + if (CLASS_MAX_NREGS (class, GET_MODE (recog_data.operand[i]))
> + > (int)reg_class_size [class])
> + {
IMHO, this is a bug in the i386 definition of CLASS_MAX_NREGS(). It returns
2 for CLASS_MAX_NREGS (AREG, DImode) when class AREG has only one register.
But the documentation is not clear on this matter. I would appreciate some
clarification.
--
Rask Ingemann Lambertsen