PR rtl-optimization/59461
commit1998c023a3ed6c59d8f1eea3a34528a9d6a93fe1
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 11 Nov 2016 22:38:33 +0000 (11 22:38 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 11 Nov 2016 22:38:33 +0000 (11 22:38 +0000)
treed0c42b5c68c9cac41892a474b5a2eeccd1791ba7
parent15bd70ad1a73a985914a0d3d34c4058cd29a673a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242326 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c
gcc/doc/rtl.texi
gcc/rtlanal.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sparc/20161111-1.c [new file with mode: 0644]