On Tue, Jun 04, 2002 at 03:02:21AM +, [EMAIL PROTECTED] wrote:
Actually, it broke fsck_ffs.
Workaround to avoid the known broken case:
The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.
Fixed in rev 1.368.2.10. * i386.c
gcc now generates inline code for memset in some cases. Broken code.
E.g., compiling the following with -O:
%%%
#include string.h
int foo[100];
int x;
main()
{
memset(foo[0], 0, x);
}
%%%
gives (at least if you have fixed function alignment):
%%%
.file z.c
.text
On Tue, 4 Jun 2002, I wrote:
gcc now generates inline code for memset in some cases. Broken code.
Actually, it only generates inline code for memset in a few more cases,
and the case of a non-constant length is broken (and some cases of
constant lengths are pessimized (e.g., length 7)).
...
Actually, it broke fsck_ffs.
Workaround to avoid the known broken case:
The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.
- Tor Egge
Index: contrib/gcc/config/i386/i386.c