diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb6b7b8dcf19d58ba2493209d5b9dee5201d6068..f902e89954d2949c1fc413199f0d74b7e4adcee9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
+
+	* config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
+	  for (const_int 0) in X not just INTVAL.
+
 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
 
 	* doc/extend.texi: Avoid or reduce overfull hboxes.
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index b00e549961e91c1259bdc6f3f341409e706feda0..782e37d409cba0b1a78c3bec23cef1628e7f7700 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1974,7 +1974,8 @@ typedef struct rs6000_args
   && GET_CODE (XEXP (X, 0)) == REG				\
   && INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT))		\
   && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0)		\
-  && (! ALTIVEC_VECTOR_MODE (MODE) || INTVAL (X) == 0)		\
+  && (! ALTIVEC_VECTOR_MODE (MODE)                            \
+      || (GET_CODE (XEXP (X,1)) == CONST_INT && INTVAL (XEXP (X,1)) == 0)) \
   && (((MODE) != DFmode && (MODE) != DImode)			\
       || (TARGET_32BIT						\
 	  ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) 	\