Commit e81dd381 by Kaveh R. Ghazi Committed by Kaveh Ghazi

1750a.h, [...] (BITS_PER_WORD): Delete.

	* 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.

From-SVN: r50257
parent 9a571cfd
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.
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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). */
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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)
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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). */
......
......@@ -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). */
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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 */
......
......@@ -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). */
......
......@@ -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
......
......@@ -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). */
......
......@@ -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). */
......
......@@ -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
......
......@@ -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). */
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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). */
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment