From 3daef6b2e1bbe2063d85dbf872646805ec148414 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 6 Jun 2005 19:22:19 +0000 Subject: * 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@100673 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/combine.c | 4 ++-- gcc/config/ia64/ia64.c | 2 +- gcc/config/rs6000/rs6000.c | 10 +++++----- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa63fbb261c..69bcc422168 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-06-06 Jakub Jelinek + + * 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 * tree-ssa-reassoc.o: New. diff --git a/gcc/combine.c b/gcc/combine.c index 251c1eeafb8..7cecc3d0102 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 7b20280b746..e119ecb2b1a 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 9626885a664..6a55de112db 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); } -- cgit v1.2.3