Commit f3a59e2e by Richard Biener Committed by Richard Biener

re PR middle-end/37870 (ICE in extract_bit_field_1)

2016-04-18  Richard Biener  <rguenther@suse.de>

        PR middle-end/37870
	* expmed.c (extract_bit_field_1): Remove broken case
	using a wider MODE_INT mode.

From-SVN: r235103
parent 84538074
2016-04-18 Richard Biener <rguenther@suse.de>
PR middle-end/37870
* expmed.c (extract_bit_field_1): Remove broken case
using a wider MODE_INT mode.
2016-04-18 Segher Boessenkool <segher@kernel.crashing.org>
* has-brig.c (lendian16): Don't try to use __builtin_bswap16
......
......@@ -1647,17 +1647,6 @@ extract_bit_field_1 (rtx str_rtx, unsigned HOST_WIDE_INT bitsize,
if (GET_CODE (op0) == SUBREG)
op0 = force_reg (imode, op0);
}
else if (REG_P (op0))
{
rtx reg, subreg;
imode = smallest_mode_for_size (GET_MODE_BITSIZE (GET_MODE (op0)),
MODE_INT);
reg = gen_reg_rtx (imode);
subreg = gen_lowpart_SUBREG (GET_MODE (op0), reg);
emit_move_insn (subreg, op0);
op0 = reg;
bitnum += SUBREG_BYTE (subreg) * BITS_PER_UNIT;
}
else
{
HOST_WIDE_INT size = GET_MODE_SIZE (GET_MODE (op0));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment