[Bug target/15286] ICE cause by reload

dje at watson dot ibm dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 18 01:50:00 GMT 2004


------- 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



More information about the Gcc-bugs mailing list