[Bug target/60604] [4.9 Regression] GCC incorrectly compiles s_csinh function on MIPS32 (32bit fp)
sje at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 27 18:42:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60604
--- Comment #7 from Steve Ellcey <sje at gcc dot gnu.org> ---
I didn't notice that just before the emit-rtl.c (validate_subregs) comment
that says:
/* Subregs involving floating point modes are not allowed to
change size. Therefore (subreg:DI (reg:DF) 0) is fine, but
(subreg:SI (reg:DF) 0) isn't. */
Is another comment (and code) that has:
/* ??? This should not be here. Temporarily continue to allow word_mode
subregs of anything. The most common offender is (subreg:SI (reg:DF)).
Generally, backends are doing something sketchy but it'll take time to
fix them all. */
if (omode == word_mode)
;
This is why we are creating the 'bad' subregs.
More information about the Gcc-bugs
mailing list