Skip to content

Commit

Permalink
re PR middle-end/55403 (ICE building libitm)
Browse files Browse the repository at this point in the history
gcc/
	PR middle-end/55403
	PR middle-end/55391
	* expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
	rather than adjust_bitfield_address to change the mode of a reference.
	(extract_bit_field_1): Likewise.

From-SVN: r193674
  • Loading branch information
rsandifo authored and Richard Sandiford committed Nov 20, 2012
1 parent 96ceaa3 commit e98fc6d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
8 changes: 8 additions & 0 deletions gcc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
2012-11-20 Richard Sandiford <[email protected]>

PR middle-end/55403
PR middle-end/55391
* expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
rather than adjust_bitfield_address to change the mode of a reference.
(extract_bit_field_1): Likewise.

2012-11-20 Michael Meissner <[email protected]>

* config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
Expand Down
10 changes: 5 additions & 5 deletions gcc/expmed.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,7 +645,7 @@ store_bit_field_1 (rtx str_rtx, unsigned HOST_WIDE_INT bitsize,
if (imode != GET_MODE (op0))
{
if (MEM_P (op0))
op0 = adjust_bitfield_address (op0, imode, 0);
op0 = adjust_bitfield_address_size (op0, imode, 0, MEM_SIZE (op0));
else
{
gcc_assert (imode != BLKmode);
Expand Down Expand Up @@ -1380,7 +1380,7 @@ extract_bit_field_1 (rtx str_rtx, unsigned HOST_WIDE_INT bitsize,
if (imode != GET_MODE (op0))
{
if (MEM_P (op0))
op0 = adjust_bitfield_address (op0, imode, 0);
op0 = adjust_bitfield_address_size (op0, imode, 0, MEM_SIZE (op0));
else if (imode != BLKmode)
{
op0 = gen_lowpart (imode, op0);
Expand All @@ -1403,10 +1403,10 @@ extract_bit_field_1 (rtx str_rtx, unsigned HOST_WIDE_INT bitsize,
}
else
{
rtx mem = assign_stack_temp (GET_MODE (op0),
GET_MODE_SIZE (GET_MODE (op0)));
HOST_WIDE_INT size = GET_MODE_SIZE (GET_MODE (op0));
rtx mem = assign_stack_temp (GET_MODE (op0), size);
emit_move_insn (mem, op0);
op0 = adjust_bitfield_address (mem, BLKmode, 0);
op0 = adjust_bitfield_address_size (mem, BLKmode, 0, size);
}
}
}
Expand Down

0 comments on commit e98fc6d

Please sign in to comment.