$OpenBSD: pp-gcc_gcse_c,v 1.1 2005/01/04 23:06:33 espie Exp $
--- gcc/gcse.c.orig	Sat Dec 20 20:59:50 2003
+++ gcc/gcse.c	Mon Jan  3 10:17:42 2005
@@ -4212,7 +4212,7 @@ cprop_insn (insn, alter_jumps)
       /* Find an assignment that sets reg_used and is available
 	 at the start of the block.  */
       set = find_avail_set (regno, insn);
-      if (! set)
+      if (! set || set->expr->volatil)
 	continue;
 
       pat = set->expr;