Date: Thu, 26 Mar 1998 09:01:17 -0800 (PST) From: Tom Bartol <bartol@salk.edu> To: John Polstra <jdp@polstra.com> Cc: bde@zeta.org.au, current@FreeBSD.ORG Subject: Re: gcc bug in -current!!! Message-ID: <Pine.BSF.3.96.980326085617.12348A-100000@dale.salk.edu> In-Reply-To: <199803261333.FAA19528@austin.polstra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I confirm that this patch fixes the symptoms that prompted my original posting regarding this bug. My random number generator now gives me the correct stream. Thanks!!! Tom On Thu, 26 Mar 1998, John Polstra wrote: > In article <199803250712.SAA28158@godzilla.zeta.org.au>, > Bruce Evans <bde@zeta.org.au> wrote: > > >I confirm this bug present. To narrow down search path, even cc from Mar 6 > > >works fine. Here is diff from assembler code generated by old and new cc > > >(without optimization), old first: as we see, main change is that "fildq" > > >replaced with "fildll". > > > > gas doesn't understand fildll (it silently (:-() converts it to fildl). > > This patch to "as" fixes the test case, and I think it's correct. > This is not to say that the compiler shouldn't be fixed. But the > assembler should be fixed too, and that's easier. :-) > > I haven't done a make world with this, or any large-scale testing at > all. (My -current system is in a bit of a mess at the moment.) Does > anybody see a problem with it? > > Index: i386.h > =================================================================== > RCS file: /home/ncvs/src/gnu/usr.bin/as/opcode/i386.h,v > retrieving revision 1.8 > diff -u -r1.8 i386.h > --- i386.h 1997/07/15 07:56:53 1.8 > +++ i386.h 1998/03/26 13:15:44 > @@ -472,6 +472,7 @@ > {"fldl", 1, 0xdd, 0, Modrm, Mem, 0, 0}, /* %st0 <-- mem double */ > {"fldl", 1, 0xd9c0, _, ShortForm, FloatReg, 0, 0}, /* register */ > {"filds", 1, 0xdf, 0, Modrm, Mem, 0, 0}, /* %st0 <-- mem dword */ > +{"fildll", 1, 0xdf, 5, Modrm, Mem, 0, 0}, /* %st0 <-- mem qword */ > {"fildq", 1, 0xdf, 5, Modrm, Mem, 0, 0}, /* %st0 <-- mem qword */ > {"fldt", 1, 0xdb, 5, Modrm, Mem, 0, 0}, /* %st0 <-- mem efloat */ > {"fbld", 1, 0xdf, 4, Modrm, Mem, 0, 0}, /* %st0 <-- mem bcd */ > @@ -491,6 +492,7 @@ > {"fstpl", 1, 0xdd, 3, Modrm, Mem, 0, 0}, /* %st0 --> mem double */ > {"fstpl", 1, 0xddd8, _, ShortForm, FloatReg, 0, 0}, /* register */ > {"fistps", 1, 0xdf, 3, Modrm, Mem, 0, 0}, /* %st0 --> mem dword */ > +{"fistpll", 1, 0xdf, 7, Modrm, Mem, 0, 0}, /* %st0 --> mem qword */ > {"fistpq", 1, 0xdf, 7, Modrm, Mem, 0, 0}, /* %st0 --> mem qword */ > {"fstpt", 1, 0xdb, 7, Modrm, Mem, 0, 0}, /* %st0 --> mem efloat */ > {"fbstp", 1, 0xdf, 6, Modrm, Mem, 0, 0}, /* %st0 --> mem bcd */ > > > John > -- > John Polstra jdp@polstra.com > John D. Polstra & Co., Inc. Seattle, Washington USA > "Self-knowledge is always bad news." -- John Barth > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980326085617.12348A-100000>