aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/pa/pa.c20
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;