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