This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: VAX sltu and sgeu patterns
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Subject: Re: PATCH: VAX sltu and sgeu patterns
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 17 Aug 2000 18:01:03 -0600
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <200008172020.QAA06904@hiauly1.hia.nrc.ca>you write:
> The following patch fixes the reload problem which arises from statements
> such as `f(a<b);'. Other issues have prevented a full bootstrap test,
> although I hope to complete one soon.
>
> Dave
> --
> J. David Anglin dave.anglin@nrc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-6
> 605)
>
> 2000-08-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
>
> * vax.md (sltu, sgeu): Change operand type to register_operand to
> prevent memory input reloads.
Thinking more about this, I believe you can still lose -- you could have a
pseudo which does not get a hard register. That would trigger an input
reload, which would trigger the no input reloads rule for cc0 using insns.
The more I think about it, the more I think it's better to include the
comparison in the pattern itself. Then split it after reload. This would
ensure the cc0 setter & user stay together and shouldn't inhibit any
significant optimizations.
jeff