Commit 225f4747 by John David Anglin

re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006)

	PR target/66148
	* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
	REG_EQUAL note when doing insert.

From-SVN: r223791
parent 34319f9a
2015-05-27 John David Anglin <danglin@gcc.gnu.org>
PR target/66148
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
REG_EQUAL note when doing insert.
* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
instead of "%d" for 'o' operand.
......
......@@ -2248,11 +2248,11 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
gen_rtx_HIGH (mode, operand1)));
emit_move_insn (temp, gen_rtx_LO_SUM (mode, temp, operand1));
if (mode == DImode)
emit_insn (gen_insvdi (operand0, GEN_INT (32),
const0_rtx, temp));
insn = emit_insn (gen_insvdi (operand0, GEN_INT (32),
const0_rtx, temp));
else
emit_insn (gen_insvsi (operand0, GEN_INT (32),
const0_rtx, temp));
insn = emit_insn (gen_insvsi (operand0, GEN_INT (32),
const0_rtx, temp));
}
else
{
......@@ -2274,11 +2274,15 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
}
if (mode == DImode)
emit_insn (gen_insvdi (operand0, GEN_INT (len),
GEN_INT (pos), GEN_INT (v5)));
insn = emit_insn (gen_insvdi (operand0,
GEN_INT (len),
GEN_INT (pos),
GEN_INT (v5)));
else
emit_insn (gen_insvsi (operand0, GEN_INT (len),
GEN_INT (pos), GEN_INT (v5)));
insn = emit_insn (gen_insvsi (operand0,
GEN_INT (len),
GEN_INT (pos),
GEN_INT (v5)));
len = pos > 0 && pos < 5 ? pos : 5;
pos -= len;
......
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