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