diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a214221e681691b1cabc47608e09bde83e5e7221..83e30315082a14d68da14494cd9aae3d145a406e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* config/s390/s390.md ("prefetch"): Remove stcmh for prefetching.
+
 2009-10-09  Richard Guenther  <rguenther@suse.de>
 
 	PR driver/41637
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index db326ee766c075a54144938c30ab573f2d1aeaac..90ed18b0f0d34b5584e244c3682361a4c362601f 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -8941,18 +8941,16 @@
 ;
 
 (define_insn "prefetch"
-  [(prefetch (match_operand 0    "address_operand"   "ZQZS,ZRZT,X")
-	     (match_operand:SI 1 "const_int_operand" "   n,   n,n")
-	     (match_operand:SI 2 "const_int_operand" "   n,   n,n"))]
-  "TARGET_ZARCH && s390_tune == PROCESSOR_2097_Z10"
+  [(prefetch (match_operand 0    "address_operand"   "ZQZRZSZT,X")
+	     (match_operand:SI 1 "const_int_operand" "       n,n")
+	     (match_operand:SI 2 "const_int_operand" "       n,n"))]
+  "TARGET_Z10"
 {
   switch (which_alternative)
     {
       case 0:
-        return INTVAL (operands[1]) == 1 ? "stcmh\t2,0,%a0" : "stcmh\t1,0,%a0";
-      case 1:
         return INTVAL (operands[1]) == 1 ? "pfd\t2,%a0" : "pfd\t1,%a0";
-      case 2:
+      case 1:
         if (larl_operand (operands[0], Pmode))
 	  return INTVAL (operands[1]) == 1 ? "pfdrl\t2,%a0" : "pfdrl\t1,%a0";
       default:
@@ -8963,10 +8961,9 @@
         return "";
      }
 }
-  [(set_attr "type" "store,load,larl")
-   (set_attr "op_type" "RSY,RXY,RIL")
-   (set_attr "z10prop" "z10_super")
-   (set_attr "cpu_facility" "*,z10,z10")])
+  [(set_attr "type" "load,larl")
+   (set_attr "op_type" "RXY,RIL")
+   (set_attr "z10prop" "z10_super")])
 
 
 ;