diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-06-06 21:22:19 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-06-06 21:22:19 +0200 |
commit | c8b622ff2d0a7c7e030c3e3a8f4a45a75c814227 (patch) | |
tree | 601f45251a4905b151a8508b171462fb89b0a153 /gcc | |
parent | 012309e6a8dbb77cea4e916d8328ba7e63a592f4 (diff) | |
download | gcc-c8b622ff2d0a7c7e030c3e3a8f4a45a75c814227.zip gcc-c8b622ff2d0a7c7e030c3e3a8f4a45a75c814227.tar.gz gcc-c8b622ff2d0a7c7e030c3e3a8f4a45a75c814227.tar.bz2 |
combine.c (try_combine): Use hard_regno_nregs array instead of HARD_REGNO_NREGS macro.
* combine.c (try_combine): Use hard_regno_nregs array instead of
HARD_REGNO_NREGS macro.
* config/rs6000/rs6000.c (rs6000_split_multireg_move,
rs6000_register_move_cost, rs6000_memory_move_cost): Likewise.
* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
From-SVN: r100673
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/combine.c | 4 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 10 |
4 files changed, 16 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa63fbb..69bcc42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-06-06 Jakub Jelinek <jakub@redhat.com> + + * combine.c (try_combine): Use hard_regno_nregs array instead of + HARD_REGNO_NREGS macro. + * config/rs6000/rs6000.c (rs6000_split_multireg_move, + rs6000_register_move_cost, rs6000_memory_move_cost): Likewise. + * config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise. + 2005-06-06 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-reassoc.o: New. diff --git a/gcc/combine.c b/gcc/combine.c index 251c1ee..7cecc3d 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2385,8 +2385,8 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) || GET_MODE (*split) == VOIDmode || (REGNO (i2dest) < FIRST_PSEUDO_REGISTER && HARD_REGNO_MODE_OK (REGNO (i2dest), GET_MODE (*split)) - && (HARD_REGNO_NREGS (REGNO (i2dest), GET_MODE (i2dest)) - == HARD_REGNO_NREGS (REGNO (i2dest), GET_MODE (*split)))) + && (hard_regno_nregs[REGNO (i2dest)][GET_MODE (i2dest)] + == hard_regno_nregs[REGNO (i2dest)][GET_MODE (*split)])) || (REGNO (i2dest) >= FIRST_PSEUDO_REGISTER && REG_N_SETS (REGNO (i2dest)) == 1 && ! added_sets_2 && ! REG_USERVAR_P (i2dest))) diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 7b20280..e119ecb 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -2008,7 +2008,7 @@ mark_reg_gr_used_mask (rtx reg, void *data ATTRIBUTE_UNUSED) unsigned int regno = REGNO (reg); if (regno < 32) { - unsigned int i, n = HARD_REGNO_NREGS (regno, GET_MODE (reg)); + unsigned int i, n = hard_regno_nregs[regno][GET_MODE (reg)]; for (i = 0; i < n; ++i) current_frame_info.gr_used_mask |= 1 << (regno + i); } diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9626885..6a55de1 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -11586,7 +11586,7 @@ rs6000_split_multireg_move (rtx dst, rtx src) reg = REG_P (dst) ? REGNO (dst) : REGNO (src); mode = GET_MODE (dst); - nregs = HARD_REGNO_NREGS (reg, mode); + nregs = hard_regno_nregs[reg][mode]; if (FP_REGNO_P (reg)) reg_mode = DFmode; else if (ALTIVEC_REGNO_P (reg)) @@ -17925,7 +17925,7 @@ rs6000_register_move_cost (enum machine_mode mode, else /* A move will cost one instruction per GPR moved. */ - return 2 * HARD_REGNO_NREGS (0, mode); + return 2 * hard_regno_nregs[0][mode]; } /* Moving between two similar registers is just one instruction. */ @@ -17946,11 +17946,11 @@ rs6000_memory_move_cost (enum machine_mode mode, enum reg_class class, int in ATTRIBUTE_UNUSED) { if (reg_classes_intersect_p (class, GENERAL_REGS)) - return 4 * HARD_REGNO_NREGS (0, mode); + return 4 * hard_regno_nregs[0][mode]; else if (reg_classes_intersect_p (class, FLOAT_REGS)) - return 4 * HARD_REGNO_NREGS (32, mode); + return 4 * hard_regno_nregs[32][mode]; else if (reg_classes_intersect_p (class, ALTIVEC_REGS)) - return 4 * HARD_REGNO_NREGS (FIRST_ALTIVEC_REGNO, mode); + return 4 * hard_regno_nregs[FIRST_ALTIVEC_REGNO][mode]; else return 4 + rs6000_register_move_cost (mode, class, GENERAL_REGS); } |