diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-18 17:55:38 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-18 17:55:38 +0000 |
commit | 3573fd048138934237552b7d25a71152e89dd110 (patch) | |
tree | 15eac562db9eb775cc5d5a1937b5f0e2fb7f5ce0 /gcc/machmode.h | |
parent | cc83a5de4d00ba690358a0099784be1077dc8215 (diff) | |
download | gcc-3573fd048138934237552b7d25a71152e89dd110.tar.gz |
* machmode.def: Add BImode. Add a column for bitsize.
* machmode.h (DEF_MACHMODE): Adjust for extra column.
(GET_MODE_BITSIZE): Use it.
* rtl.c (DEF_MACHMODE): Adjust for extra column.
(mode_bitsize): New.
(mode_mask_array): Use bitsize.
* combine.c (combine_simplify_rtx): Require inner and outer
modes to match on nonzero_bits optimizations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36501 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r-- | gcc/machmode.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h index f5a3ab96816..e565cb70d21 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */ /* Make an enum class that gives all the machine modes. */ -#define DEF_MACHMODE(SYM, NAME, TYPE, SIZE, UNIT, WIDER) SYM, +#define DEF_MACHMODE(SYM, NAME, TYPE, BITSIZE, SIZE, UNIT, WIDER) SYM, enum machine_mode { #include "machmode.def" @@ -93,7 +93,8 @@ extern const unsigned int mode_unit_size[]; /* Get the size in bits of an object of mode MODE. */ -#define GET_MODE_BITSIZE(MODE) (BITS_PER_UNIT * mode_size[(int) (MODE)]) +extern const unsigned int mode_bitsize[]; +#define GET_MODE_BITSIZE(MODE) (mode_bitsize[(int) (MODE)]) #ifdef HOST_WIDE_INT |