diff --git a/gcc/config/epiphany/constraints.md b/gcc/config/epiphany/constraints.md
index e4fda2d34a448e757892166d313c2f5110431539..5dc960175f17df9c179c68556b3df4352b0d1792 100644
--- a/gcc/config/epiphany/constraints.md
+++ b/gcc/config/epiphany/constraints.md
@@ -98,12 +98,12 @@
        (match_test "REGNO (op) >= FIRST_PSEUDO_REGISTER || REGNO (op) <= 7")))
 
 ;; Constant suitable for the addsi3_r pattern.
+;; No idea why we previously used RTX_OK_FOR_OFFSET with SI, HI an QI
+;; modes.  The instruction in question accepts 11 bit signed constants.
 (define_constraint "Car"
   "addsi3_r constant."
   (and (match_code "const_int")
-       (ior (match_test "RTX_OK_FOR_OFFSET_P (SImode, op)")
-	    (match_test "RTX_OK_FOR_OFFSET_P (HImode, op)")
-	    (match_test "RTX_OK_FOR_OFFSET_P (QImode, op)"))))
+       (match_test "IN_RANGE (INTVAL (op), -1024, 1023)")))
 
 ;; The return address if it can be replaced with GPR_LR.
 (define_constraint "Rra"