@@ -68,40 +68,40 @@ static const char *arc_cpu_string = "";
6868
6969/* ??? Loads can handle any constant, stores can only handle small ones. */
7070/* OTOH, LIMMs cost extra, so their usefulness is limited. */
71- #define RTX_OK_FOR_OFFSET_P (MODE , X ) \
72- (GET_CODE (X) == CONST_INT \
73- && SMALL_INT_RANGE (INTVAL (X), (GET_MODE_SIZE (MODE) - 1) & -4, \
74- (INTVAL (X) & (GET_MODE_SIZE (MODE) - 1) & 3 \
75- ? 0 \
76- : -(-GET_MODE_SIZE (MODE) | -4) >> 1)))
71+ #define RTX_OK_FOR_OFFSET_P (MODE , X ) \
72+ (GET_CODE (X) == CONST_INT \
73+ && SMALL_INT_RANGE (INTVAL (X), (GET_MODE_SIZE (MODE) - 1) & -4, \
74+ (INTVAL (X) & (GET_MODE_SIZE (MODE) - 1) & 3 \
75+ ? 0 \
76+ : -(-GET_MODE_SIZE (MODE) | -4) >> 1)))
7777
7878#define LEGITIMATE_OFFSET_ADDRESS_P (MODE , X , INDEX , STRICT ) \
79- (GET_CODE (X) == PLUS \
80- && RTX_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \
81- && ((INDEX && RTX_OK_FOR_INDEX_P (XEXP (X, 1), (STRICT)) \
82- && GET_MODE_SIZE ((MODE)) <= 4) \
83- || RTX_OK_FOR_OFFSET_P (MODE, XEXP (X, 1))))
84-
85- #define LEGITIMATE_SCALED_ADDRESS_P (MODE , X , STRICT ) \
86- (GET_CODE (X) == PLUS \
87- && GET_CODE (XEXP (X, 0)) == MULT \
88- && RTX_OK_FOR_INDEX_P (XEXP (XEXP (X, 0), 0), (STRICT)) \
89- && GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \
90- && ((GET_MODE_SIZE (MODE) == 2 && INTVAL (XEXP (XEXP (X, 0), 1)) == 2) \
91- || (GET_MODE_SIZE (MODE) == 4 && INTVAL (XEXP (XEXP (X, 0), 1)) == 4)) \
92- && (RTX_OK_FOR_BASE_P (XEXP (X, 1), (STRICT)) \
93- || (flag_pic ? CONST_INT_P (XEXP (X, 1)) : CONSTANT_P (XEXP (X, 1)))))
94-
95- #define LEGITIMATE_SMALL_DATA_ADDRESS_P (X ) \
96- (GET_CODE (X) == PLUS \
97- && (REG_P (XEXP(X,0)) && REGNO (XEXP (X,0)) == 26) \
98- && ((GET_CODE (XEXP(X,1)) == SYMBOL_REF \
99- && SYMBOL_REF_SMALL_P (XEXP (X,1))) ||\
100- (GET_CODE (XEXP (X,1)) == CONST && \
101- GET_CODE (XEXP(XEXP(X,1),0)) == PLUS && \
102- GET_CODE (XEXP(XEXP(XEXP(X,1),0),0)) == SYMBOL_REF \
103- && SYMBOL_REF_SMALL_P (XEXP(XEXP (XEXP(X,1),0),0)) \
104- && GET_CODE (XEXP(XEXP (XEXP(X,1),0), 1)) == CONST_INT)))
79+ (GET_CODE (X) == PLUS \
80+ && RTX_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \
81+ && ((INDEX && RTX_OK_FOR_INDEX_P (XEXP (X, 1), (STRICT)) \
82+ && GET_MODE_SIZE ((MODE)) <= 4) \
83+ || RTX_OK_FOR_OFFSET_P (MODE, XEXP (X, 1))))
84+
85+ #define LEGITIMATE_SCALED_ADDRESS_P (MODE , X , STRICT ) \
86+ (GET_CODE (X) == PLUS \
87+ && GET_CODE (XEXP (X, 0)) == MULT \
88+ && RTX_OK_FOR_INDEX_P (XEXP (XEXP (X, 0), 0), (STRICT)) \
89+ && GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \
90+ && ((GET_MODE_SIZE (MODE) == 2 && INTVAL (XEXP (XEXP (X, 0), 1)) == 2) \
91+ || (GET_MODE_SIZE (MODE) == 4 && INTVAL (XEXP (XEXP (X, 0), 1)) == 4)) \
92+ && (RTX_OK_FOR_BASE_P (XEXP (X, 1), (STRICT)) \
93+ || (flag_pic ? CONST_INT_P (XEXP (X, 1)) : CONSTANT_P (XEXP (X, 1)))))
94+
95+ #define LEGITIMATE_SMALL_DATA_ADDRESS_P (X ) \
96+ (GET_CODE (X) == PLUS \
97+ && (REG_P (XEXP(X,0)) && REGNO (XEXP (X,0)) == 26) \
98+ && ((GET_CODE (XEXP(X,1)) == SYMBOL_REF \
99+ && SYMBOL_REF_SMALL_P (XEXP (X,1))) || \
100+ (GET_CODE (XEXP (X,1)) == CONST && \
101+ GET_CODE (XEXP(XEXP(X,1),0)) == PLUS && \
102+ GET_CODE (XEXP(XEXP(XEXP(X,1),0),0)) == SYMBOL_REF \
103+ && SYMBOL_REF_SMALL_P (XEXP(XEXP (XEXP(X,1),0),0)) \
104+ && GET_CODE (XEXP(XEXP (XEXP(X,1),0), 1)) == CONST_INT)))
105105
106106/* Array of valid operand punctuation characters. */
107107char arc_punct_chars [256 ];
@@ -125,25 +125,25 @@ struct GTY (()) arc_ccfsm
125125#define ARC_CCFSM_RECORD_BRANCH_DELETED (STATE ) \
126126 ((STATE)->state += 2)
127127
128- #define ARC_CCFSM_COND_EXEC_P (STATE ) \
128+ #define ARC_CCFSM_COND_EXEC_P (STATE ) \
129129 ((STATE)->state == 3 || (STATE)->state == 4 || (STATE)->state == 5 \
130130 || current_insn_predicate)
131131
132132/* Check if INSN has a 16 bit opcode considering struct arc_ccfsm *STATE. */
133- #define CCFSM_ISCOMPACT (INSN ,STATE ) \
134- (ARC_CCFSM_COND_EXEC_P (STATE) \
135- ? (get_attr_iscompact (INSN) == ISCOMPACT_TRUE \
133+ #define CCFSM_ISCOMPACT (INSN ,STATE ) \
134+ (ARC_CCFSM_COND_EXEC_P (STATE) \
135+ ? (get_attr_iscompact (INSN) == ISCOMPACT_TRUE \
136136 || get_attr_iscompact (INSN) == ISCOMPACT_TRUE_LIMM) \
137137 : get_attr_iscompact (INSN) != ISCOMPACT_FALSE)
138138
139139/* Likewise, but also consider that INSN might be in a delay slot of JUMP. */
140- #define CCFSM_DBR_ISCOMPACT (INSN ,JUMP ,STATE ) \
141- ((ARC_CCFSM_COND_EXEC_P (STATE) \
142- || (JUMP_P (JUMP) \
143- && INSN_ANNULLED_BRANCH_P (JUMP) \
140+ #define CCFSM_DBR_ISCOMPACT (INSN ,JUMP ,STATE ) \
141+ ((ARC_CCFSM_COND_EXEC_P (STATE) \
142+ || (JUMP_P (JUMP) \
143+ && INSN_ANNULLED_BRANCH_P (JUMP) \
144144 && (TARGET_AT_DBR_CONDEXEC || INSN_FROM_TARGET_P (INSN)))) \
145- ? (get_attr_iscompact (INSN) == ISCOMPACT_TRUE \
146- || get_attr_iscompact (INSN) == ISCOMPACT_TRUE_LIMM) \
145+ ? (get_attr_iscompact (INSN) == ISCOMPACT_TRUE \
146+ || get_attr_iscompact (INSN) == ISCOMPACT_TRUE_LIMM) \
147147 : get_attr_iscompact (INSN) != ISCOMPACT_FALSE)
148148
149149/* The maximum number of insns skipped which will be conditionalised if
0 commit comments