diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8e450d514aed3fe21389de135f1d8863c2d25ac9..c7d6c452f727c88708973a151d3a961d1faa662b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
+
 2004-09-09  Jan Hubicka  <jh@suse.cz>
 
 	middle-end/17128
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 1845cc485d95ac818c2513df70e2f5cb351fe04e..c3d5f5e1723216b8c17bfac4c8f212d0bf9e439d 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -5296,7 +5296,7 @@ acc_operand (rtx op, enum machine_mode mode)
 {
   return ((mode == VOIDmode || mode == GET_MODE (op))
 	  && REG_P (op) && ACC_P (REGNO (op))
-	  && ((INTVAL (op) - ACC_FIRST) & ~ACC_MASK) == 0);
+	  && ((REGNO (op) - ACC_FIRST) & ~ACC_MASK) == 0);
 }
 
 /* Return 1 if operand is a valid even ACC register number.  */
@@ -5322,7 +5322,7 @@ accg_operand (rtx op, enum machine_mode mode)
 {
   return ((mode == VOIDmode || mode == GET_MODE (op))
 	  && REG_P (op) && ACCG_P (REGNO (op))
-	  && ((INTVAL (op) - ACCG_FIRST) & ~ACC_MASK) == 0);
+	  && ((REGNO (op) - ACCG_FIRST) & ~ACC_MASK) == 0);
 }