From: Eric Christopher Date: Wed, 8 Jun 2005 00:28:41 +0000 (+0000) Subject: system.h: Poison EXTRA_CC_MODES. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f1c9d07dc5f644c29218de872831b30899cb1974;p=gcc.git system.h: Poison EXTRA_CC_MODES. 2005-06-07 Eric Christopher * system.h: Poison EXTRA_CC_MODES. * config/frv/frv.h (SELECT_CC_MODE): Rewrite comment. * config/ia64/ia64.h (SELECT_CC_MODE): Ditto. * doc/md.texi (Jump Patterns): Replace reference to EXTRA_CC_MODES with machine-modes.def. * doc/rtl.texi (Machine Modes): Ditto. From-SVN: r100737 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44ad050bd68..a15b9852ef2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2005-06-07 Eric Christopher + + * system.h: Poison EXTRA_CC_MODES. + * config/frv/frv.h (SELECT_CC_MODE): Rewrite comment. + * config/ia64/ia64.h (SELECT_CC_MODE): Ditto. + * doc/md.texi (Jump Patterns): Replace reference to + EXTRA_CC_MODES with machine-modes.def. + * doc/rtl.texi (Machine Modes): Ditto. + 2005-06-07 Richard Henderson * varasm.c (initialize_cold_section_name): Fix alloca buffer overflow. diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h index 9961758f611..fa9cca0e9a5 100644 --- a/gcc/config/frv/frv.h +++ b/gcc/config/frv/frv.h @@ -2157,19 +2157,8 @@ do { \ #define HAVE_PRE_MODIFY_REG 1 -/* Returns a mode from class `MODE_CC' to be used when comparison operation - code OP is applied to rtx X and Y. For example, on the SPARC, - `SELECT_CC_MODE' is defined as (see *note Jump Patterns::. for a - description of the reason for this definition) - - #define SELECT_CC_MODE(OP,X,Y) \ - (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \ - ? ((OP == EQ || OP == NE) ? CCFPmode : CCFPEmode) \ - : ((GET_CODE (X) == PLUS || GET_CODE (X) == MINUS \ - || GET_CODE (X) == NEG) \ - ? CC_NOOVmode : CCmode)) - - You need not define this macro if `EXTRA_CC_MODES' is not defined. */ +/* We define extra CC modes in frv-modes.def so we need a selector. */ + #define SELECT_CC_MODE frv_select_cc_mode /* A C expression whose value is one if it is always safe to reverse a diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 28a8637defd..427c17a61a9 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -505,9 +505,7 @@ while (0) #define LOCAL_REGNO(REGNO) \ (IN_REGNO_P (REGNO) || LOC_REGNO_P (REGNO)) -/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE, - return the mode to be used for the comparison. Must be defined if - EXTRA_CC_MODES is defined. */ +/* We define CCImode in ia64-modes.def so we need a selector. */ #define SELECT_CC_MODE(OP,X,Y) CCmode diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 11150d2a3b1..81f5ebcf38e 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -4282,9 +4282,9 @@ different formats of the condition code register. Registers used to store the condition code value should have a mode that is in class @code{MODE_CC}. Normally, it will be @code{CCmode}. If additional modes are required (as for the add example mentioned above in -the SPARC), define the macro @code{EXTRA_CC_MODES} to list the -additional modes required (@pxref{Condition Code}). Also define -@code{SELECT_CC_MODE} to choose a mode given an operand of a compare. +the SPARC), define them in @file{@var{machine}-modes.def} +(@pxref{Condition Code}). Also define @code{SELECT_CC_MODE} to choose +a mode given an operand of a compare. If it is known during RTL generation that a different mode will be required (for example, if the machine has separate compare instructions diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 1f9372ebdd5..daca4cb5304 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -1191,7 +1191,8 @@ Algol or Pascal function variables including a static chain. @findex MODE_CC @item MODE_CC Modes representing condition code values. These are @code{CCmode} plus -any modes listed in the @code{EXTRA_CC_MODES} macro. @xref{Jump Patterns}, +any @code{CC_MODE} modes listed in the @file{@var{machine}-modes.def}. +@xref{Jump Patterns}, also see @ref{Condition Code}. @findex MODE_RANDOM diff --git a/gcc/system.h b/gcc/system.h index 6b0919f2bc8..43455b96edb 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -739,7 +739,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; CASE_DROPS_THROUGH TARGET_BELL TARGET_BS TARGET_CR TARGET_DIGIT0 \ TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT \ LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE \ - TARGET_OPTIONS TARGET_SWITCHES + TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \