Commit 991c42ac by Jan-Benedict Glaw Committed by Hans-Peter Nilsson

* config/cris/cris.c (cris_movem_load_rest_p, cris_store_multiple_op_p)

	(cris_print_index, cris_print_operand, cris_print_operand_address)
	(cris_reload_address_legitimized, cris_rtx_costs, cris_address_cost)
	(cris_side_effect_mode_ok, cris_valid_pic_const, cris_split_movdx)
	(cris_expand_pic_call_address): Use xxx_P predicate macros instead of
	GET_CODE () == xxx.
	* config/cris/cris.h (SECONDARY_RELOAD_CLASS, EXTRA_CONSTRAINT_Q,
	EXTRA_CONSTRAINT_T, BDAP_INDEX_P, BIAP_INDEX_P, SIMPLE_ADDRESS_P,
	GO_IF_LEGITIMATE_ADDRESS): Ditto.
	* config/cris/cris.md (define_insns: *btst, movdi, *mov_side<mode>)
	(*mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem)
	(*clear_side<mode>, movsi, *movsi_internal, *ext_sideqihi)
	(*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, addsi3)
	(*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side)
	(*extop<mode>si_swap_side, addi_mul, *addi,andsi3, andhi3, ashl<mode>3)
	(uminsi3, call, call_value): Ditto.
	(define_split: indir_to_reg_split, unnamed): Ditto.

