Updated AVR -mint8 option and set proper 64-bit type
authorSvein E. Seldal <Svein.Seldal@solidas.com>
Tue, 25 May 2004 09:48:48 +0000 (09:48 +0000)
committerSvein Seldal <sveinse@gcc.gnu.org>
Tue, 25 May 2004 09:48:48 +0000 (09:48 +0000)
From-SVN: r82233

gcc/ChangeLog
gcc/config/avr/avr.h
gcc/doc/invoke.texi

index 5a8a09e8b1958c149755b831a132378de3495a3e..c5419232d7b24dafd0232c5ac55463f453d02b2b 100644 (file)
@@ -1,3 +1,11 @@
+2004-05-25  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+       * config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
+       to support 32-bit -mint8 mode.
+
+       * doc/invoke.texi (-mint8): Added documentation for the -mint8
+       option in the AVR architecture. 
+
 2004-05-24  Mike Stump  <mrs@apple.com>
 
        * doc/install.texi: Document that dejagnu 1.4.4 is required.
index 6361fbd90348a33b775772d2e38e125cb773f66b..c9beb30410f220dbac87b45ecff80daa4bb0dd24 100644 (file)
@@ -142,7 +142,7 @@ extern int avr_asm_only_p;
 #define INT_TYPE_SIZE (TARGET_INT8 ? 8 : 16)
 #define SHORT_TYPE_SIZE (INT_TYPE_SIZE == 8 ? INT_TYPE_SIZE : 16)
 #define LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 16 : 32)
-#define LONG_LONG_TYPE_SIZE 64
+#define LONG_LONG_TYPE_SIZE (INT_TYPE_SIZE == 8 ? 32 : 64)
 #define FLOAT_TYPE_SIZE 32
 #define DOUBLE_TYPE_SIZE 32
 #define LONG_DOUBLE_TYPE_SIZE 32
index 1ed9e6588f47c0c37ee4b771bc09c69f65f48219..b2ae83c6f5d6706c4f1c9fce230d967efe6e9c9e 100644 (file)
@@ -592,7 +592,7 @@ in the following sections.
 
 @emph{AVR Options}
 @gccoptlist{-mmcu=@var{mcu}  -msize  -minit-stack=@var{n}  -mno-interrupts @gol
--mcall-prologues  -mno-tablejump  -mtiny-stack}
+-mcall-prologues  -mno-tablejump  -mtiny-stack  -mint8}
 
 @emph{MCore Options}
 @gccoptlist{-mhardlit  -mno-hardlit  -mdiv  -mno-div  -mrelax-immediates @gol
@@ -10184,6 +10184,14 @@ Do not generate tablejump insns which sometimes increase code size.
 @item -mtiny-stack
 @opindex mtiny-stack
 Change only the low 8 bits of the stack pointer.
+
+@item -mint8
+@opindex mint8
+Assume int to be 8 bit integer. This affects the sizes of all types: A
+char will be 1 byte, an int will be 1 byte, an long will be 2 bytes
+and long long will be 4 bytes. Please note that this option does not
+comply to the C standards, but it will provide you with smaller code
+size.
 @end table
 
 @node MCore Options