diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a31dfe3207b0ca7adc3b501e671370c6105f0be5..f4392cb78849edad9f3dfe7ef2d91af5eb1407b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/rs6000.c (def_builtin): Set TREE_READONLY instead
+	of TREE_CONSTANT.
+
 2009-10-20  Richard Sandiford  <rdsandiford@googlemail.com>
 
 	* rtl.h (simplify_replace_fn_rtx): Declare.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 796750a824871528a17824ecc2a8ab3f337ffbb4..8bb92129ecfb96f1b97c5d011c9f8394af556515 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -8530,7 +8530,7 @@ def_builtin (int mask, const char *name, tree type, int code)
 
 	  /* const function, function only depends on the inputs.  */
 	case RS6000_BTC_CONST:
-	  TREE_CONSTANT (t) = 1;
+	  TREE_READONLY (t) = 1;
 	  TREE_NOTHROW (t) = 1;
 	  break;
 
@@ -8554,7 +8554,7 @@ def_builtin (int mask, const char *name, tree type, int code)
 	      DECL_IS_NOVOPS (t) = 1;
 	    }
 	  else
-	    TREE_CONSTANT (t) = 1;
+	    TREE_READONLY (t) = 1;
 	  break;
 	}
     }