summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-21 21:32:24 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-21 21:32:24 +0000
commit4ee1c8f7dbbcaa191837a292cd246c4fbabc3368 (patch)
tree2a796bbd7e0d31a2c0bf256958c5fc578b8a32d6
parent4113a737b5b80228cf8d500e8eb636abc142ecc6 (diff)
downloadppe42-gcc-4ee1c8f7dbbcaa191837a292cd246c4fbabc3368.tar.gz
ppe42-gcc-4ee1c8f7dbbcaa191837a292cd246c4fbabc3368.zip
* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
accurate data about SP moves. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33326 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mn10300/mn10300.h10
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d0bac161c38..140d2a6567a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Apr 21 18:30:00 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
+ accurate data about SP moves.
+
Fri Apr 21 18:28:28 2000 Alexandre Oliva <aoliva@cygnus.com>
* config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 412aad7dbb4..9369e7ca95b 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -816,7 +816,15 @@ struct cum_arg {int nbytes; };
#define REGISTER_MOVE_COST(CLASS1, CLASS2) \
((CLASS1 == CLASS2 && (CLASS1 == ADDRESS_REGS || CLASS1 == DATA_REGS)) ? 2 :\
- CLASS1 == CLASS2 && CLASS1 == EXTENDED_REGS ? 6 : 4)
+ ((CLASS1 == ADDRESS_REGS || CLASS1 == DATA_REGS) && \
+ (CLASS2 == ADDRESS_REGS || CLASS2 == DATA_REGS)) ? 4 : \
+ (CLASS1 == SP_REGS && CLASS2 == ADDRESS_REGS) ? 2 : \
+ (CLASS1 == ADDRESS_REGS && CLASS2 == SP_REGS) ? 4 : \
+ ! TARGET_AM33 ? 6 : \
+ (CLASS1 == SP_REGS || CLASS2 == SP_REGS) ? 6 : \
+ (CLASS1 == CLASS2 && CLASS1 == EXTENDED_REGS) ? 6 : \
+ (CLASS1 == EXTENDED_REGS || CLASS2 == EXTENDED_REGS) ? 4 : \
+ 4)
#define ADDRESS_COST(X) mn10300_address_cost((X), 0)
OpenPOWER on IntegriCloud