Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC840302); site mcvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!teddy!panda!talcott!harvard!seismo!mcvax!jim From: jim@mcvax.UUCP (Jim McKie) Newsgroups: net.bugs.4bsd Subject: Re: 4.2bsd C compiler generates incorrect code Message-ID: <415@mcvax.UUCP> Date: Tue, 15-Jan-85 17:32:34 EST Article-I.D.: mcvax.415 Posted: Tue Jan 15 17:32:34 1985 Date-Received: Thu, 17-Jan-85 04:38:03 EST References: <1327@hao.UUCP> <410@mcvax.UUCP> Reply-To: jim@mcvax.UUCP (Jim McKie) Distribution: net Organization: CWI, Amsterdam Lines: 16 I am no compiler expert, but I looked at the difference in the code template tables (pcc/table.c) between a version of the 4.2 compiler which works and one which doesn't. The broken compiler did not have the NASL (share left register) for the 'convert float to double for comparison' table entry below: OPLOG, FORCC, SAREG|AWD, TFLOAT, SAREG|AWD, TDOUBLE, NAREG|NASL, RESCC, " cvtfd AL,A1\n cmpd A1,AR\nZP", With the 'NASL', it seems to generate the correct code. Anyone care to confirm who has more experience with the compiler? --jim