Commit f3536097 by Shujing Zhao Committed by Paolo Carlini

predicates.md: Use REG_P...

2009-06-03  Shujing Zhao  <pearly.zhao@oracle.com>

	* config/sh/predicates.md: Use REG_P, MEM_P, CONST_INT_P, LABEL_P,
	JUMP_P, CALL_P, NONJUMP_INSN_P, NOTE_P, BARRIER_P and
	JUMP_TABLE_DATA_P where applicable.
	* config/sh/sh.c: Ditto.
	* config/sh/sh.h: Ditto.
	* config/sh/sh.md: Ditto.
	* config/sh/symbian.c: Ditto.

From-SVN: r148119
parent d6ced3b7
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
cond = XEXP (op, 0); cond = XEXP (op, 0);
mem = XEXP (op, 1); mem = XEXP (op, 1);
res = XEXP (op, 2); res = XEXP (op, 2);
if (GET_CODE (mem) != MEM if (!MEM_P (mem)
|| (GET_CODE (res) != SIGN_EXTEND && GET_CODE (res) != TRUNCATE)) || (GET_CODE (res) != SIGN_EXTEND && GET_CODE (res) != TRUNCATE))
return 0; return 0;
tar = XEXP (res, 0); tar = XEXP (res, 0);
...@@ -52,8 +52,8 @@ ...@@ -52,8 +52,8 @@
and = XEXP (cond, 0); and = XEXP (cond, 0);
return (GET_CODE (and) == AND return (GET_CODE (and) == AND
&& rtx_equal_p (XEXP (and, 0), tar) && rtx_equal_p (XEXP (and, 0), tar)
&& GET_CODE (XEXP (and, 1)) == CONST_INT && CONST_INT_P (XEXP (and, 1))
&& GET_CODE (XEXP (cond, 1)) == CONST_INT && CONST_INT_P (XEXP (cond, 1))
&& INTVAL (XEXP (and, 1)) == 3 && INTVAL (XEXP (and, 1)) == 3
&& INTVAL (XEXP (cond, 1)) == 3); && INTVAL (XEXP (cond, 1)) == 3);
}) })
...@@ -108,11 +108,11 @@ ...@@ -108,11 +108,11 @@
attempting to transform a sequence of two 64-bit sets of the attempting to transform a sequence of two 64-bit sets of the
same register from literal constants into a set and an add, same register from literal constants into a set and an add,
when the difference is too wide for an add. */ when the difference is too wide for an add. */
if (GET_CODE (op) == CONST_INT if (CONST_INT_P (op)
|| satisfies_constraint_Css (op)) || satisfies_constraint_Css (op))
return 1; return 1;
else if (GET_CODE (op) == TRUNCATE else if (GET_CODE (op) == TRUNCATE
&& GET_CODE (XEXP (op, 0)) == REG && REG_P (XEXP (op, 0))
&& ! system_reg_operand (XEXP (op, 0), VOIDmode) && ! system_reg_operand (XEXP (op, 0), VOIDmode)
&& (mode == VOIDmode || mode == GET_MODE (op)) && (mode == VOIDmode || mode == GET_MODE (op))
&& (GET_MODE_SIZE (GET_MODE (op)) && (GET_MODE_SIZE (GET_MODE (op))
...@@ -152,9 +152,9 @@ ...@@ -152,9 +152,9 @@
{ {
int regno; int regno;
if (GET_CODE (op) == REG) if (REG_P (op))
regno = REGNO (op); regno = REGNO (op);
else if (GET_CODE (op) == SUBREG && GET_CODE (SUBREG_REG (op)) == REG) else if (GET_CODE (op) == SUBREG && REG_P (SUBREG_REG (op)))
regno = REGNO (SUBREG_REG (op)); regno = REGNO (SUBREG_REG (op));
else else
return 1; return 1;
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
#if 0 /* Can't do this because of PROMOTE_MODE for unsigned vars. */ #if 0 /* Can't do this because of PROMOTE_MODE for unsigned vars. */
if (GET_MODE (op) == SImode && GET_CODE (op) == SIGN_EXTEND if (GET_MODE (op) == SImode && GET_CODE (op) == SIGN_EXTEND
&& GET_MODE (XEXP (op, 0)) == HImode && GET_MODE (XEXP (op, 0)) == HImode
&& GET_CODE (XEXP (op, 0)) == REG && REG_P (XEXP (op, 0))
&& REGNO (XEXP (op, 0)) <= LAST_GENERAL_REG) && REGNO (XEXP (op, 0)) <= LAST_GENERAL_REG)
return register_operand (XEXP (op, 0), VOIDmode); return register_operand (XEXP (op, 0), VOIDmode);
#endif #endif
...@@ -223,13 +223,13 @@ ...@@ -223,13 +223,13 @@
{ {
if (GET_CODE (op) == PLUS) if (GET_CODE (op) == PLUS)
{ {
if (GET_CODE (XEXP (op, 0)) != REG) if (!REG_P (XEXP (op, 0)))
return 0; return 0;
if (GET_CODE (XEXP (op, 1)) != CONST_INT if (!CONST_INT_P (XEXP (op, 1))
|| (INTVAL (XEXP (op, 1)) & 31)) || (INTVAL (XEXP (op, 1)) & 31))
return 0; return 0;
} }
else if (GET_CODE (op) != REG) else if (!REG_P (op))
return 0; return 0;
return address_operand (op, mode); return address_operand (op, mode);
}) })
...@@ -253,7 +253,7 @@ ...@@ -253,7 +253,7 @@
(define_predicate "cmpsi_operand" (define_predicate "cmpsi_operand"
(match_code "subreg,reg,const_int") (match_code "subreg,reg,const_int")
{ {
if (GET_CODE (op) == REG && REGNO (op) == T_REG if (REG_P (op) && REGNO (op) == T_REG
&& GET_MODE (op) == SImode && GET_MODE (op) == SImode
&& TARGET_SH1) && TARGET_SH1)
return 1; return 1;
...@@ -319,9 +319,9 @@ ...@@ -319,9 +319,9 @@
{ {
int regno; int regno;
if (GET_CODE (op) == REG) if (REG_P (op))
regno = REGNO (op); regno = REGNO (op);
else if (GET_CODE (op) == SUBREG && GET_CODE (SUBREG_REG (op)) == REG) else if (GET_CODE (op) == SUBREG && REG_P (SUBREG_REG (op)))
regno = REGNO (SUBREG_REG (op)); regno = REGNO (SUBREG_REG (op));
else else
return 1; return 1;
...@@ -337,7 +337,7 @@ ...@@ -337,7 +337,7 @@
(define_predicate "fpscr_operand" (define_predicate "fpscr_operand"
(match_code "reg") (match_code "reg")
{ {
return (GET_CODE (op) == REG return (REG_P (op)
&& (REGNO (op) == FPSCR_REG && (REGNO (op) == FPSCR_REG
|| (REGNO (op) >= FIRST_PSEUDO_REGISTER || (REGNO (op) >= FIRST_PSEUDO_REGISTER
&& !(reload_in_progress || reload_completed))) && !(reload_in_progress || reload_completed)))
...@@ -352,7 +352,7 @@ ...@@ -352,7 +352,7 @@
if (TARGET_SHMEDIA) if (TARGET_SHMEDIA)
return fp_arith_reg_operand (op, mode); return fp_arith_reg_operand (op, mode);
return (GET_CODE (op) == REG return (REG_P (op)
&& (REGNO (op) == FPUL_REG || REGNO (op) >= FIRST_PSEUDO_REGISTER) && (REGNO (op) == FPUL_REG || REGNO (op) >= FIRST_PSEUDO_REGISTER)
&& GET_MODE (op) == mode); && GET_MODE (op) == mode);
}) })
...@@ -374,7 +374,7 @@ ...@@ -374,7 +374,7 @@
(define_predicate "general_movsrc_operand" (define_predicate "general_movsrc_operand"
(match_code "subreg,reg,const_int,const_double,mem,symbol_ref,label_ref,const,const_vector") (match_code "subreg,reg,const_int,const_double,mem,symbol_ref,label_ref,const,const_vector")
{ {
if (GET_CODE (op) == MEM) if (MEM_P (op))
{ {
rtx inside = XEXP (op, 0); rtx inside = XEXP (op, 0);
if (GET_CODE (inside) == CONST) if (GET_CODE (inside) == CONST)
...@@ -385,7 +385,7 @@ ...@@ -385,7 +385,7 @@
if (GET_CODE (inside) == PLUS if (GET_CODE (inside) == PLUS
&& GET_CODE (XEXP (inside, 0)) == LABEL_REF && GET_CODE (XEXP (inside, 0)) == LABEL_REF
&& GET_CODE (XEXP (inside, 1)) == CONST_INT) && CONST_INT_P (XEXP (inside, 1)))
return 1; return 1;
/* Only post inc allowed. */ /* Only post inc allowed. */
...@@ -411,7 +411,7 @@ ...@@ -411,7 +411,7 @@
(match_code "subreg,reg,mem") (match_code "subreg,reg,mem")
{ {
/* Only pre dec allowed. */ /* Only pre dec allowed. */
if (GET_CODE (op) == MEM && GET_CODE (XEXP (op, 0)) == POST_INC) if (MEM_P (op) && GET_CODE (XEXP (op, 0)) == POST_INC)
return 0; return 0;
if (mode == DImode && TARGET_SHMEDIA && GET_CODE (op) == SUBREG if (mode == DImode && TARGET_SHMEDIA && GET_CODE (op) == SUBREG
&& GET_MODE_SIZE (GET_MODE (SUBREG_REG (op))) < 8 && GET_MODE_SIZE (GET_MODE (SUBREG_REG (op))) < 8
...@@ -428,7 +428,7 @@ ...@@ -428,7 +428,7 @@
{ {
rtx inside; rtx inside;
if (GET_CODE (op) != MEM || GET_MODE (op) != mode) if (!MEM_P (op) || GET_MODE (op) != mode)
return 0; return 0;
inside = XEXP (op, 0); inside = XEXP (op, 0);
...@@ -436,7 +436,7 @@ ...@@ -436,7 +436,7 @@
if (GET_CODE (inside) == POST_INC) if (GET_CODE (inside) == POST_INC)
inside = XEXP (inside, 0); inside = XEXP (inside, 0);
if (GET_CODE (inside) == REG) if (REG_P (inside))
return 1; return 1;
return 0; return 0;
...@@ -457,7 +457,7 @@ ...@@ -457,7 +457,7 @@
op = XEXP (op, 0); op = XEXP (op, 0);
/* Can't use true_regnum here because copy_cost wants to know about /* Can't use true_regnum here because copy_cost wants to know about
SECONDARY_INPUT_RELOAD_CLASS. */ SECONDARY_INPUT_RELOAD_CLASS. */
return GET_CODE (op) == REG && FP_REGISTER_P (REGNO (op)); return REG_P (op) && FP_REGISTER_P (REGNO (op));
}) })
;; TODO: Add a comment here. ;; TODO: Add a comment here.
...@@ -532,7 +532,7 @@ ...@@ -532,7 +532,7 @@
{ {
HOST_WIDE_INT i; HOST_WIDE_INT i;
if (GET_CODE (op) != CONST_INT) if (!CONST_INT_P (op))
return 0; return 0;
i = INTVAL (op); i = INTVAL (op);
return i >= 1 * 8 && i <= 7 * 8 && (i & 7) == 0; return i >= 1 * 8 && i <= 7 * 8 && (i & 7) == 0;
...@@ -575,7 +575,7 @@ ...@@ -575,7 +575,7 @@
return 0; return 0;
i = XVECLEN (op, 0) - 1; i = XVECLEN (op, 0) - 1;
for (; i >= 0; i--) for (; i >= 0; i--)
if (GET_CODE (XVECEXP (op, 0, i)) != CONST_INT) if (!CONST_INT_P (XVECEXP (op, 0, i)))
return 0; return 0;
return 1; return 1;
}) })
...@@ -597,12 +597,12 @@ ...@@ -597,12 +597,12 @@
/* Determine numbers of last and of least significant elements. */ /* Determine numbers of last and of least significant elements. */
last = XVECLEN (op, 0) - 1; last = XVECLEN (op, 0) - 1;
least = TARGET_LITTLE_ENDIAN ? 0 : last; least = TARGET_LITTLE_ENDIAN ? 0 : last;
if (GET_CODE (XVECEXP (op, 0, least)) != CONST_INT) if (!CONST_INT_P (XVECEXP (op, 0, least)))
return 0; return 0;
sign_ix = least; sign_ix = least;
if (GET_MODE_UNIT_SIZE (mode) == 1) if (GET_MODE_UNIT_SIZE (mode) == 1)
sign_ix = TARGET_LITTLE_ENDIAN ? 1 : last - 1; sign_ix = TARGET_LITTLE_ENDIAN ? 1 : last - 1;
if (GET_CODE (XVECEXP (op, 0, sign_ix)) != CONST_INT) if (!CONST_INT_P (XVECEXP (op, 0, sign_ix)))
return 0; return 0;
unit_size = GET_MODE_UNIT_SIZE (GET_MODE (op)); unit_size = GET_MODE_UNIT_SIZE (GET_MODE (op));
sign = (INTVAL (XVECEXP (op, 0, sign_ix)) >> (unit_size * BITS_PER_UNIT - 1) sign = (INTVAL (XVECEXP (op, 0, sign_ix)) >> (unit_size * BITS_PER_UNIT - 1)
...@@ -660,7 +660,7 @@ ...@@ -660,7 +660,7 @@
(match_code "const_int,const_double,const,symbol_ref,label_ref,subreg,reg,zero_extend,sign_extend") (match_code "const_int,const_double,const,symbol_ref,label_ref,subreg,reg,zero_extend,sign_extend")
{ {
return (CONSTANT_P (op) return (CONSTANT_P (op)
? (GET_CODE (op) == CONST_INT ? (CONST_INT_P (op)
? (unsigned) INTVAL (op) < GET_MODE_BITSIZE (mode) ? (unsigned) INTVAL (op) < GET_MODE_BITSIZE (mode)
: nonmemory_operand (op, mode)) : nonmemory_operand (op, mode))
: shift_count_reg_operand (op, mode)); : shift_count_reg_operand (op, mode));
...@@ -728,7 +728,7 @@ ...@@ -728,7 +728,7 @@
if (GET_CODE (op) == SUBREG) if (GET_CODE (op) == SUBREG)
op = XEXP (op, 0); op = XEXP (op, 0);
if (GET_CODE (op) != REG) if (!REG_P (op))
return 0; return 0;
/* We must protect ourselves from matching pseudos that are virtual /* We must protect ourselves from matching pseudos that are virtual
...@@ -784,7 +784,7 @@ ...@@ -784,7 +784,7 @@
(define_predicate "xor_operand" (define_predicate "xor_operand"
(match_code "subreg,reg,const_int") (match_code "subreg,reg,const_int")
{ {
if (GET_CODE (op) == CONST_INT) if (CONST_INT_P (op))
return (TARGET_SHMEDIA return (TARGET_SHMEDIA
? (satisfies_constraint_I06 (op) ? (satisfies_constraint_I06 (op)
|| (!can_create_pseudo_p () && INTVAL (op) == 0xff)) || (!can_create_pseudo_p () && INTVAL (op) == 0xff))
...@@ -799,13 +799,13 @@ ...@@ -799,13 +799,13 @@
(define_predicate "bitwise_memory_operand" (define_predicate "bitwise_memory_operand"
(match_code "mem") (match_code "mem")
{ {
if (GET_CODE (op) == MEM) if (MEM_P (op))
{ {
if (REG_P (XEXP (op, 0))) if (REG_P (XEXP (op, 0)))
return 1; return 1;
if (GET_CODE (XEXP (op, 0)) == PLUS if (GET_CODE (XEXP (op, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (op, 0), 0)) == REG && REG_P (XEXP (XEXP (op, 0), 0))
&& satisfies_constraint_K12 (XEXP (XEXP (op, 0), 1))) && satisfies_constraint_K12 (XEXP (XEXP (op, 0), 1)))
return 1; return 1;
} }
......
...@@ -888,7 +888,7 @@ do { \ ...@@ -888,7 +888,7 @@ do { \
#define LABEL_ALIGN(A_LABEL) \ #define LABEL_ALIGN(A_LABEL) \
( \ ( \
(PREV_INSN (A_LABEL) \ (PREV_INSN (A_LABEL) \
&& GET_CODE (PREV_INSN (A_LABEL)) == INSN \ && NONJUMP_INSN_P (PREV_INSN (A_LABEL)) \
&& GET_CODE (PATTERN (PREV_INSN (A_LABEL))) == UNSPEC_VOLATILE \ && GET_CODE (PATTERN (PREV_INSN (A_LABEL))) == UNSPEC_VOLATILE \
&& XINT (PATTERN (PREV_INSN (A_LABEL)), 1) == UNSPECV_ALIGN) \ && XINT (PATTERN (PREV_INSN (A_LABEL)), 1) == UNSPECV_ALIGN) \
/* explicit alignment insn in constant tables. */ \ /* explicit alignment insn in constant tables. */ \
...@@ -900,9 +900,9 @@ do { \ ...@@ -900,9 +900,9 @@ do { \
/* The base two logarithm of the known minimum alignment of an insn length. */ /* The base two logarithm of the known minimum alignment of an insn length. */
#define INSN_LENGTH_ALIGNMENT(A_INSN) \ #define INSN_LENGTH_ALIGNMENT(A_INSN) \
(GET_CODE (A_INSN) == INSN \ (NONJUMP_INSN_P (A_INSN) \
? 1 << TARGET_SHMEDIA \ ? 1 << TARGET_SHMEDIA \
: GET_CODE (A_INSN) == JUMP_INSN || GET_CODE (A_INSN) == CALL_INSN \ : JUMP_P (A_INSN) || CALL_P (A_INSN) \
? 1 << TARGET_SHMEDIA \ ? 1 << TARGET_SHMEDIA \
: CACHE_LOG) : CACHE_LOG)
...@@ -1547,12 +1547,12 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER]; ...@@ -1547,12 +1547,12 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
#if 0 #if 0
#define SECONDARY_INOUT_RELOAD_CLASS(CLASS,MODE,X,ELSE) \ #define SECONDARY_INOUT_RELOAD_CLASS(CLASS,MODE,X,ELSE) \
((((REGCLASS_HAS_FP_REG (CLASS) \ ((((REGCLASS_HAS_FP_REG (CLASS) \
&& (GET_CODE (X) == REG \ && (REG_P (X) \
&& (GENERAL_OR_AP_REGISTER_P (REGNO (X)) \ && (GENERAL_OR_AP_REGISTER_P (REGNO (X)) \
|| (FP_REGISTER_P (REGNO (X)) && (MODE) == SImode \ || (FP_REGISTER_P (REGNO (X)) && (MODE) == SImode \
&& TARGET_FMOVD)))) \ && TARGET_FMOVD)))) \
|| (REGCLASS_HAS_GENERAL_REG (CLASS) \ || (REGCLASS_HAS_GENERAL_REG (CLASS) \
&& GET_CODE (X) == REG \ && REG_P (X) \
&& FP_REGISTER_P (REGNO (X)))) \ && FP_REGISTER_P (REGNO (X)))) \
&& ! TARGET_SHMEDIA \ && ! TARGET_SHMEDIA \
&& ((MODE) == SFmode || (MODE) == SImode)) \ && ((MODE) == SFmode || (MODE) == SImode)) \
...@@ -1560,8 +1560,8 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER]; ...@@ -1560,8 +1560,8 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
: (((CLASS) == FPUL_REGS \ : (((CLASS) == FPUL_REGS \
|| (REGCLASS_HAS_FP_REG (CLASS) \ || (REGCLASS_HAS_FP_REG (CLASS) \
&& ! TARGET_SHMEDIA && MODE == SImode)) \ && ! TARGET_SHMEDIA && MODE == SImode)) \
&& (GET_CODE (X) == MEM \ && (MEM_P (X) \
|| (GET_CODE (X) == REG \ || (REG_P (X) \
&& (REGNO (X) >= FIRST_PSEUDO_REGISTER \ && (REGNO (X) >= FIRST_PSEUDO_REGISTER \
|| REGNO (X) == T_REG \ || REGNO (X) == T_REG \
|| system_reg_operand (X, VOIDmode))))) \ || system_reg_operand (X, VOIDmode))))) \
...@@ -1569,13 +1569,13 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER]; ...@@ -1569,13 +1569,13 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
: (((CLASS) == TARGET_REGS \ : (((CLASS) == TARGET_REGS \
|| (TARGET_SHMEDIA && (CLASS) == SIBCALL_REGS)) \ || (TARGET_SHMEDIA && (CLASS) == SIBCALL_REGS)) \
&& !satisfies_constraint_Csy (X) \ && !satisfies_constraint_Csy (X) \
&& (GET_CODE (X) != REG || ! GENERAL_REGISTER_P (REGNO (X)))) \ && (!REG_P (X) || ! GENERAL_REGISTER_P (REGNO (X)))) \
? GENERAL_REGS \ ? GENERAL_REGS \
: (((CLASS) == MAC_REGS || (CLASS) == PR_REGS) \ : (((CLASS) == MAC_REGS || (CLASS) == PR_REGS) \
&& GET_CODE (X) == REG && ! GENERAL_REGISTER_P (REGNO (X)) \ && REG_P (X) && ! GENERAL_REGISTER_P (REGNO (X)) \
&& (CLASS) != REGNO_REG_CLASS (REGNO (X))) \ && (CLASS) != REGNO_REG_CLASS (REGNO (X))) \
? GENERAL_REGS \ ? GENERAL_REGS \
: ((CLASS) != GENERAL_REGS && GET_CODE (X) == REG \ : ((CLASS) != GENERAL_REGS && REG_P (X) \
&& TARGET_REGISTER_P (REGNO (X))) \ && TARGET_REGISTER_P (REGNO (X))) \
? GENERAL_REGS : (ELSE)) ? GENERAL_REGS : (ELSE))
...@@ -1590,7 +1590,7 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER]; ...@@ -1590,7 +1590,7 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
&& (MODE) == SFmode && fldi_ok ())) \ && (MODE) == SFmode && fldi_ok ())) \
? R0_REGS \ ? R0_REGS \
: ((CLASS) == FPUL_REGS \ : ((CLASS) == FPUL_REGS \
&& ((GET_CODE (X) == REG \ && ((REG_P (X) \
&& (REGNO (X) == MACL_REG || REGNO (X) == MACH_REG \ && (REGNO (X) == MACL_REG || REGNO (X) == MACH_REG \
|| REGNO (X) == T_REG)) \ || REGNO (X) == T_REG)) \
|| GET_CODE (X) == PLUS)) \ || GET_CODE (X) == PLUS)) \
...@@ -1600,8 +1600,8 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER]; ...@@ -1600,8 +1600,8 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
? GENERAL_REGS \ ? GENERAL_REGS \
: R0_REGS) \ : R0_REGS) \
: ((CLASS) == FPSCR_REGS \ : ((CLASS) == FPSCR_REGS \
&& ((GET_CODE (X) == REG && REGNO (X) >= FIRST_PSEUDO_REGISTER) \ && ((REG_P (X) && REGNO (X) >= FIRST_PSEUDO_REGISTER) \
|| (GET_CODE (X) == MEM && GET_CODE (XEXP ((X), 0)) == PLUS)))\ || (MEM_P (X) && GET_CODE (XEXP ((X), 0)) == PLUS))) \
? GENERAL_REGS \ ? GENERAL_REGS \
: (REGCLASS_HAS_FP_REG (CLASS) \ : (REGCLASS_HAS_FP_REG (CLASS) \
&& TARGET_SHMEDIA \ && TARGET_SHMEDIA \
...@@ -2218,11 +2218,11 @@ struct sh_args { ...@@ -2218,11 +2218,11 @@ struct sh_args {
|| (GET_CODE ((OP)) == CONST \ || (GET_CODE ((OP)) == CONST \
&& GET_CODE (XEXP ((OP), 0)) == PLUS \ && GET_CODE (XEXP ((OP), 0)) == PLUS \
&& GET_CODE (XEXP (XEXP ((OP), 0), 0)) == LABEL_REF \ && GET_CODE (XEXP (XEXP ((OP), 0), 0)) == LABEL_REF \
&& GET_CODE (XEXP (XEXP ((OP), 0), 1)) == CONST_INT)) && CONST_INT_P (XEXP (XEXP ((OP), 0), 1))))
#define IS_NON_EXPLICIT_CONSTANT_P(OP) \ #define IS_NON_EXPLICIT_CONSTANT_P(OP) \
(CONSTANT_P (OP) \ (CONSTANT_P (OP) \
&& GET_CODE (OP) != CONST_INT \ && !CONST_INT_P (OP) \
&& GET_CODE (OP) != CONST_DOUBLE \ && GET_CODE (OP) != CONST_DOUBLE \
&& (!flag_pic \ && (!flag_pic \
|| (LEGITIMATE_PIC_OPERAND_P (OP) \ || (LEGITIMATE_PIC_OPERAND_P (OP) \
...@@ -2252,7 +2252,7 @@ struct sh_args { ...@@ -2252,7 +2252,7 @@ struct sh_args {
&& (UNSPEC_GOTOFF_P (XEXP ((OP), 0)) \ && (UNSPEC_GOTOFF_P (XEXP ((OP), 0)) \
|| (GET_CODE (XEXP ((OP), 0)) == PLUS \ || (GET_CODE (XEXP ((OP), 0)) == PLUS \
&& UNSPEC_GOTOFF_P (XEXP (XEXP ((OP), 0), 0)) \ && UNSPEC_GOTOFF_P (XEXP (XEXP ((OP), 0), 0)) \
&& GET_CODE (XEXP (XEXP ((OP), 0), 1)) == CONST_INT))) && CONST_INT_P (XEXP (XEXP ((OP), 0), 1)))))
#define PIC_ADDR_P(OP) \ #define PIC_ADDR_P(OP) \
(GET_CODE (OP) == CONST && GET_CODE (XEXP ((OP), 0)) == UNSPEC \ (GET_CODE (OP) == CONST && GET_CODE (XEXP ((OP), 0)) == UNSPEC \
...@@ -2273,7 +2273,7 @@ struct sh_args { ...@@ -2273,7 +2273,7 @@ struct sh_args {
&& (GET_CODE (XEXP (XEXP ((OP), 0), 0)) == SYMBOL_REF \ && (GET_CODE (XEXP (XEXP ((OP), 0), 0)) == SYMBOL_REF \
|| GET_CODE (XEXP (XEXP ((OP), 0), 0)) == LABEL_REF \ || GET_CODE (XEXP (XEXP ((OP), 0), 0)) == LABEL_REF \
|| DATALABEL_REF_NO_CONST_P (XEXP (XEXP ((OP), 0), 0))) \ || DATALABEL_REF_NO_CONST_P (XEXP (XEXP ((OP), 0), 0))) \
&& GET_CODE (XEXP (XEXP ((OP), 0), 1)) == CONST_INT)) && CONST_INT_P (XEXP (XEXP ((OP), 0), 1))))
#define PIC_REFERENCE_P(OP) \ #define PIC_REFERENCE_P(OP) \
(GOT_ENTRY_P (OP) || GOTPLT_ENTRY_P (OP) \ (GOT_ENTRY_P (OP) || GOTPLT_ENTRY_P (OP) \
...@@ -2286,22 +2286,22 @@ struct sh_args { ...@@ -2286,22 +2286,22 @@ struct sh_args {
: NON_PIC_REFERENCE_P (OP)) : NON_PIC_REFERENCE_P (OP))
#define MAYBE_BASE_REGISTER_RTX_P(X, STRICT) \ #define MAYBE_BASE_REGISTER_RTX_P(X, STRICT) \
((GET_CODE (X) == REG && REG_OK_FOR_BASE_P (X, STRICT)) \ ((REG_P (X) && REG_OK_FOR_BASE_P (X, STRICT)) \
|| (GET_CODE (X) == SUBREG \ || (GET_CODE (X) == SUBREG \
&& TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (GET_MODE ((X))), \ && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (GET_MODE ((X))), \
GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (X)))) \ GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (X)))) \
&& GET_CODE (SUBREG_REG (X)) == REG \ && REG_P (SUBREG_REG (X)) \
&& REG_OK_FOR_BASE_P (SUBREG_REG (X), STRICT))) && REG_OK_FOR_BASE_P (SUBREG_REG (X), STRICT)))
/* Since this must be r0, which is a single register class, we must check /* Since this must be r0, which is a single register class, we must check
SUBREGs more carefully, to be sure that we don't accept one that extends SUBREGs more carefully, to be sure that we don't accept one that extends
outside the class. */ outside the class. */
#define MAYBE_INDEX_REGISTER_RTX_P(X, STRICT) \ #define MAYBE_INDEX_REGISTER_RTX_P(X, STRICT) \
((GET_CODE (X) == REG && REG_OK_FOR_INDEX_P (X, STRICT)) \ ((REG_P (X) && REG_OK_FOR_INDEX_P (X, STRICT)) \
|| (GET_CODE (X) == SUBREG \ || (GET_CODE (X) == SUBREG \
&& TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (GET_MODE ((X))), \ && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (GET_MODE ((X))), \
GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (X)))) \ GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (X)))) \
&& GET_CODE (SUBREG_REG (X)) == REG \ && REG_P (SUBREG_REG (X)) \
&& SUBREG_OK_FOR_INDEX_P (SUBREG_REG (X), SUBREG_BYTE (X), STRICT))) && SUBREG_OK_FOR_INDEX_P (SUBREG_REG (X), SUBREG_BYTE (X), STRICT)))
#ifdef REG_OK_STRICT #ifdef REG_OK_STRICT
...@@ -2332,7 +2332,7 @@ struct sh_args { ...@@ -2332,7 +2332,7 @@ struct sh_args {
{ \ { \
if (GET_CODE (X) == PLUS \ if (GET_CODE (X) == PLUS \
&& (GET_MODE_SIZE (MODE) == 4 || GET_MODE_SIZE (MODE) == 8) \ && (GET_MODE_SIZE (MODE) == 4 || GET_MODE_SIZE (MODE) == 8) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && CONST_INT_P (XEXP (X, 1)) \
&& BASE_REGISTER_RTX_P (XEXP (X, 0)) \ && BASE_REGISTER_RTX_P (XEXP (X, 0)) \
&& ! TARGET_SHMEDIA \ && ! TARGET_SHMEDIA \
&& ! (TARGET_SH4 && (MODE) == DFmode) \ && ! (TARGET_SH4 && (MODE) == DFmode) \
...@@ -2387,9 +2387,9 @@ struct sh_args { ...@@ -2387,9 +2387,9 @@ struct sh_args {
else if (GET_CODE (X) == PLUS \ else if (GET_CODE (X) == PLUS \
&& (GET_MODE_SIZE (MODE) == 4 || GET_MODE_SIZE (MODE) == 8) \ && (GET_MODE_SIZE (MODE) == 4 || GET_MODE_SIZE (MODE) == 8) \
&& GET_CODE (XEXP (X, 0)) == PLUS \ && GET_CODE (XEXP (X, 0)) == PLUS \
&& GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \ && CONST_INT_P (XEXP (XEXP (X, 0), 1)) \
&& BASE_REGISTER_RTX_P (XEXP (XEXP (X, 0), 0)) \ && BASE_REGISTER_RTX_P (XEXP (XEXP (X, 0), 0)) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && CONST_INT_P (XEXP (X, 1)) \
&& ! TARGET_SHMEDIA \ && ! TARGET_SHMEDIA \
&& ! (TARGET_SH2E && MODE == SFmode)) \ && ! (TARGET_SH2E && MODE == SFmode)) \
{ \ { \
...@@ -2521,14 +2521,14 @@ struct sh_args { ...@@ -2521,14 +2521,14 @@ struct sh_args {
in particular. */ in particular. */
#define INSN_SETS_ARE_DELAYED(X) \ #define INSN_SETS_ARE_DELAYED(X) \
((GET_CODE (X) == INSN \ ((NONJUMP_INSN_P (X) \
&& GET_CODE (PATTERN (X)) != SEQUENCE \ && GET_CODE (PATTERN (X)) != SEQUENCE \
&& GET_CODE (PATTERN (X)) != USE \ && GET_CODE (PATTERN (X)) != USE \
&& GET_CODE (PATTERN (X)) != CLOBBER \ && GET_CODE (PATTERN (X)) != CLOBBER \
&& get_attr_is_sfunc (X))) && get_attr_is_sfunc (X)))
#define INSN_REFERENCES_ARE_DELAYED(X) \ #define INSN_REFERENCES_ARE_DELAYED(X) \
((GET_CODE (X) == INSN \ ((NONJUMP_INSN_P (X) \
&& GET_CODE (PATTERN (X)) != SEQUENCE \ && GET_CODE (PATTERN (X)) != SEQUENCE \
&& GET_CODE (PATTERN (X)) != USE \ && GET_CODE (PATTERN (X)) != USE \
&& GET_CODE (PATTERN (X)) != CLOBBER \ && GET_CODE (PATTERN (X)) != CLOBBER \
......
...@@ -217,7 +217,7 @@ sh_symbian_mark_dllexport (tree decl) ...@@ -217,7 +217,7 @@ sh_symbian_mark_dllexport (tree decl)
tree idp; tree idp;
rtlname = XEXP (DECL_RTL (decl), 0); rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == MEM) if (MEM_P (rtlname))
rtlname = XEXP (rtlname, 0); rtlname = XEXP (rtlname, 0);
gcc_assert (GET_CODE (rtlname) == SYMBOL_REF); gcc_assert (GET_CODE (rtlname) == SYMBOL_REF);
oldname = XSTR (rtlname, 0); oldname = XSTR (rtlname, 0);
...@@ -262,7 +262,7 @@ sh_symbian_mark_dllimport (tree decl) ...@@ -262,7 +262,7 @@ sh_symbian_mark_dllimport (tree decl)
rtx newrtl; rtx newrtl;
rtlname = XEXP (DECL_RTL (decl), 0); rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == MEM) if (MEM_P (rtlname))
rtlname = XEXP (rtlname, 0); rtlname = XEXP (rtlname, 0);
gcc_assert (GET_CODE (rtlname) == SYMBOL_REF); gcc_assert (GET_CODE (rtlname) == SYMBOL_REF);
oldname = XSTR (rtlname, 0); oldname = XSTR (rtlname, 0);
...@@ -312,8 +312,8 @@ sh_symbian_encode_section_info (tree decl, rtx rtl, int first) ...@@ -312,8 +312,8 @@ sh_symbian_encode_section_info (tree decl, rtx rtl, int first)
else if ( (TREE_CODE (decl) == FUNCTION_DECL else if ( (TREE_CODE (decl) == FUNCTION_DECL
|| TREE_CODE (decl) == VAR_DECL) || TREE_CODE (decl) == VAR_DECL)
&& DECL_RTL (decl) != NULL_RTX && DECL_RTL (decl) != NULL_RTX
&& GET_CODE (DECL_RTL (decl)) == MEM && MEM_P (DECL_RTL (decl))
&& GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM && MEM_P (XEXP (DECL_RTL (decl), 0))
&& GET_CODE (XEXP (XEXP (DECL_RTL (decl), 0), 0)) == SYMBOL_REF && GET_CODE (XEXP (XEXP (DECL_RTL (decl), 0), 0)) == SYMBOL_REF
&& sh_symbian_dllimport_name_p (XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0))) && sh_symbian_dllimport_name_p (XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0)))
{ {
......
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