This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Floating point registers vs. LOAD_EXTEND_OP on alpha
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: roger at eyesopen dot com (Roger Sayle)
- Cc: gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, joern dot rennecke at superh dot com (Joern Rennecke), rth at redhat dot com (Richard Henderson)
- Date: Mon, 19 Jan 2004 20:32:52 +0000 (GMT)
- Subject: Re: Floating point registers vs. LOAD_EXTEND_OP on alpha
> Hopefully, this analysis is enough for an alpha maintainer to determine
> whether Joern needs an additional check in his post-reload patch or if
> the alpha backend's LOAD_EXTEND_OP should claim to be extending in these
> modes.
I could check
CANNOT_CHANGE_MODE_CLASS (GET_MODE (op), word_mode,
REGNO_REG_CLASS (REGNO (SET_DEST (set)))) ,
but there is similar code in reload_cse_simplify_set that would also
need to be changed, and we'd have to document that LOAD_EXTEND_OP
does not apply to hard registers whose reg class cannot change to
word_mode or any integral integer mode between the mode of the
memory reference and word_mode. (If it could do the latter change,
we'd need data flow analysis to find out if an extension is suposed
to take place).