pa.c (pa_emit_move_sequence): Replace calls to gen_insv with calls to gen_insvsi...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Wed, 9 Jan 2013 13:24:04 +0000 (13:24 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 9 Jan 2013 13:24:04 +0000 (13:24 +0000)
* config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
with calls to gen_insvsi/gen_insvdi.

From-SVN: r195049

gcc/ChangeLog
gcc/config/pa/pa.c

index 02f11fb..956e420 100644 (file)
@@ -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
index facd2a6..91cf495 100644 (file)
@@ -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;