From: Torbjorn Granlund Date: Wed, 3 Nov 1993 21:09:55 +0000 (+0000) Subject: (REGISTER_MOVE_COST): Decrease cost for move from X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5ac6158d0b938f95a80827c7c72b5fadc4976ca7;p=gcc.git (REGISTER_MOVE_COST): Decrease cost for move from SHIFT_REGS to avoid regclass overflow. From-SVN: r5986 --- diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 7665c4722e7..f683db38920 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)