diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2013-01-09 13:24:04 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2013-01-09 13:24:04 +0000 |
commit | f0d5414883f580b91d88025c4c8c8863321048f7 (patch) | |
tree | 1a2284caafc3d0d74d7f958e535b1c07b7d90e72 /gcc | |
parent | ed385baf985b862591a55065810eb811add1f73e (diff) | |
download | gcc-f0d5414883f580b91d88025c4c8c8863321048f7.zip gcc-f0d5414883f580b91d88025c4c8c8863321048f7.tar.gz gcc-f0d5414883f580b91d88025c4c8c8863321048f7.tar.bz2 |
pa.c (pa_emit_move_sequence): Replace calls to gen_insv with calls to gen_insvsi/gen_insvdi.
* config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
with calls to gen_insvsi/gen_insvdi.
From-SVN: r195049
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 02f11fb..956e420 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * 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 <venkataramanan.kumar@amd.com> * 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 facd2a6..91cf495 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; |