diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9bff304fed5c29702c2ec0c2ad0f23427d6d6f7c..b604c2cdb416ca293eb4d5fb0b80ace18a27bb37 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-06  DJ Delorie  <dj@redhat.com>
+
+	* config/rl78/rl78.c (rl78_valid_pointer_mode): New, implements
+	TARGET_VALID_POINTER_MODE.
+
 2013-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
 	    Pat Haugen <pthaugen@us.ibm.com>
 	    Peter Bergner <bergner@vnet.ibm.com>
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index 2e18bebf3d8e849683c8f090ad35a87ecb5f95f0..82557b8fd5a0aab340c18917b5dd1dcb87b0f67f 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -647,6 +647,15 @@ rl78_addr_space_pointer_mode (addr_space_t addrspace)
     }
 }
 
+/* Returns TRUE for valid addresses.  */
+#undef TARGET_VALID_POINTER_MODE
+#define TARGET_VALID_POINTER_MODE rl78_valid_pointer_mode
+static bool
+rl78_valid_pointer_mode (enum machine_mode m)
+{
+  return (m == HImode || m == SImode);
+}
+
 /* Return the appropriate mode for a named address address.  */
 #undef TARGET_ADDR_SPACE_ADDRESS_MODE
 #define TARGET_ADDR_SPACE_ADDRESS_MODE rl78_addr_space_address_mode