diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 41d85c2edd3e3eb768898772523afc7ae9cd3682..27593d5124f2290c6f98fe4033fe2d32fc69f7b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.	
+
 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
 
 	* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 926f27a99d9b091d37e7c743272bbdaee894b266..18092ad767d67bf6297bfa48ce24032af0e8b69c 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -150,14 +150,14 @@ legitimize_pic_address (rtx orig, rtx reg, rtx picreg)
 	      emit_insn (gen_movsi_high_pic (reg, addr));
 	      emit_insn (gen_movsi_low_pic (reg, reg, addr));
 	      emit_insn (gen_addsi3 (reg, reg, picreg));
-	      new = gen_rtx_MEM (Pmode, reg);
+	      new = gen_const_mem (Pmode, reg);
 	    }
 	  else
 	    {
 	      rtx tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, addr),
 					UNSPEC_MOVE_PIC);
-	      new = gen_rtx_MEM (Pmode,
-				 gen_rtx_PLUS (Pmode, picreg, tmp));
+	      new = gen_const_mem (Pmode,
+				   gen_rtx_PLUS (Pmode, picreg, tmp));
 	    }
 	  emit_move_insn (reg, new);
 	}