Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!necntc!ames!ucbcad!ucbvax!decvax!ima!johnl From: johnl@ima.UUCP Newsgroups: comp.compilers Subject: Good non-coprocessor compiler for 80386 Unix V.3 Message-ID: <610@ima.ISC.COM> Date: Tue, 7-Jul-87 20:17:17 EDT Article-I.D.: ima.610 Posted: Tue Jul 7 20:17:17 1987 Date-Received: Wed, 15-Jul-87 00:55:02 EDT Sender: johnl@ima.ISC.COM Lines: 33 Approved: compilers@ima.UUCP We are investigating compilers for the 80386 to be alternatives for the compiler supplied with the Intel/Interactive V.3 Unix port. Metaware and GreenHills have been suggested, however they generate code for the floating-point coprocessor, which is emulated through a system of traps in the Unix kernel. As a point of benchmark reference, the floating point performance of a coprocessorless 386 is less than one-third that of a co-processorless 68010 (not even a 68020). Our suspicion is that the extra time is being spent in trap processing. We would like to purchase a good quality compiler that will generate code to use a floating point library, directly called. Ideally, it would also support the equivalent of a "-F" switch (using only single precision in all calculations.) Any leads? Thanks -- Carl [The PC/IX C compiler for the 8088 also used floating point traps, but the overhead there seemed to be small. I worked for Interactive at the time, and the thinking was that people who care about FP performance will appreciate the in-line FP code, and people who don't will appreciate that the same binaries run either way. Given the relatively low cost of an 80287 compared to the rest of the system, it still seems sound to me. I'd be interested in hearing about other compilers, though. It's not hard to generate better code than PCC does. -John] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request