From 21034cc50049b323c3ad3c6f1cc424dfc19eae80 Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Fri, 12 Feb 1999 02:41:28 +0000 Subject: [PATCH] c4x.c (c4x_address_cost): Revert 9 Feb change. * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change. (While this patch fixed GIV combination for complex arithmetic it screwed up generation of autoincrement addresses for the common cases.) From-SVN: r25163 --- gcc/ChangeLog | 4 ++++ gcc/config/c4x/c4x.c | 10 ++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0863f1d3dc6..7e03bf54acc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri Feb 12 23:37:26 1999 Michael Hayes + + * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change. + Fri Feb 12 00:51:26 1999 Jeffrey A Law (law@cygnus.com) * reload.c (find_reloads_address_1): Fix handling of an autoincremented diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index d12d985d61e..c1309f15ea9 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -1526,14 +1526,8 @@ rtx addr; break; case REG: - /* Paradoxically, if we want autoincrement addressing for - complex arithmetic and structure arrays, we must give - REG+REG addressing the same cost as REG addressing to - prevent CSE from avoiding REG+REG addresses. This is - because GIV combination in loop.c is suboptimal and - needs fixing. */ - if (flag_strength_reduce) - return 1; + /* This cost for REG+REG must be greater than the cost + for REG if we want autoincrement addressing modes. */ return 2; case CONST_INT: