diff options
Diffstat (limited to 'gcc')
-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; |