CANNOT_CHANGE_MODE_CLASS inconsistency
Jan Hubicka
jh@suse.cz
Thu Dec 12 08:03:00 GMT 2002
Hi,
How is the FROM and TO arguemnts of the macro supposed to work.
IE if I am validating the validity of (subreg:outer (reg:inner))
is FROM inner and TO outer? Or is that other way around (why) or
dependent on something (like different for destination, where de-facto
subreg works in oposite way)
My problem is that I need to prohibit nonparadoxical subregs and the use
seems to be quite random. For instance reload does:
(class, CANNOT_CHANGE_MODE_CLASS (GET_MODE (SUBREG_REG (in)),
inmode, SUBREG_BYTE (in)))
(like I would expect)
and other places, like simplify-subreg or register_operand does:
&& REG_CANNOT_CHANGE_MODE_P (REGNO (to),
GET_MODE (to),
GET_MODE (x),
SUBREG_BYTE (to)))
(IE other way around).
Why?
Honza
More information about the Gcc
mailing list