mn10300.h (REGISTER_MOVE_COST): Provide more accurate data about SP moves.

* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
accurate data about SP moves.

From-SVN: r33326
This commit is contained in:
Alexandre Oliva 2000-04-21 21:32:24 +00:00 committed by Alexandre Oliva
parent a46ef28535
commit df6aa9bce7
2 changed files with 14 additions and 1 deletions

View File

@ -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

View File

@ -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)