Re: memset() broken in gcc-3.1 on i386's

2002-06-04 Thread David O'Brien
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

memset() broken in gcc-3.1 on i386's

2002-06-03 Thread Bruce Evans
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

Re: memset() broken in gcc-3.1 on i386's

2002-06-03 Thread Bruce Evans
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)). ...

Re: memset() broken in gcc-3.1 on i386's

2002-06-03 Thread Tor . Egge
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