diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2015-05-28 01:09:59 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2015-05-28 01:09:59 +0000 |
commit | 225f474784fabd1d083c6850a61ad266117b3e81 (patch) | |
tree | dc1d1ff8f6b8cbd05126c5ff3dcc7c56857381b0 | |
parent | 34319f9aa503cc97a12b9db498c55be0e1fa004c (diff) | |
download | gcc-225f474784fabd1d083c6850a61ad266117b3e81.zip gcc-225f474784fabd1d083c6850a61ad266117b3e81.tar.gz gcc-225f474784fabd1d083c6850a61ad266117b3e81.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 20 |
2 files changed, 16 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 903bd69..6a4571f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 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. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 5551654..bb4d7b3 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -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; |