aboutsummaryrefslogtreecommitdiff
path: root/gcc/machmode.h
diff options
context:
space:
mode:
authorJohn Carr <jfc@mit.edu>1998-10-01 16:47:41 +0000
committerJohn Carr <jfc@gcc.gnu.org>1998-10-01 16:47:41 +0000
commit913f68c116b7a079fb33937f5aaa927ccd1fbab0 (patch)
treed9bf3be339a2978253909ce15a9dede99fd49e66 /gcc/machmode.h
parent3ce1534782482f0885a330a6b0aad2f84c80b135 (diff)
downloadgcc-913f68c116b7a079fb33937f5aaa927ccd1fbab0.zip
gcc-913f68c116b7a079fb33937f5aaa927ccd1fbab0.tar.gz
gcc-913f68c116b7a079fb33937f5aaa927ccd1fbab0.tar.bz2
dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work with more than three size ranges.
* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work with more than three size ranges. * flow.c (sbitmap_copy): Use bcopy to copy bitmap. * rtl.c (mode_name): Add a null string at the end of the array. (mode_wider_mode): Change type to unsigned char. (mode_mask_array): New variable. (init_rtl): Update for mode_wider_mode type change. * rtl.h (mode_wider_mode): Change type to unsigned char. (mode_mask_array): Declare. (GET_MODE_MASK): Use mode_mask_array. From-SVN: r22717
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r--gcc/machmode.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h
index 5f8459d..119950c 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -196,14 +196,14 @@ extern int mode_unit_size[];
/* Get a bitmask containing 1 for all bits in a word
that fit within mode MODE. */
-#define GET_MODE_MASK(MODE) \
- ((GET_MODE_BITSIZE (MODE) >= HOST_BITS_PER_WIDE_INT) \
- ?(HOST_WIDE_INT) ~0 : (((HOST_WIDE_INT) 1 << GET_MODE_BITSIZE (MODE)) - 1))
+extern const unsigned HOST_WIDE_INT mode_mask_array[];
+
+#define GET_MODE_MASK(MODE) mode_mask_array[(int) (MODE)]
/* Get the next wider natural mode (eg, QI -> HI -> SI -> DI -> TI). */
-extern enum machine_mode mode_wider_mode[];
-#define GET_MODE_WIDER_MODE(MODE) (mode_wider_mode[(int) (MODE)])
+extern unsigned char mode_wider_mode[];
+#define GET_MODE_WIDER_MODE(MODE) ((enum machine_mode)mode_wider_mode[(int) (MODE)])
/* Return the mode for data of a given size SIZE and mode class CLASS.
If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE.