This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Enable register `r6' on AM33
- To: gcc-patches at gcc dot gnu dot org
- Subject: Enable register `r6' on AM33
- From: Alexandre Oliva <aoliva at cygnus dot com>
- Date: 21 Apr 2000 09:29:04 -0300
- Organization: Cygnus Solutions, a Red Hat Company
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