Commit Message

Hello!
As suggested by Richard S. [1], after the patch that converts subreg:M
(op:N (...)(...)) to op:M (subreg:M (...) subreg:M (...)), we can
remove several peephole2 patterns that handle subregs of PLUS, MINUS
and MULT operators. I have attached RFC prototype patch that will
trigger an ICE when to-be-removed pattern triggers, with the intention
that these patterns wil be removed entirely (An "invalid" pattern was
indeed generated elsewhere, see patch).
2012-10-18 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
(simple lea to add/shift peephole2s): Remove peephole2s that operate
on subregs of DImode operations.
(*mov<mode>_insv_1_rex64): Use gen_int_mode to truncate
const_int RTX to QImode value.
(*movsi_insv_1): Ditto.
The patch was bootstrapped and regression tested on
x86_64-pc-linux-gnu {,-m32} without problems, but I will ask H.J. to
test the patch on x32 before it is committed to mainline SVN.
[1] http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01856.html
Uros.