diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc62af968a22f75a4882fbcebeaac4f29100c285..f844e619e61a4aea27ef92e3c24e5f2013c39ebe 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-17  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.md (strlensi): Emit barrier after
+	unconditional jump.
+
 2006-03-17  Paul Brook  <paul@codesourcery.com>
 
 	* doc/install.texi: Docuemnt --with-mode.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index fc57e5b3833c06ec9b00981775a21b19511af168..ab7902f4c8648676f54c09744b8cf2217b09a18f 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -1405,6 +1405,7 @@
   emit_jump_insn (gen_rtx_SET (VOIDmode,
                                pc_rtx,
                                gen_rtx_LABEL_REF (VOIDmode, loop_label)));
+  emit_barrier ();
   emit_label (end_label);
   emit_insn (gen_addsi3 (scratch_string, scratch_string, scratch_dlmzb));
   emit_insn (gen_subsi3 (result, scratch_string, addr));