diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 86e0917198ab12ffdca91abc45ad0e95d27fe0eb..647e5b045fb5261ed9c1baebe279f11db111a2f9 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2030,7 +2030,7 @@ typedef struct rs6000_args
 #define TOC_RELATIVE_EXPR_P(X) (toc_relative_expr_p (X))
 
 /* SPE offset addressing is limited to 5-bits worth of double words.  */
-#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xff) == 0)
+#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0)
 
 #define LEGITIMATE_CONSTANT_POOL_ADDRESS_P(X)				\
   (TARGET_TOC								\