This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
- From: "andrewhutchinson at cox dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Mar 2005 21:20:18 -0000
- Subject: [Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
- References: <20041031125117.18251.ralf_corsepius@rtems.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From andrewhutchinson at cox dot net 2005-03-12 21:20 -------
(In reply to comment #18)
> (In reply to comment #17)
I think it is always true but the original used the same predicate and test (so
I played safe).
The pattern only helps if it is a constant. I also thought it should handle
variable block size. However, I found gcc already produces optimal code for
that case without any help.
> > Marek, can you review this bug, the attached patches, and possibly approve
> > committing the fix?
>
> I'm looking into it right now. I'm not sure about one thing: should "movmemhi"
> handle only constant block sizes, or variable block sizes too? If variable -
> is it safe to assume nonzero? (now 0 means 65536)
>
> Operand 2 (block size) has the "const_int_operand" predicate - doesn't this
> mean that (GET_CODE(operands[2]) == CONST_INT) is always true?
>
> Thanks,
> Marek
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251