dse.c (find_shift_sequence): Allow word as well as subword shifts.
commit348eea5f00fe47fa13c235e9e93c082b8b285f97
authorRichard Sandiford <rsandifo@nildram.co.uk>
Sun, 16 Sep 2007 21:02:54 +0000 (16 21:02 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 16 Sep 2007 21:02:54 +0000 (16 21:02 +0000)
tree24f70bdc3e262c76611c228272c31e27b2f21f85
parent0ee3f0a892918371a5245de973480bc443126558
dse.c (find_shift_sequence): Allow word as well as subword shifts.

gcc/
* dse.c (find_shift_sequence): Allow word as well as subword shifts.
Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
Fix the call to insn_rtx_cost.  Skip access sizes that require a
real truncation of the store register.  Use convert_move instead
of gen_lowpart when narrowing the result.
(replace_read): Use convert_move instead of gen_lowpart when
narrowing the store rhs.

gcc/testsuite/
* gcc.target/mips/dse-1.c: New test.

From-SVN: r128530
gcc/ChangeLog
gcc/dse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/dse-1.c [new file with mode: 0644]