This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15286] ICE cause by reload
- From: "dje at watson dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Oct 2004 01:50:36 -0000
- Subject: [Bug target/15286] ICE cause by reload
- References: <20040504204950.15286.fjahanian@apple.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dje at watson dot ibm dot com 2004-10-18 01:50 -------
Subject: Re: ICE cause by reload
(subreg:SI (reg:DI)) normally isn't a problem, except when reg:DI
is assigned to an FPR. If reg:DI was assigned to an FPR, CLASS probably
is NON_SPECIAL_REGS (encompassing both GPRs and FPRs), which would make
the result from CANNOT_CHANGE_MODE_CLASS correct. I'm not sure what
problems would be created if one redefined CANNOT_CHANGE_MODE_CLASS to
return false for that super-class.
The problem is that the pseudo was assigned to an FPR, which is
valid for the CLASS, but not for the instruction. One way of looking at
it is that regclass should not have widened the CLASS to include a
sub-class for which CANNOT_CHANGE_MODE_CLASS is true.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15286