diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 464b36dcfb544b55b4d52f52c8389d0a7b395e15..4312f1f5c0ba434ee3e133d5e14a8c3968b50e29 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-03  Steve Ellcey  <sje@cup.hp.com>
+
+	PR rtl-optimization/26345
+	PR target/19061
+	* config/ia64/predicates.md (basereg_operand): Don't look in subregs.
+
 2006-03-03  Roger Sayle  <roger@eyesopen.com>
 
 	PR tree-optimization/26524
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index ec0f8c318314d43c3e3dd758cf6d0d1a8f05300c..657c1501ddbef493e5df64ff0211b3e2206e6a12 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -586,8 +586,6 @@
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
 {
-  if (GET_CODE (op) == SUBREG)
-    op = SUBREG_REG (op);
-  return REG_POINTER (op);
+  return REG_P (op) && REG_POINTER (op);
 })