diff options
author | Jim Wilson <wilson@cygnus.com> | 1997-08-31 05:57:40 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-08-30 22:57:40 -0700 |
commit | 2599dcc74ab14923fef52293afad9f5fe2d30e9c (patch) | |
tree | 92cb8569d645ccf8be7eec30b9290b2579a50c9c /gcc | |
parent | 4f122a21abed3b537e9baf105fff9f9066f7c190 (diff) | |
download | gcc-2599dcc74ab14923fef52293afad9f5fe2d30e9c.zip gcc-2599dcc74ab14923fef52293afad9f5fe2d30e9c.tar.gz gcc-2599dcc74ab14923fef52293afad9f5fe2d30e9c.tar.bz2 |
Fix alpha loop unrolling abort.
* unroll.c (calculate_giv_inc): Handle increment with code PLUS.
From-SVN: r15004
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/unroll.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 058eb9e..a337377 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com> + + * unroll.c (calculate_giv_inc): Handle increment with code PLUS. + Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu> * rs6000.md: Make DF fused-add operations pay attention to diff --git a/gcc/unroll.c b/gcc/unroll.c index 2fb1f9a..ce6623c 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1495,10 +1495,11 @@ calculate_giv_inc (pattern, src_insn, regno) if (GET_CODE (increment) == LO_SUM) increment = XEXP (increment, 1); else if (GET_CODE (increment) == IOR - || GET_CODE (increment) == ASHIFT) + || GET_CODE (increment) == ASHIFT + || GET_CODE (increment) == PLUS) { /* The rs6000 port loads some constants with IOR. - The alpha port loads some constants with ASHIFT. */ + The alpha port loads some constants with ASHIFT and PLUS. */ rtx second_part = XEXP (increment, 1); enum rtx_code code = GET_CODE (increment); @@ -1513,6 +1514,8 @@ calculate_giv_inc (pattern, src_insn, regno) if (code == IOR) increment = GEN_INT (INTVAL (increment) | INTVAL (second_part)); + else if (code == PLUS) + increment = GEN_INT (INTVAL (increment) + INTVAL (second_part)); else increment = GEN_INT (INTVAL (increment) << INTVAL (second_part)); } |