This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: proposal for new single-bit BImode for IA-64
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Subject: Re: proposal for new single-bit BImode for IA-64
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Tue, 02 May 2000 14:34:45 -0700
- cc: gcc-patches at gcc dot gnu dot org
So my thinking would be to add some macros to give the sizes of
the PxImodes instead of adding BImode.
That sounds like a useful extension to my proposal. However, I am concerned
about the practicality of implementing this.
PxImodes have existed for so long as a special case that there may be ports
that use them in strange ways that will break if we try to start optimizing
them.
I would need to change the class of PXImodes from MODE_PARTIAL_INT to MODE_INT.
Otherwise they won't be optimized, and if they aren't optimized, then they
are useless to me. But we can't use MODE_INT unless a bit size is specified,
which means changing every port that uses PxImodes, which is impractical.
This could perhaps be configurable though, use MODE_INT if a bit size was
specified, otherwise use MODE_PARTIAL_INT, which makes the change a little
more complicated.
This means we still have special treatment for PXImodes though, so it isn't
clear if this is worth the bother. This also makes the internals a little
more confusing, since PSImode may behave rather differently from one port to
the next.
In the end, PQImode would end up the same as BImode for the IA-64 port, except
for the name. So there is no benefit to the IA-64 port to use PQImode instead
of BImode. I kind of like the name BImode. Comparison operators are
inherently true/false operations that return a single bit of info. I think
it is useful to have a mode to represent that.
There is one possible advantage I can see; we don't have an additional
MODE_INT mode that might confuse other ports.
I'll take a stab at this to see if I can get something working, but if it
gets to be too much of a mess then I will fall back to adding a BImode.
Jim