From 5ac6158d0b938f95a80827c7c72b5fadc4976ca7 Mon Sep 17 00:00:00 2001 From: Torbjorn Granlund Date: Wed, 3 Nov 1993 21:09:55 +0000 Subject: [PATCH] (REGISTER_MOVE_COST): Decrease cost for move from SHIFT_REGS to avoid regclass overflow. From-SVN: r5986 --- gcc/config/pa/pa.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 7665c47..f683db3 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1475,14 +1475,15 @@ while (0) /* Compute extra cost of moving data between one register class and another. - Make moves from SAR so expensive they should never happen. + Make moves from SAR so expensive they should never happen. We used to + have 0xffff here, but that generates overflow in rare cases. Copies involving a FP register and a non-FP register are relatively expensive because they must go through memory. Other copies are reasonably cheap. */ #define REGISTER_MOVE_COST(CLASS1, CLASS2) \ - (CLASS1 == SHIFT_REGS ? 0xffff \ + (CLASS1 == SHIFT_REGS ? 0x100 \ : FP_REG_CLASS_P (CLASS1) && ! FP_REG_CLASS_P (CLASS2) ? 16 \ : FP_REG_CLASS_P (CLASS2) && ! FP_REG_CLASS_P (CLASS1) ? 16 \ : 2) -- 2.7.4