]> 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:17:52 +0000 (01:17 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Thu, 28 May 2015 01:17:52 +0000 (01:17 +0000)
PR target/66148
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
REG_EQUAL note when doing insert.

From-SVN: r223794

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

index 29b1662716d0fffe3c1a74d35ae0f595f8e01b13..075d1a71da44de88c22f6e17525266c0203645c0 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 e17451f424a8472ac451df843cd71605d0e14d45..5aad9fdbc654ed7a96eef15c71dad2bbe047e4a2 100644 (file)
@@ -2203,11 +2203,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
                {
@@ -2229,11 +2229,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;