I downloaded latest version of djgpp (with gcc2.72) and i see that
specs are still defining -no-strength-reduce.
This bug has been fixed in the Linux community.
This is the patch that fixes the bug:
===================================
Date sent: Thu, 11 Jan 1996 21:08:15 +1000
From: Tony Nugent <tonyn@sctnugen.ppp.gu.edu.au>
To: linux-kernel@vger.rutgers.edu, lkinley@frugal.Com
Subject: Re: gcc 2.7.2 -fno-strength-reduce bug...
Lance Kinley <lkinley@frugal.Com> wrote on Tue, 2 Jan 1996:
> I appear to have deleted ALL the messages with the patch for this bug.
> (I thought I kept at least one of them...oh well) Can someone mail me
> the patch, please?
*** gcc-2.7.0/loop.c Thu Sep 7 10:35:36 1995
--- gcc-2.7.0-x/loop.c Thu Sep 7 10:32:38 1995
*************** maybe_eliminate_biv_1 (x, insn, bl, elim
*** 6130,6135 ****
--- 6130,6140 ----
{
if (invariant_p (arg) == 1)
{
+ #if 0 /* Linear transformations of the compared values
+ are incorrect unless it can be verified that
+ overflow behaviour stays the same for all possible
+ values of the loop bound, for all iterations. */
+
/* Look for giv with constant positive mult_val and nonconst
add_val. Insert insns to compute new compare value. */
*************** maybe_eliminate_biv_1 (x, insn, bl, elim
*** 6156,6161 ****
--- 6161,6167 ----
if (apply_change_group ())
return 1;
}
+ #endif
}
/* This code has problems. Basically, you can't know when
===================================
Is this patch already in (i didn't fetch the sources, yet)??
If so we can correct ../lib/specs; if not we have better apply it (IMHO).
Many thanks for the GOOOOD work.
Ciao
Mauro