This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Enable register `r6' on AM33


For some reason, register `r6' had been omitted from all register
classes.  Jeff, was there any reason for that?  Enabling it generates
smaller code in general, even though it seems to produce slightly
larger math code.  But, in general, it seems to be a win.  See the
comparisons below.

Installing it in the current tree (without the address-cost patch I've
just posted) causes the following changes:

v gcc/am33/libgcc.a 27587 27516
^ mn10300-elf/am33/libiberty/libiberty.a 28031 28052
v mn10300-elf/am33/libio/libio.a 24547 23801
v mn10300-elf/am33/libio/libiostream.a 66798 66057
v mn10300-elf/am33/libstdc++/libstdc++.a 73722 72979
v mn10300-elf/am33/newlib/libc.a 48292 47802
v mn10300-elf/am33/newlib/libc/libc.a 46845 46355
v mn10300-elf/am33/newlib/libc/stdio/lib.a 17331 17048
v mn10300-elf/am33/newlib/libc/stdlib/lib.a 20593 20386
v mn10300-elf/am33/newlib/libg.a 48292 47802
^ mn10300-elf/am33/newlib/libm.a 96377 96463
^ mn10300-elf/am33/newlib/libm/common/lib.a 8317 8330
^ mn10300-elf/am33/newlib/libm/libm.a 96377 96463
^ mn10300-elf/am33/newlib/libm/math/lib.a 88060 88133

Installing it after the address-cost patch:

v gcc/am33/libgcc.a 27000 26928
^ mn10300-elf/am33/libiberty/libiberty.a 27978 27999
v mn10300-elf/am33/libio/libio.a 24535 23789
v mn10300-elf/am33/libio/libiostream.a 64724 63983
v mn10300-elf/am33/libstdc++/libstdc++.a 70646 69903
v mn10300-elf/am33/newlib/libc.a 48235 47745
v mn10300-elf/am33/newlib/libc/libc.a 46788 46298
v mn10300-elf/am33/newlib/libc/stdio/lib.a 17330 17047
v mn10300-elf/am33/newlib/libc/stdlib/lib.a 20593 20386
v mn10300-elf/am33/newlib/libg.a 48235 47745
^ mn10300-elf/am33/newlib/libm.a 96377 96463
^ mn10300-elf/am33/newlib/libm/common/lib.a 8317 8330
^ mn10300-elf/am33/newlib/libm/libm.a 96377 96463
^ mn10300-elf/am33/newlib/libm/math/lib.a 88060 88133

Here's the patch.  Ok to install?

Index: gcc/ChangeLog
from  Alexandre Oliva  <aoliva@cygnus.com>

	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16
	to all EXTENDED bitmaps.

Index: gcc/config/mn10300/mn10300.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/mn10300/mn10300.h,v
retrieving revision 1.25
diff -u -r1.25 mn10300.h
--- gcc/config/mn10300/mn10300.h	2000/03/29 13:10:44	1.25
+++ gcc/config/mn10300/mn10300.h	2000/04/21 11:49:23
@@ -257,13 +257,13 @@
    {0x00200},		/* SP_REGS */		\
    {0x001ff},		/* DATA_OR_ADDRESS_REGS */\
    {0x003f0},		/* SP_OR_ADDRESS_REGS */\
-   {0x2fc00},		/* EXTENDED_REGS */	\
-   {0x2fc0f},		/* DATA_OR_EXTENDED_REGS */	\
-   {0x2fdf0},		/* ADDRESS_OR_EXTENDED_REGS */	\
-   {0x2fe00},		/* SP_OR_EXTENDED_REGS */	\
-   {0x2fff0},		/* SP_OR_ADDRESS_OR_EXTENDED_REGS */	\
-   {0x2fdff},		/* GENERAL_REGS */    	\
-   {0x2ffff},		/* ALL_REGS 	*/	\
+   {0x3fc00},		/* EXTENDED_REGS */	\
+   {0x3fc0f},		/* DATA_OR_EXTENDED_REGS */	\
+   {0x3fdf0},		/* ADDRESS_OR_EXTENDED_REGS */	\
+   {0x3fe00},		/* SP_OR_EXTENDED_REGS */	\
+   {0x3fff0},		/* SP_OR_ADDRESS_OR_EXTENDED_REGS */	\
+   {0x3fdff},		/* GENERAL_REGS */    	\
+   {0x3ffff},		/* ALL_REGS 	*/	\
 }
 
 /* The same information, inverted:

-- 
Alexandre Oliva    Enjoy Guaranį, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat company        aoliva@{redhat, cygnus}.com
Free Software Developer and Evangelist    CS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org}   Write to mailing lists, not to me

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]