From 81d5e3222ef28a80154c9cf5a9f9e7d2a89b145a Mon Sep 17 00:00:00 2001 From: danglin Date: Wed, 9 Jan 2013 13:24:04 +0000 Subject: * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv with calls to gen_insvsi/gen_insvdi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195049 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/pa/pa.c | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 02f11fba151..956e4203cba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-01-09 John David Anglin + + * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv + with calls to gen_insvsi/gen_insvdi. + 2013-01-09 Venkataramanan Kumar * config/i386/i386.c (initial_ix86_tune_features): Set up diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index facd2a64f04..91cf4956792 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2190,8 +2190,12 @@ pa_emit_move_sequence (rtx *operands, enum machine_mode mode, rtx scratch_reg) emit_insn (gen_rtx_SET (VOIDmode, temp, gen_rtx_HIGH (mode, operand1))); emit_move_insn (temp, gen_rtx_LO_SUM (mode, temp, operand1)); - emit_insn (gen_insv (operand0, GEN_INT (32), - const0_rtx, temp)); + if (mode == DImode) + emit_insn (gen_insvdi (operand0, GEN_INT (32), + const0_rtx, temp)); + else + emit_insn (gen_insvsi (operand0, GEN_INT (32), + const0_rtx, temp)); } else { @@ -2212,8 +2216,12 @@ pa_emit_move_sequence (rtx *operands, enum machine_mode mode, rtx scratch_reg) pos -= 1; } - emit_insn (gen_insv (operand0, GEN_INT (len), - GEN_INT (pos), GEN_INT (v5))); + if (mode == DImode) + 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))); len = pos > 0 && pos < 5 ? pos : 5; pos -= len; -- cgit v1.2.1