re PR rtl-optimization/35838 (FAIL: 22_locale/num_get/get/char/16.cc execution test, and 76 others)

gcc/
	PR rtl-optimization/35838
	* dse.c (find_shift_sequence): Use subreg_lowpart_offset to work
	out the byte offset of the first subreg.

From-SVN: r134411
This commit is contained in:
Richard Sandiford 2008-04-17 20:20:13 +00:00 committed by Richard Sandiford
parent c2b814b9ff
commit de907943a5
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2008-04-17 Richard Sandiford <rsandifo@nildram.co.uk>
PR rtl-optimization/35838
* dse.c (find_shift_sequence): Use subreg_lowpart_offset to work
out the byte offset of the first subreg.
2008-04-17 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands

View File

@ -1446,7 +1446,7 @@ find_shift_sequence (int access_size,
new_mode = GET_MODE_WIDER_MODE (new_mode))
{
rtx target, new_reg, shift_seq, insn, new_lhs;
int cost;
int cost, offset;
/* Try a wider mode if truncating the store mode to NEW_MODE
requires a real instruction. */
@ -1460,8 +1460,9 @@ find_shift_sequence (int access_size,
if (!CONSTANT_P (store_info->rhs)
&& !MODES_TIEABLE_P (new_mode, store_mode))
continue;
offset = subreg_lowpart_offset (new_mode, store_mode);
new_lhs = simplify_gen_subreg (new_mode, copy_rtx (store_info->rhs),
store_mode, 0);
store_mode, offset);
if (new_lhs == NULL_RTX)
continue;