diff --git a/gcc/config/m68k/m68kv4.h b/gcc/config/m68k/m68kv4.h
index a3b662adf0431b6946836b747192f9d8682b47b5..4d1755090767eafd6f537e36230fa0c5098ee267 100644
--- a/gcc/config/m68k/m68kv4.h
+++ b/gcc/config/m68k/m68kv4.h
@@ -159,7 +159,7 @@ while (0)
 #define FUNCTION_VALUE(VALTYPE, FUNC)					\
   (TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_68881			\
    ? gen_rtx (REG, TYPE_MODE (VALTYPE), 16)				\
-   : (TREE_CODE (VALTYPE) == POINTER_TYPE				\
+   : (POINTER_TYPE_P (VALTYPE)						\
       ? gen_rtx (REG, TYPE_MODE (VALTYPE), 8)				\
       : gen_rtx (REG, TYPE_MODE (VALTYPE), 0)))