]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at...
authorJohn David Anglin <danglin@gcc.gnu.org>
Thu, 28 May 2015 01:15:46 +0000 (01:15 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Thu, 28 May 2015 01:15:46 +0000 (01:15 +0000)
PR target/66148
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
REG_EQUAL note when doing insert.

From-SVN: r223793

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

index 410ea43acfa397b277eb6d4af36e6e8cc0f08fc3..de0d68bdb867dc39410acd22acb54a4929ecebce 100644 (file)
@@ -1,3 +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.
+
 2015-05-26  Rohit Arul Raj  <rohitarulraj@freescale.com>
 
        Backported from mainline
index 821d875e2c1c5b85f5f9a9e3678640a9b1c65525..a593e47213fa667cdf603acff518873bc8a9ba8e 100644 (file)
@@ -2205,11 +2205,11 @@ pa_emit_move_sequence (rtx *operands, enum 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
                {
@@ -2231,11 +2231,15 @@ pa_emit_move_sequence (rtx *operands, enum 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;