diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-03 15:40:44 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-03 15:40:44 +0000 |
commit | 6852ad783e4de52f0913f1682e3e19caef308f7f (patch) | |
tree | 8c8c00f2cfc7e8998e2c678955be93f982798c1e /gcc | |
parent | 6c11cad6eb453556dad071bcf5f24faa5e20b905 (diff) | |
download | gcc-6852ad783e4de52f0913f1682e3e19caef308f7f.tar.gz |
* 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
Delete.
* defaults.h (BITS_PER_WORD): Define.
* doc/tm.texi (BITS_PER_WORD): Document default value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50257 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
46 files changed, 18 insertions, 207 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05eea8d72ab..60c2a8d1e27 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h, + convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h, + i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, + m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, + pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, + stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD): + Delete. + * defaults.h (BITS_PER_WORD): Define. + * doc/tm.texi (BITS_PER_WORD): Document default value. + * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h, m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c, stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete. diff --git a/gcc/config/1750a/1750a.h b/gcc/config/1750a/1750a.h index 6e877568146..f4f6d519ee5 100644 --- a/gcc/config/1750a/1750a.h +++ b/gcc/config/1750a/1750a.h @@ -93,12 +93,6 @@ extern const char *const sectname[4]; /* number of bits in an addressable storage unit */ #define BITS_PER_UNIT 16 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 16 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 1 diff --git a/gcc/config/a29k/a29k.h b/gcc/config/a29k/a29k.h index 2c98d12a650..5292d8fd10c 100644 --- a/gcc/config/a29k/a29k.h +++ b/gcc/config/a29k/a29k.h @@ -165,12 +165,6 @@ extern int target_flags; for them. Might as well be consistent with bytes. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 3ea65568d46..d783997bc45 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -474,12 +474,6 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */ for them. Might as well be consistent with bytes. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 64 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 8 diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h index 29edf4e95e1..d6c24afc86a 100644 --- a/gcc/config/arc/arc.h +++ b/gcc/config/arc/arc.h @@ -191,12 +191,6 @@ do { \ #define LIBGCC2_WORDS_BIG_ENDIAN 0 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 853db6da6d8..524bfbf465c 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -696,8 +696,6 @@ extern int arm_is_6_or_7; This is always true, even when in little-endian mode. */ #define FLOAT_WORDS_BIG_ENDIAN 1 -#define BITS_PER_WORD 32 - #define UNITS_PER_WORD 4 #define POINTER_SIZE 32 diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index 60abfe2be66..d1d06e81fc8 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -126,10 +126,6 @@ extern int avr_enhanced_p; numbered. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; */ -#define BITS_PER_WORD 8 - #ifdef IN_LIBGCC2 /* This is to get correct SI and DI modes in libgcc2.c (32 and 64 bits). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h index ffa888e4e1a..f0695ea703a 100644 --- a/gcc/config/c4x/c4x.h +++ b/gcc/config/c4x/c4x.h @@ -339,7 +339,6 @@ extern const char *c4x_rpts_cycles_string, *c4x_cpu_version_string; sizeof(int) = sizeof(long) = sizeof(float) = sizeof(double) = 1. */ #define BITS_PER_UNIT 32 -#define BITS_PER_WORD 32 #define UNITS_PER_WORD 1 #define POINTER_SIZE 32 #define PARM_BOUNDARY 32 diff --git a/gcc/config/clipper/clipper.h b/gcc/config/clipper/clipper.h index 61845e4d15b..6ae383db3a3 100644 --- a/gcc/config/clipper/clipper.h +++ b/gcc/config/clipper/clipper.h @@ -69,12 +69,6 @@ extern int target_flags; #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/convex/convex.h b/gcc/config/convex/convex.h index b94bb19effb..62dc416f173 100644 --- a/gcc/config/convex/convex.h +++ b/gcc/config/convex/convex.h @@ -434,12 +434,6 @@ extern int target_flags; /* Define this if most significant word of a multiword number is numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 64 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 8 diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index e1d7007ccd5..c547a236755 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -475,8 +475,6 @@ extern int target_flags; post-increment on DImode indirect. */ #define WORDS_BIG_ENDIAN 0 -#define BITS_PER_WORD 32 - #define UNITS_PER_WORD 4 #define POINTER_SIZE 32 diff --git a/gcc/config/d30v/d30v.h b/gcc/config/d30v/d30v.h index 565ed19f76b..0e665600b22 100644 --- a/gcc/config/d30v/d30v.h +++ b/gcc/config/d30v/d30v.h @@ -161,8 +161,6 @@ extern int target_flags; #define WORDS_BIG_ENDIAN 1 -#define BITS_PER_WORD 32 - #define UNITS_PER_WORD 4 #define POINTER_SIZE 32 diff --git a/gcc/config/dsp16xx/dsp16xx.h b/gcc/config/dsp16xx/dsp16xx.h index c794b707e5d..0feb5e8966e 100644 --- a/gcc/config/dsp16xx/dsp16xx.h +++ b/gcc/config/dsp16xx/dsp16xx.h @@ -316,12 +316,6 @@ extern int target_flags; /* number of bits in an addressable storage unit */ #define BITS_PER_UNIT 16 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 16 - /* Maximum number of bits in a word. */ #define MAX_BITS_PER_WORD 16 diff --git a/gcc/config/elxsi/elxsi.h b/gcc/config/elxsi/elxsi.h index f06eda58f8d..b33afd9542f 100644 --- a/gcc/config/elxsi/elxsi.h +++ b/gcc/config/elxsi/elxsi.h @@ -71,12 +71,6 @@ extern int target_flags; /* Define this if most significant word of a multiword number is numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 64 - #define INT_TYPE_SIZE 32 #define LONG_TYPE_SIZE 32 diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h index e15c1e52a94..4d04bc678c0 100644 --- a/gcc/config/fr30/fr30.h +++ b/gcc/config/fr30/fr30.h @@ -83,8 +83,6 @@ extern int target_flags; #define WORDS_BIG_ENDIAN 1 -#define BITS_PER_WORD 32 - #define UNITS_PER_WORD 4 #define POINTER_SIZE 32 diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index 3439453a1e5..3a6fe8fcb3d 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -199,11 +199,6 @@ extern int target_flags; be consistent). */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_H8300H || TARGET_H8300S ? 32 : 16) #define MAX_BITS_PER_WORD 32 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/i370/i370.h b/gcc/config/i370/i370.h index 206a94dc89d..628a021dfd2 100644 --- a/gcc/config/i370/i370.h +++ b/gcc/config/i370/i370.h @@ -86,10 +86,6 @@ extern int mvs_function_name_length; #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. */ - -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index b83b22fe806..f5b8e2f6cc9 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -721,12 +721,6 @@ extern int ix86_arch; /* Not true for 80386 */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 80386, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_64BIT ? 64 : 32) - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4) #define MIN_UNITS_PER_WORD 4 diff --git a/gcc/config/i860/i860.h b/gcc/config/i860/i860.h index 97d77082155..4bba5849690 100644 --- a/gcc/config/i860/i860.h +++ b/gcc/config/i860/i860.h @@ -82,12 +82,6 @@ extern int target_flags; justify the trouble of changing this assumption. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h index a067deaa826..c1446a2db03 100644 --- a/gcc/config/i960/i960.h +++ b/gcc/config/i960/i960.h @@ -400,12 +400,6 @@ extern int target_flags; /* Bitfields cannot cross word boundaries. */ #define BITFIELD_NBYTES_LIMITED 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 0c343343406..afa7bfd212d 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -244,8 +244,6 @@ extern const char *ia64_fixed_range_string; #define LIBGCC2_WORDS_BIG_ENDIAN 0 #endif -#define BITS_PER_WORD 64 - #define UNITS_PER_WORD 8 #define POINTER_SIZE (TARGET_ILP32 ? 32 : 64) diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h index dcbcfd5322b..22a2f99c80e 100644 --- a/gcc/config/m32r/m32r.h +++ b/gcc/config/m32r/m32r.h @@ -442,12 +442,6 @@ extern enum m32r_sdata m32r_sdata; value will be set based on preprocessor defines. */ /*#define LIBGCC2_WORDS_BIG_ENDIAN 1*/ -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h index a6be24fac8b..067c2a3eb75 100644 --- a/gcc/config/m68hc11/m68hc11.h +++ b/gcc/config/m68hc11/m68hc11.h @@ -241,11 +241,8 @@ extern const struct processor_costs *m68hc11_cost; /* Define this if most significant word of a multiword number is numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Number of bits in a word */ -#define BITS_PER_WORD 16 - /* Width of a word, in units (bytes). */ -#define UNITS_PER_WORD (BITS_PER_WORD/8) +#define UNITS_PER_WORD 2 /* Define if you don't want extended real, but do want to use the software floating point emulator for REAL_ARITHMETIC and diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 72ef2c90bf3..a33528826df 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -321,12 +321,6 @@ extern int target_flags; So let's be consistent. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/m88k/m88k.h b/gcc/config/m88k/m88k.h index d486ec64919..8e82c5c8eaa 100644 --- a/gcc/config/m88k/m88k.h +++ b/gcc/config/m88k/m88k.h @@ -335,12 +335,6 @@ extern int flag_pic; /* -fpic */ instructions for them. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h index 4899aa6cc1d..3da212eed06 100644 --- a/gcc/config/mcore/mcore.h +++ b/gcc/config/mcore/mcore.h @@ -247,11 +247,6 @@ extern const char * mcore_stack_increment_string; #define LIBGCC2_WORDS_BIG_ENDIAN 0 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 #define MAX_BITS_PER_WORD 32 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index af986a61f46..f1e170de216 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1569,11 +1569,6 @@ do { \ #define LIBGCC2_WORDS_BIG_ENDIAN 0 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_64BIT ? 64 : 32) #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index 3861e6e7b04..7d2c7f20d39 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -251,7 +251,6 @@ extern int target_flags; #define BYTES_BIG_ENDIAN 1 #define WORDS_BIG_ENDIAN 1 #define FLOAT_WORDS_BIG_ENDIAN 1 -#define BITS_PER_WORD 64 #define UNITS_PER_WORD 8 #define POINTER_SIZE 64 diff --git a/gcc/config/mn10200/mn10200.h b/gcc/config/mn10200/mn10200.h index 6a81b6fbad1..5652041b8b6 100644 --- a/gcc/config/mn10200/mn10200.h +++ b/gcc/config/mn10200/mn10200.h @@ -81,16 +81,9 @@ extern int target_flags; This is not true on the Matsushita MN10200. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. - - This is a white lie. Registers are really 24bits, but most operations +/* This is a white lie. Registers are really 24bits, but most operations only operate on 16 bits. GCC chokes badly if we set this to a value that is not a power of two. */ -#define BITS_PER_WORD 16 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 2 diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h index 184aef135cf..71b73840fb7 100644 --- a/gcc/config/mn10300/mn10300.h +++ b/gcc/config/mn10300/mn10300.h @@ -90,12 +90,6 @@ extern int target_flags; This is not true on the Matsushita MN10300. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h index e0343a69857..58878a289de 100644 --- a/gcc/config/ns32k/ns32k.h +++ b/gcc/config/ns32k/ns32k.h @@ -196,12 +196,6 @@ while (0) numbered. This is not true on the ns32k. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 32000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 770f24363e8..c2bc2ea3c2c 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -389,11 +389,6 @@ extern int target_flags; numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_64BIT ? 64 : 32) #define MAX_BITS_PER_WORD 64 #define MAX_LONG_TYPE_SIZE 32 #define MAX_WCHAR_TYPE_SIZE 32 diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h index 8f69ccf9ce5..38ee43e61d5 100644 --- a/gcc/config/pdp11/pdp11.h +++ b/gcc/config/pdp11/pdp11.h @@ -164,13 +164,6 @@ extern int target_flags; /* Define this if most significant word of a multiword number is numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -/* This is a machine with 16-bit registers */ -#define BITS_PER_WORD 16 - /* Width of a word, in units (bytes). UNITS OR BYTES - seems like units */ diff --git a/gcc/config/pj/pj.h b/gcc/config/pj/pj.h index 804f3963e8a..ed824738b52 100644 --- a/gcc/config/pj/pj.h +++ b/gcc/config/pj/pj.h @@ -133,11 +133,6 @@ extern int target_flags; #define LIBGCC2_WORDS_BIG_ENDIAN 1 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 #define MAX_BITS_PER_WORD 32 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/romp/romp.h b/gcc/config/romp/romp.h index a8e04dd8652..081b5181a49 100644 --- a/gcc/config/romp/romp.h +++ b/gcc/config/romp/romp.h @@ -90,12 +90,6 @@ extern int target_flags; for them. Might as well be consistent with bits and bytes. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 9d64265125f..e8d9022eed4 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -522,11 +522,6 @@ extern int rs6000_altivec_abi; instructions for them. Might as well be consistent with bits and bytes. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (! TARGET_POWERPC64 ? 32 : 64) #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index b8e86bb8c87..0d2d9ff4678 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -106,9 +106,6 @@ extern int current_function_outgoing_args_size; #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. */ - -#define BITS_PER_WORD (TARGET_64BIT ? 64 : 32) #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 28cf110c0ec..8d98aa2573b 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -430,11 +430,6 @@ do { \ #define LIBGCC2_WORDS_BIG_ENDIAN 1 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_SHMEDIA ? 64 : 32) #define MAX_BITS_PER_WORD 64 #define MAX_LONG_TYPE_SIZE MAX_BITS_PER_WORD diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 22645c3b530..348d98c5888 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -710,11 +710,6 @@ extern struct sparc_cpu_select sparc_select[]; #define LIBGCC2_WORDS_BIG_ENDIAN 1 #endif -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD (TARGET_ARCH64 ? 64 : 32) #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h index 7fde3def2d6..8f5dbb851d7 100644 --- a/gcc/config/stormy16/stormy16.h +++ b/gcc/config/stormy16/stormy16.h @@ -89,8 +89,6 @@ extern int target_flags; #define WORDS_BIG_ENDIAN 0 -#define BITS_PER_WORD 16 - #define UNITS_PER_WORD 2 #define POINTER_SIZE 16 diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h index 1cf58da1290..a42eb74dea3 100644 --- a/gcc/config/v850/v850.h +++ b/gcc/config/v850/v850.h @@ -228,12 +228,6 @@ extern struct small_memory_info small_memory[(int)SMALL_MEMORY_max]; This is not true on the NEC V850. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h index fbd3e38c9c7..ce5d35064dd 100644 --- a/gcc/config/vax/vax.h +++ b/gcc/config/vax/vax.h @@ -105,12 +105,6 @@ extern int target_flags; /* This is not true on the VAX. */ #define WORDS_BIG_ENDIAN 0 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a 68000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/we32k/we32k.h b/gcc/config/we32k/we32k.h index 7d9ac440f0a..b3ff2062bb9 100644 --- a/gcc/config/we32k/we32k.h +++ b/gcc/config/we32k/we32k.h @@ -62,12 +62,6 @@ extern int target_flags; since there are no machine instructions for them. */ #define WORDS_BIG_ENDIAN 1 -/* Width in bits of a "word", which is the contents of a machine register. - Note that this is not necessarily the width of data type `int'; - if using 16-bit ints on a we32000, this would still be 32. - But on a machine with 16-bit registers, this would be 16. */ -#define BITS_PER_WORD 32 - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 39a28782cea..8e049a8f0aa 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -235,8 +235,6 @@ extern unsigned xtensa_current_frame_size; /* Define this if most significant word of a multiword number is the lowest. */ #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) -/* Width in bits of a "word", which is the contents of a machine register. */ -#define BITS_PER_WORD 32 #define MAX_BITS_PER_WORD 32 /* Width of a word, in units (bytes). */ diff --git a/gcc/defaults.h b/gcc/defaults.h index 2d0005d3b67..fe467404a68 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -285,6 +285,10 @@ do { \ #define BITS_PER_UNIT 8 #endif +#ifndef BITS_PER_WORD +#define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD) +#endif + #ifndef CHAR_TYPE_SIZE #define CHAR_TYPE_SIZE BITS_PER_UNIT #endif diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 2d7c3e0f250..2e8ee707d4d 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -928,7 +928,8 @@ unit (byte). If you do not define this macro the default is 8. @findex BITS_PER_WORD @item BITS_PER_WORD -Number of bits in a word; normally 32. +Number of bits in a word. If you do not define this macro, the default +is @code{BITS_PER_UNIT * UNITS_PER_WORD}. @findex MAX_BITS_PER_WORD @item MAX_BITS_PER_WORD |