$OpenBSD: patch-gcc_combine_c,v 1.2 2002/09/14 10:14:51 espie Exp $
--- gcc/combine.c.orig	Thu Jun 20 16:46:16 2002
+++ gcc/combine.c	Thu Sep 12 14:50:58 2002
@@ -11915,7 +11915,7 @@ move_deaths (x, maybe_kill_insn, from_cu
 		if (i < regno || i >= ourend)
 		  REG_NOTES (where_dead)
 		    = gen_rtx_EXPR_LIST (REG_DEAD,
-					 gen_rtx_REG (reg_raw_mode[i], i),
+					 regno_reg_rtx[i],
 					 REG_NOTES (where_dead));
 	    }
 
@@ -11942,7 +11942,7 @@ move_deaths (x, maybe_kill_insn, from_cu
 		offset = 1;
 
 	      for (i = regno + offset; i < ourend; i++)
-		move_deaths (gen_rtx_REG (reg_raw_mode[i], i),
+		move_deaths (regno_reg_rtx[i],
 			     maybe_kill_insn, from_cuid, to_insn, &oldnotes);
 	    }
 
@@ -12564,7 +12564,7 @@ distribute_notes (notes, from_insn, i3, 
 		      for (i = regno; i < endregno;
 			   i += HARD_REGNO_NREGS (i, reg_raw_mode[i]))
 			{
-			  rtx piece = gen_rtx_REG (reg_raw_mode[i], i);
+			  rtx piece = regno_reg_rtx[i];
 			  basic_block bb = BASIC_BLOCK (this_basic_block);
 
 			  if (! dead_or_set_p (place, piece)
