diff options
author | Zack Weinberg <zack@bitmover.com> | 1999-08-27 20:37:06 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 1999-08-27 20:37:06 +0000 |
commit | aa0b4465912b2baf8ad8c7e9fb68b6f616036e19 (patch) | |
tree | 0f423580e9aa14c0c796b441ff0df89475c8d5e1 /gcc/machmode.def | |
parent | b780db794f97d51a956d6eb5f922d5ea0651ab8d (diff) | |
download | gcc-aa0b4465912b2baf8ad8c7e9fb68b6f616036e19.zip gcc-aa0b4465912b2baf8ad8c7e9fb68b6f616036e19.tar.gz gcc-aa0b4465912b2baf8ad8c7e9fb68b6f616036e19.tar.bz2 |
rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format for a CONST_DOUBLE...
1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
for a CONST_DOUBLE, at compile time. Initialize rtx_length
and class_narrowest_mode at compile time. Kill init_rtl.
Mark rtx_length, mode_class, mode_size, mode_unit_size,
mode_wider_mode, mode_mask_array, class_narrowest_mode, and
rtx_format as const. Kill all references to EXTRA_CC_MODES or
EXTRA_CC_NAMES.
* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
format.
* rtl.h: Declare rtx_length and rtx_format as const.
* machmode.def: Define CC(). Use CC() to define CCmode. If
EXTRA_CC_MODES is defined, expand it here.
* machmode.h: Declare mode_class, mode_size, mode_unit_size,
mode_wider_mode, mode_mask_array, and class_narrowest_mode as
const. Kill all references to EXTRA_CC_MODES.
* toplev.c: Don't prototype or call init_rtl.
* optabs.c: Don't call init_mov_optab.
* genemit.c: Don't generate init_mov_optab. Don't call
init_rtl.
* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
here.
* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
genrecog.c: Don't call init_rtl.
* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
definition of EXTRA_CC_MODES.
* md.texi: Kill ref to EXTRA_CC_NAMES.
* tm.texi: Document new way to define EXTRA_CC_MODES.
* genrecog.c: Do not look up the name of a define_split.
(Unrelated bugfix.)
From-SVN: r28937
Diffstat (limited to 'gcc/machmode.def')
-rw-r--r-- | gcc/machmode.def | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/gcc/machmode.def b/gcc/machmode.def index ab2215e..a2258aa 100644 --- a/gcc/machmode.def +++ b/gcc/machmode.def @@ -106,11 +106,20 @@ DEF_MACHMODE (BLKmode, "BLK", MODE_RANDOM, 0, 0, VOIDmode) /* The modes for representing the condition codes come last. CCmode is always defined. Additional modes for the condition code can be specified - in the EXTRA_CC_MODES macro. Everything but the names of the modes - are copied from CCmode. For these modes, GET_MODE_WIDER_MODE points - to the next defined CC mode, if any. */ + in the EXTRA_CC_MODES macro. + All MODE_CC modes are the same width as SImode and have VOIDmode as their + next wider mode. +*/ + +#define CC(E, M) DEF_MACHMODE (E, M, MODE_CC, 4, 4, VOIDmode) + +CC (CCmode, "CC") + +#ifdef EXTRA_CC_MODES +EXTRA_CC_MODES +#endif -DEF_MACHMODE (CCmode, "CC", MODE_CC, 4, 4, VOIDmode) +#undef CC /* The symbol Pmode stands for one of the above machine modes (usually SImode). The tm file specifies which one. It is not a distinct mode. */ |