From-SVN: r122128
parent 602fea7c
2007-02-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/cris/cris.c (cris_movem_load_rest_p, cris_store_multiple_op_p)
(cris_print_index, cris_print_operand, cris_print_operand_address)
(cris_reload_address_legitimized, cris_rtx_costs, cris_address_cost)
(cris_side_effect_mode_ok, cris_valid_pic_const, cris_split_movdx)
(cris_expand_pic_call_address): Use xxx_P predicate macros instead of
GET_CODE () == xxx.
* config/cris/cris.h (SECONDARY_RELOAD_CLASS, EXTRA_CONSTRAINT_Q,
EXTRA_CONSTRAINT_T, BDAP_INDEX_P, BIAP_INDEX_P, SIMPLE_ADDRESS_P,
GO_IF_LEGITIMATE_ADDRESS): Ditto.
* config/cris/cris.md (define_insns: *btst, movdi, *mov_side<mode>)
(*mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem)
(*clear_side<mode>, movsi, *movsi_internal, *ext_sideqihi)
(*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, addsi3)
(*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side)
(*extop<mode>si_swap_side, addi_mul, *addi,andsi3, andhi3, ashl<mode>3)
(uminsi3, call, call_value): Ditto.
(define_split: indir_to_reg_split, unnamed): Ditto.
2007-02-19 Dorit Nuzman <dorit@il.ibm.com> 2007-02-19 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/30975 PR tree-optimization/30975
......
...@@ -577,7 +577,7 @@ enum reg_class ...@@ -577,7 +577,7 @@ enum reg_class
#define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ #define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \
(((CLASS) != SPECIAL_REGS && (CLASS) != MOF_REGS) \ (((CLASS) != SPECIAL_REGS && (CLASS) != MOF_REGS) \
|| GET_MODE_SIZE (MODE) == 4 \ || GET_MODE_SIZE (MODE) == 4 \
|| GET_CODE (X) != MEM \ || !MEM_P (X) \
? NO_REGS : GENERAL_REGS) ? NO_REGS : GENERAL_REGS)
/* For CRIS, this is always the size of MODE in words, /* For CRIS, this is always the size of MODE in words,
...@@ -643,7 +643,7 @@ enum reg_class ...@@ -643,7 +643,7 @@ enum reg_class
/* Just an indirect register (happens to also be \ /* Just an indirect register (happens to also be \
"all" slottable memory addressing modes not \ "all" slottable memory addressing modes not \
covered by other constraints, i.e. '>'). */ \ covered by other constraints, i.e. '>'). */ \
GET_CODE (X) == MEM && BASE_P (XEXP (X, 0)) \ MEM_P (X) && BASE_P (XEXP (X, 0)) \
) )
#define EXTRA_CONSTRAINT_R(X) \ #define EXTRA_CONSTRAINT_R(X) \
...@@ -659,8 +659,8 @@ enum reg_class ...@@ -659,8 +659,8 @@ enum reg_class
#define EXTRA_CONSTRAINT_T(X) \ #define EXTRA_CONSTRAINT_T(X) \
( \ ( \
/* Memory three-address operand. All are indirect-memory: */ \ /* Memory three-address operand. All are indirect-memory: */ \
GET_CODE (X) == MEM \ MEM_P (X) \
&& ((GET_CODE (XEXP (X, 0)) == MEM \ && ((MEM_P (XEXP (X, 0)) \
/* Double indirect: [[reg]] or [[reg+]]? */ \ /* Double indirect: [[reg]] or [[reg+]]? */ \
&& (BASE_OR_AUTOINCR_P (XEXP (XEXP (X, 0), 0)))) \ && (BASE_OR_AUTOINCR_P (XEXP (XEXP (X, 0), 0)))) \
/* Just an explicit indirect reference: [const]? */ \ /* Just an explicit indirect reference: [const]? */ \
...@@ -959,10 +959,10 @@ struct cum_args {int regs;}; ...@@ -959,10 +959,10 @@ struct cum_args {int regs;};
/* True if X is a valid (register) index for BDAP, i.e. [Rs].S or [Rs+].S. */ /* True if X is a valid (register) index for BDAP, i.e. [Rs].S or [Rs+].S. */
#define BDAP_INDEX_P(X) \ #define BDAP_INDEX_P(X) \
((GET_CODE (X) == MEM && GET_MODE (X) == SImode \ ((MEM_P (X) && GET_MODE (X) == SImode \
&& BASE_OR_AUTOINCR_P (XEXP (X, 0))) \ && BASE_OR_AUTOINCR_P (XEXP (X, 0))) \
|| (GET_CODE (X) == SIGN_EXTEND \ || (GET_CODE (X) == SIGN_EXTEND \
&& GET_CODE (XEXP (X, 0)) == MEM \ && MEM_P (XEXP (X, 0)) \
&& (GET_MODE (XEXP (X, 0)) == HImode \ && (GET_MODE (XEXP (X, 0)) == HImode \
|| GET_MODE (XEXP (X, 0)) == QImode) \ || GET_MODE (XEXP (X, 0)) == QImode) \
&& BASE_OR_AUTOINCR_P (XEXP (XEXP (X, 0), 0)))) && BASE_OR_AUTOINCR_P (XEXP (XEXP (X, 0), 0))))
...@@ -973,14 +973,14 @@ struct cum_args {int regs;}; ...@@ -973,14 +973,14 @@ struct cum_args {int regs;};
|| (GET_CODE (X) == MULT \ || (GET_CODE (X) == MULT \
&& BASE_P (XEXP (X, 0)) \ && BASE_P (XEXP (X, 0)) \
&& REG_OK_FOR_INDEX_P (XEXP (X, 0)) \ && REG_OK_FOR_INDEX_P (XEXP (X, 0)) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && CONST_INT_P (XEXP (X, 1)) \
&& (INTVAL (XEXP (X, 1)) == 2 \ && (INTVAL (XEXP (X, 1)) == 2 \
|| INTVAL (XEXP (X, 1)) == 4))) || INTVAL (XEXP (X, 1)) == 4)))
/* True if X is an address that doesn't need a prefix i.e. [Rs] or [Rs+]. */ /* True if X is an address that doesn't need a prefix i.e. [Rs] or [Rs+]. */
#define SIMPLE_ADDRESS_P(X) \ #define SIMPLE_ADDRESS_P(X) \
(BASE_P (X) \ (BASE_P (X) \
|| (GET_CODE (X) == POST_INC \ || (GET_CODE (X) == POST_INC \
&& BASE_P (XEXP (X, 0)))) && BASE_P (XEXP (X, 0))))
/* A PIC operand looks like a normal symbol here. At output we dress it /* A PIC operand looks like a normal symbol here. At output we dress it
...@@ -1013,7 +1013,7 @@ struct cum_args {int regs;}; ...@@ -1013,7 +1013,7 @@ struct cum_args {int regs;};
|| (BASE_P (x2) && BIAP_INDEX_P (x1))))) \ || (BASE_P (x2) && BIAP_INDEX_P (x1))))) \
goto ADDR; \ goto ADDR; \
} \ } \
else if (GET_CODE (X) == MEM) \ else if (MEM_P (X)) \
{ \ { \
/* DIP (Rs). Reject [[reg+]] and [[reg]] for \ /* DIP (Rs). Reject [[reg+]] and [[reg]] for \
DImode (long long). */ \ DImode (long long). */ \
......
...@@ -337,12 +337,12 @@ ...@@ -337,12 +337,12 @@
(match_operand:SI 1 "const_int_operand" "K,n,K,n,K,n,n") (match_operand:SI 1 "const_int_operand" "K,n,K,n,K,n,n")
(match_operand:SI 2 "nonmemory_operand" "M,M,K,n,r,r,r")))] (match_operand:SI 2 "nonmemory_operand" "M,M,K,n,r,r,r")))]
;; Either it is a single bit, or consecutive ones starting at 0. ;; Either it is a single bit, or consecutive ones starting at 0.
"GET_CODE (operands[1]) == CONST_INT "CONST_INT_P (operands[1])
&& (operands[1] == const1_rtx || operands[2] == const0_rtx) && (operands[1] == const1_rtx || operands[2] == const0_rtx)
&& (REG_S_P (operands[0]) && (REG_S_P (operands[0])
|| (operands[1] == const1_rtx || (operands[1] == const1_rtx
&& REG_S_P (operands[2]) && REG_S_P (operands[2])
&& GET_CODE (operands[0]) == CONST_INT && CONST_INT_P (operands[0])
&& exact_log2 (INTVAL (operands[0])) >= 0))" && exact_log2 (INTVAL (operands[0])) >= 0))"
;; The last "&&" condition above should be caught by some kind of ;; The last "&&" condition above should be caught by some kind of
...@@ -409,7 +409,7 @@ ...@@ -409,7 +409,7 @@
(match_operand:DI 1 "general_operand" ""))] (match_operand:DI 1 "general_operand" ""))]
"" ""
{ {
if (GET_CODE (operands[0]) == MEM && operands[1] != const0_rtx) if (MEM_P (operands[0]) && operands[1] != const0_rtx)
operands[1] = copy_to_mode_reg (DImode, operands[1]); operands[1] = copy_to_mode_reg (DImode, operands[1]);
/* Some other ports (as of 2001-09-10 for example mcore and romp) also /* Some other ports (as of 2001-09-10 for example mcore and romp) also
...@@ -420,8 +420,7 @@ ...@@ -420,8 +420,7 @@
emitted) is the final value. This construct from romp seems more emitted) is the final value. This construct from romp seems more
robust, especially considering the head comments from robust, especially considering the head comments from
emit_no_conflict_block. */ emit_no_conflict_block. */
if ((GET_CODE (operands[1]) == CONST_INT if ((CONST_INT_P (operands[1]) || GET_CODE (operands[1]) == CONST_DOUBLE)
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& ! reload_completed && ! reload_completed
&& ! reload_in_progress) && ! reload_in_progress)
{ {
...@@ -513,7 +512,7 @@ ...@@ -513,7 +512,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[2]) != CONST_INT && (!CONST_INT_P (operands[2])
|| INTVAL (operands[2]) > 127 || INTVAL (operands[2]) > 127
|| INTVAL (operands[2]) < -128 || INTVAL (operands[2]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N')
...@@ -540,7 +539,7 @@ ...@@ -540,7 +539,7 @@
|| which_alternative == 3 || which_alternative == 3
|| which_alternative == 6 || which_alternative == 6
|| which_alternative == 8) || which_alternative == 8)
&& (GET_CODE (operands[2]) != CONST_INT && (!CONST_INT_P (operands[2])
|| INTVAL (operands[2]) > 127 || INTVAL (operands[2]) > 127
|| INTVAL (operands[2]) < -128 || INTVAL (operands[2]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N')
...@@ -659,7 +658,7 @@ ...@@ -659,7 +658,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 3, 0, 1, -1, 2)" "cris_side_effect_mode_ok (PLUS, operands, 3, 0, 1, -1, 2)"
{ {
if ((which_alternative == 0 || which_alternative == 4) if ((which_alternative == 0 || which_alternative == 4)
&& (GET_CODE (operands[1]) != CONST_INT && (!CONST_INT_P (operands[1])
|| INTVAL (operands[1]) > 127 || INTVAL (operands[1]) > 127
|| INTVAL (operands[1]) < -128 || INTVAL (operands[1]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N')
...@@ -693,7 +692,7 @@ ...@@ -693,7 +692,7 @@
&& cris_side_effect_mode_ok (PLUS, operands, 3, 0, 1, -1, 2)" && cris_side_effect_mode_ok (PLUS, operands, 3, 0, 1, -1, 2)"
{ {
if ((which_alternative == 0 || which_alternative == 4) if ((which_alternative == 0 || which_alternative == 4)
&& (GET_CODE (operands[1]) != CONST_INT && (!CONST_INT_P (operands[1])
|| INTVAL (operands[1]) > 127 || INTVAL (operands[1]) > 127
|| INTVAL (operands[1]) < -128 || INTVAL (operands[1]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N')
...@@ -766,7 +765,7 @@ ...@@ -766,7 +765,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 2, 0, 1, -1, -1)" "cris_side_effect_mode_ok (PLUS, operands, 2, 0, 1, -1, -1)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[1]) != CONST_INT && (!CONST_INT_P (operands[1])
|| INTVAL (operands[1]) > 127 || INTVAL (operands[1]) > 127
|| INTVAL (operands[1]) < -128 || INTVAL (operands[1]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'N')
...@@ -787,7 +786,7 @@ ...@@ -787,7 +786,7 @@
{ {
/* If the output goes to a MEM, make sure we have zero or a register as /* If the output goes to a MEM, make sure we have zero or a register as
input. */ input. */
if (GET_CODE (operands[0]) == MEM if (MEM_P (operands[0])
&& ! REG_S_P (operands[1]) && ! REG_S_P (operands[1])
&& operands[1] != const0_rtx && operands[1] != const0_rtx
&& ! no_new_pseudos) && ! no_new_pseudos)
...@@ -960,7 +959,7 @@ ...@@ -960,7 +959,7 @@
if (GET_CODE (tem) == PLUS if (GET_CODE (tem) == PLUS
&& GET_CODE (XEXP (tem, 0)) == UNSPEC && GET_CODE (XEXP (tem, 0)) == UNSPEC
&& XINT (XEXP (tem, 0), 1) == CRIS_UNSPEC_GOTREL && XINT (XEXP (tem, 0), 1) == CRIS_UNSPEC_GOTREL
&& GET_CODE (XEXP (tem, 1)) == CONST_INT) && CONST_INT_P (XEXP (tem, 1)))
tem = XEXP (tem, 0); tem = XEXP (tem, 0);
gcc_assert (GET_CODE (tem) == UNSPEC); gcc_assert (GET_CODE (tem) == UNSPEC);
switch (XINT (tem, 1)) switch (XINT (tem, 1))
...@@ -1047,7 +1046,7 @@ ...@@ -1047,7 +1046,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[2]) != CONST_INT && (!CONST_INT_P (operands[2])
|| INTVAL (operands[2]) > 127 || INTVAL (operands[2]) > 127
|| INTVAL (operands[2]) < -128 || INTVAL (operands[2]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N')
...@@ -1071,7 +1070,7 @@ ...@@ -1071,7 +1070,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 3, 1, 2, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[2]) != CONST_INT && (!CONST_INT_P (operands[2])
|| INTVAL (operands[2]) > 127 || INTVAL (operands[2]) > 127
|| INTVAL (operands[2]) < -128 || INTVAL (operands[2]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'N')
...@@ -1348,7 +1347,7 @@ ...@@ -1348,7 +1347,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1406,7 +1405,7 @@ ...@@ -1406,7 +1405,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1482,7 +1481,7 @@ ...@@ -1482,7 +1481,7 @@
if (GET_CODE (tem) == PLUS if (GET_CODE (tem) == PLUS
&& GET_CODE (XEXP (tem, 0)) == UNSPEC && GET_CODE (XEXP (tem, 0)) == UNSPEC
&& XINT (XEXP (tem, 0), 1) == CRIS_UNSPEC_GOTREL && XINT (XEXP (tem, 0), 1) == CRIS_UNSPEC_GOTREL
&& GET_CODE (XEXP (tem, 1)) == CONST_INT) && CONST_INT_P (XEXP (tem, 1)))
tem = XEXP (tem, 0); tem = XEXP (tem, 0);
gcc_assert (GET_CODE (tem) == UNSPEC); gcc_assert (GET_CODE (tem) == UNSPEC);
switch (XINT (tem, 1)) switch (XINT (tem, 1))
...@@ -1679,7 +1678,7 @@ ...@@ -1679,7 +1678,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1708,7 +1707,7 @@ ...@@ -1708,7 +1707,7 @@
&& cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" && cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1788,7 +1787,7 @@ ...@@ -1788,7 +1787,7 @@
"cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" "cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1816,7 +1815,7 @@ ...@@ -1816,7 +1815,7 @@
&& cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)" && cris_side_effect_mode_ok (PLUS, operands, 4, 2, 3, -1, 0)"
{ {
if ((which_alternative == 0 || which_alternative == 3) if ((which_alternative == 0 || which_alternative == 3)
&& (GET_CODE (operands[3]) != CONST_INT && (!CONST_INT_P (operands[3])
|| INTVAL (operands[3]) > 127 || INTVAL (operands[3]) > 127
|| INTVAL (operands[3]) < -128 || INTVAL (operands[3]) < -128
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N') || CONST_OK_FOR_LETTER_P (INTVAL (operands[3]), 'N')
...@@ -1963,7 +1962,7 @@ ...@@ -1963,7 +1962,7 @@
(match_operand:SI 2 "const_int_operand" "n")))] (match_operand:SI 2 "const_int_operand" "n")))]
"operands[0] != frame_pointer_rtx "operands[0] != frame_pointer_rtx
&& operands[1] != frame_pointer_rtx && operands[1] != frame_pointer_rtx
&& GET_CODE (operands[2]) == CONST_INT && CONST_INT_P (operands[2])
&& (INTVAL (operands[2]) == 2 && (INTVAL (operands[2]) == 2
|| INTVAL (operands[2]) == 4 || INTVAL (operands[2]) == 3 || INTVAL (operands[2]) == 4 || INTVAL (operands[2]) == 3
|| INTVAL (operands[2]) == 5)" || INTVAL (operands[2]) == 5)"
...@@ -1993,7 +1992,7 @@ ...@@ -1993,7 +1992,7 @@
(match_operand:SI 1 "register_operand" "0")))] (match_operand:SI 1 "register_operand" "0")))]
"operands[0] != frame_pointer_rtx "operands[0] != frame_pointer_rtx
&& operands[1] != frame_pointer_rtx && operands[1] != frame_pointer_rtx
&& GET_CODE (operands[3]) == CONST_INT && CONST_INT_P (operands[3])
&& (INTVAL (operands[3]) == 1 && (INTVAL (operands[3]) == 1
|| INTVAL (operands[3]) == 2 || INTVAL (operands[3]) == 4)" || INTVAL (operands[3]) == 2 || INTVAL (operands[3]) == 4)"
"addi %2%T3,%0" "addi %2%T3,%0"
...@@ -2185,7 +2184,7 @@ ...@@ -2185,7 +2184,7 @@
(match_operand:SI 2 "general_operand" "")))] (match_operand:SI 2 "general_operand" "")))]
"" ""
{ {
if (! (GET_CODE (operands[2]) == CONST_INT if (! (CONST_INT_P (operands[2])
&& (((INTVAL (operands[2]) == -256 && (((INTVAL (operands[2]) == -256
|| INTVAL (operands[2]) == -65536) || INTVAL (operands[2]) == -65536)
&& rtx_equal_p (operands[1], operands[0])) && rtx_equal_p (operands[1], operands[0]))
...@@ -2283,7 +2282,7 @@ ...@@ -2283,7 +2282,7 @@
(match_operand:HI 2 "general_operand" "")))] (match_operand:HI 2 "general_operand" "")))]
"" ""
{ {
if (! (GET_CODE (operands[2]) == CONST_INT if (! (CONST_INT_P (operands[2])
&& (((INTVAL (operands[2]) == -256 && (((INTVAL (operands[2]) == -256
|| INTVAL (operands[2]) == 65280) || INTVAL (operands[2]) == 65280)
&& rtx_equal_p (operands[1], operands[0])) && rtx_equal_p (operands[1], operands[0]))
...@@ -2619,8 +2618,7 @@ ...@@ -2619,8 +2618,7 @@
"" ""
{ {
return return
(GET_CODE (operands[2]) == CONST_INT (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > <nbitsm1>)
&& INTVAL (operands[2]) > <nbitsm1>)
? "moveq 0,%0" ? "moveq 0,%0"
: (CONSTANT_P (operands[2]) : (CONSTANT_P (operands[2])
? "lslq %2,%0" : "lsl<m> %2,%0"); ? "lslq %2,%0" : "lsl<m> %2,%0");
...@@ -2677,7 +2675,7 @@ ...@@ -2677,7 +2675,7 @@
(match_operand:SI 2 "general_operand" "r,Q>,g,!To")))] (match_operand:SI 2 "general_operand" "r,Q>,g,!To")))]
"" ""
{ {
if (GET_CODE (operands[2]) == CONST_INT) if (CONST_INT_P (operands[2]))
{ {
/* Constant operands are zero-extended, so only 32-bit operands /* Constant operands are zero-extended, so only 32-bit operands
may be negative. */ may be negative. */
...@@ -2890,7 +2888,7 @@ ...@@ -2890,7 +2888,7 @@
(clobber (reg:SI CRIS_SRP_REGNUM))])] (clobber (reg:SI CRIS_SRP_REGNUM))])]
"" ""
{ {
gcc_assert (GET_CODE (operands[0]) == MEM); gcc_assert (MEM_P (operands[0]));
if (flag_pic) if (flag_pic)
cris_expand_pic_call_address (&operands[0]); cris_expand_pic_call_address (&operands[0]);
}) })
...@@ -2931,7 +2929,7 @@ ...@@ -2931,7 +2929,7 @@
(clobber (reg:SI CRIS_SRP_REGNUM))])] (clobber (reg:SI CRIS_SRP_REGNUM))])]
"" ""
{ {
gcc_assert (GET_CODE (operands[1]) == MEM); gcc_assert (MEM_P (operands[1]));
if (flag_pic) if (flag_pic)
cris_expand_pic_call_address (&operands[1]); cris_expand_pic_call_address (&operands[1]);
}) })
...@@ -3640,8 +3638,7 @@ ...@@ -3640,8 +3638,7 @@
"reload_completed "reload_completed
&& REG_P (operands[0]) && REG_P (operands[0])
&& GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
&& (GET_CODE (XEXP (operands[1], 0)) == MEM && (MEM_P (XEXP (operands[1], 0)) || CONSTANT_P (XEXP (operands[1], 0)))
|| CONSTANT_P (XEXP (operands[1], 0)))
&& REGNO (operands[0]) < CRIS_LAST_GENERAL_REGISTER" && REGNO (operands[0]) < CRIS_LAST_GENERAL_REGISTER"
[(set (match_dup 2) (match_dup 4)) [(set (match_dup 2) (match_dup 4))
(set (match_dup 0) (match_dup 3))] (set (match_dup 0) (match_dup 3))]
...@@ -3659,7 +3656,7 @@ ...@@ -3659,7 +3656,7 @@
"reload_completed "reload_completed
&& REG_P (operands[0]) && REG_P (operands[0])
&& GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD && GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
&& (GET_CODE (XEXP (operands[1], 0)) == MEM && (MEM_P (XEXP (operands[1], 0))
|| CONSTANT_P (XEXP (operands[1], 0)))" || CONSTANT_P (XEXP (operands[1], 0)))"
[(set (match_dup 2) (match_dup 5)) [(set (match_dup 2) (match_dup 5))
(set (match_dup 0) (match_op_dup 4 [(match_dup 3)]))] (set (match_dup 0) (match_op_dup 4 [(match_dup 3)]))]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment