This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: class_narrowest_mode for MODE_INT
- From: qinfeng dot zhang at philips dot com
- To: Jim Wilson <wilson at specifixinc dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 6 Nov 2003 09:39:38 +0800
- Subject: Re: class_narrowest_mode for MODE_INT
Thank you very much.
Is the register for saving the comparison result, BImode? The register with BImode isn't assigned to a variable with SImode, is it?
To: Qinfeng Zhang/SHA/RESEARCH/PHILIPS@APAC
cc: gcc@gcc.gnu.org
Subject: Re: class_narrowest_mode for MODE_INT
Jim Wilson Classification:
<wilson@specifixinc.com>
2003-11-06 09:23
qinfeng.zhang@philips.com wrote:
> I have a question about BImode. In the source file "rtl.c", it defined the class_narrowest_mode of MODE_INT as QImode.
> Although there are some comments about it, I don't know clearly. Anyone would like explain it?
The compiler won't work if BImode is specified as the narrowest integer
mode. That should be clear enough.
For details, see the comment. If we make BImode the narrowest integer
mode, then the middle end will start using it for things like bitfields,
and then every target fails because none of them have BImode patterns in
the md file. We are also missing stuff for converting to/from BImode
and other integer modes.
BImode was added for a very specific purpose, for representing the IA-64
predicate registers which are 1 bit wide. It has since been used for a
few other targets for special purpose registers 1 bit wide. If you are
trying to use it for anything else, you are probably doing something wrong.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com