[Bug rtl-optimization/59461] missed zero-extension elimination in the combiner
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 11 22:39:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59461
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Author: ebotcazou
Date: Fri Nov 11 22:38:33 2016
New Revision: 242326
URL: https://gcc.gnu.org/viewcvs?rev=242326&root=gcc&view=rev
Log:
PR rtl-optimization/59461
* doc/rtl.texi (paradoxical subregs): Add missing word.
* combine.c (reg_nonzero_bits_for_combine): Do not discard results
in modes with precision larger than that of last_set_mode.
* rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is
set and LOAD_EXTEND_OP is appropriate, propagate results from inner
REGs to paradoxical SUBREGs.
(num_sign_bit_copies1) <SUBREG>: Likewise. Check that the mode is not
larger than a word before invoking LOAD_EXTEND_OP on it.
Added:
trunk/gcc/testsuite/gcc.target/sparc/20161111-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/doc/rtl.texi
trunk/gcc/rtlanal.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list