aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToma Tabacu <toma.tabacu@imgtec.com>2017-03-21 14:00:19 +0000
committerToma Tabacu <toma.tabacu@imgtec.com>2017-03-21 14:00:19 +0000
commit2cf8d1fd53778f585a61c608c097c03ecf7a6142 (patch)
tree0939957026e8cca930f946c8e8c0fb8127b47cc3
parentb445ececba27e5a6183d6ff087b859561735f701 (diff)
Apply temporary fix for PR rtl-optimization/79150.
gcc/ PR rtl-optimization/79150 * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the conditional jump, if the jump is the last insn of the loop. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@246320 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 81a27f9f051..ff2cd7a15bc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-03-21 Toma Tabacu <toma.tabacu@imgtec.com>
+
+ PR rtl-optimization/79150
+ * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
+ conditional jump, if the jump is the last insn of the loop.
+
2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenth@suse.com>
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 7778207dfc4..d1deb523a1e 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -8098,6 +8098,9 @@ mips_block_move_loop (rtx dest, rtx src, HOST_WIDE_INT length,
/* Mop up any left-over bytes. */
if (leftover)
mips_block_move_straight (dest, src, leftover);
+ else
+ /* Temporary fix for PR79150. */
+ emit_insn (gen_nop ());
}
/* Expand a movmemsi instruction, which copies LENGTH bytes from