diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-01-01 10:17:26 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-01-01 10:17:26 -0700 |
commit | 1224aecbffbd9ea2b6fce6c8c2b5236984379e24 (patch) | |
tree | 4081086225921c71375ce456182acfc9b7915a96 /gcc | |
parent | 6afcfe635efee8919d30f41dcaaafb00668b2116 (diff) | |
download | gcc-1224aecbffbd9ea2b6fce6c8c2b5236984379e24.zip gcc-1224aecbffbd9ea2b6fce6c8c2b5236984379e24.tar.gz gcc-1224aecbffbd9ea2b6fce6c8c2b5236984379e24.tar.bz2 |
pa.h (REGISTER_MOVE_COST): Make moving between FP and non-FP register more expensive.
* pa.h (REGISTER_MOVE_COST): Make moving between FP and non-FP
register more expensive.
From-SVN: r3040
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 1ed9a98..a56c9a5 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1393,10 +1393,12 @@ while (0) #define REGISTER_MOVE_COST(CLASS1, CLASS2) \ ((((CLASS1 == FP_REGS || CLASS1 == SNAKE_FP_REGS \ || CLASS1 == HI_SNAKE_FP_REGS) \ - && (CLASS2 == R1_REGS || CLASS2 == GENERAL_REGS)) \ - || ((CLASS1 == R1_REGS || CLASS1 == GENERAL_REGS) \ + && (CLASS2 == R1_REGS || CLASS2 == GENERAL_REGS \ + || CLASS2 == SHIFT_REGS)) \ + || ((CLASS1 == R1_REGS || CLASS1 == GENERAL_REGS \ + || CLASS1 == SHIFT_REGS) \ && (CLASS2 == FP_REGS || CLASS2 == SNAKE_FP_REGS \ - || CLASS2 == HI_SNAKE_FP_REGS))) ? 6 : 2) + || CLASS2 == HI_SNAKE_FP_REGS))) ? 16 : 2) /* Provide the costs of a rtl expression. This is in the body of a switch on CODE. The purpose for the cost of MULT is to encourage |