Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site decwrl.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!hpda!fortune!amd!decwrl!dec-rhea!dec-rani!leichterj From: leichterj@rani.DEC Newsgroups: net.wanted Subject: High-quality 68000 C compiler - survey results. (Long!) Message-ID: <3552@decwrl.UUCP> Date: Fri, 7-Sep-84 21:39:52 EDT Article-I.D.: decwrl.3552 Posted: Fri Sep 7 21:39:52 1984 Date-Received: Fri, 14-Sep-84 03:47:43 EDT Sender: daemon@decwrl.UUCP Organization: DEC Engineering Network Lines: 606 I posted a request to the net a couple of weeks ago asking for information on production-quality optimizing C compilers for the 68000. This note contains the responses. First, a summary: I heard from a lot of people. The most widely known, and widely praised, compiler was that produced by Green Hills Software. They seem to be widely acknowledged to have the best optimizer in the business - they do all the register assignments, loop invarient removal, etc. They appear to sometimes produce code that has been optimized for space rather than time - other compilers produce larger but somewhat faster images. The Green Hills compiler runs as a cross-compiler on VAXes running either VMS or Unix, and produces assembler output; Green Hills does not sell assemblers, debuggers, or other associated tools. They also have compilers for a couple of other languages, and support for 16032's. An object license runs about $6000. They can be reached at (818) 796-6543. (Some of the letters list them in the 213 area code. This is obsolete, though it will work. They are in Pasadena, BTW.) A number of people recommended AT&T's new 68000 compiler. I didn't contact them for two reasons: It's a new product, and I'd like to see the thing out in the field and running for a while before I commit to it; and it seems to be more oriented toward being the compiler on a Unix system, rather than a cross-compiler for small, embedded system. Give it a year, and the story might be a little different. (Partly, the above is rationalization - talking to vendors takes a LOT of time, which I don't have - so I have to do some admittedly arbitrary pre-screening. If anyone has had good experiences with the new AT&T compiler, by all means post some information about it - I'm sure a lot of people will be interested.) Anyway, they can be reached at (800) 828-UNIX (though the person at AT&T who cited this number says it's "for pricing info. and to order"). The same comments apply, even more strongly, to the Amsterdam Compiler kit, which a couple of people mentioned. On the other side of this "one year wait" is Intermetrics. We talked to them a year ago and had the same misgivings I now have about AT&T. Now, they have a real product that looks very attractive. The compiler produces object code directly; the object code feeds into a complete set of linker/loader/librarian utilities that Intermetrics provides with the compiler. The whole system was specifically designed for use in producing embedded. They also cost around $6000, but because they use their own object format, you have to use their assembler (about another $4000 - though you don't need it unless you actually do assembler coding). For further information, contact Deborah Sears at (617) 661 0072 (Cambridge, Mass.). Other people I talked to: John Gertwagen at Gould in Urbana - they used to be Compion - has what looks like it could be a nice compiler, though it doesn't run on VMS. They say they've been using it in-house for a while - it's a new back-end on the compiler used for Gould's Unix port - but they've only started selling it as a product in the last couple of months. I haven't had a chance to look closely at it yet. For further info, call John at (217) 384 8500. A few people mentioned LPI - Language Processors Incorporated. It turns out that LPI's "compiler back-end guru" is an old friend and fellow hacker. He claims their C compiler is really good, and I believe him. Unfortunately, LPI's business as far as C compilers is concerned is producing things you can plug in to replace PCC on your Unix system to improve performance. (They also have tons of other compilers, debuggers, etc.) They don't seem to be the right people to deal with, at the moment, for a cross-compiler for a stand-alone system. If you want more info from them, call them in Waltham, Mass. at (617) 890 1155. In a private conversation, one person suggested talking to Masscomp. I never got the chance. For reference, here is the request I originally sent out: Newsgroups: net.lang.c,net.micro,net.wanted Subject: Wanted: High-quality 68000 C compiler Posted: Wed Aug 15 08:19:09 1984 I am interested in information about high-quality C compilers for the MC68000. I need a production-quality compiler that produces good code - the more it optimizes, the better. The compiler: - Must be available today or within the next 3 months. (Given the need for "production quality", if it's not available today it would have to be in late field test. People with great slide shows and no working code need not apply.) - Must produce code that can run stand-alone and is ROM-able (perhaps with some manipulation of the code or the compiler output). - Should preferably run as a cross-compiler on a VAX running VMS, but other arrangements can be made if necessary. Good debugging support would, of course, be a plus, but we can live without it. We are willing to pay what's necessary for such a tool if we can find it. As a point of information, we currently use the Whitesmith cross-compiler. The code it produces is so bad that we've felt confident in promising to find a compiler that will do 20% better (code size reduction). I think even more is possible. Any information would be appreciated. Please do not reply to the net. Reply to one of the addresses given below; I will sumarize the responses and post them to net.micro and net.lang.c in about two weeks. -- Jerry decvax!decwrl!rhea!rani!leichterj (UUCP) leichterj%rani.dec@decwrl.arpa (Internet) I'd like to be fair to Whitesmith, by the way: While they don't produce very good code, they do provide a pretty reliable compiler, plus a good collection of tools - and they are very inexpensive. The rest of this note contains copies of the messages I received. I've edited them very slightly, and sorted them by the compiler they refer to. I've also inserted some remarks, set off in [* - *] pairs. Thanks to everyone who responded. I found the information very useful, and hope this summary is useful to you. I would, of course, be happy to receive any further information, or hear about any mistakes. -- Jerry *****Green Hills: From: RHEA::DECWRL::"rick@seismo.ARPA" "Rick Adams" 16-AUG-1984 11:57 Return-Path: I was pretty impressed with the code produced by the C compiler of a company called "Green Hills" (I don't have the address, sorry). It's one of the better ones around and I've heard rumors to the effect that Sun Microsystems uses their compiler. It's certainly worth a look. ---rick --------- From: RHEA::DECWRL::"brownell@harvard.ARPA" "Dave Brownell" 16-AUG-1984 12:36 The best we found as of last year this time, now in production but they are still doing work on it, is by "Green Hills Software". It does a bit much register shuffling, but unless they get it out they lose lots of money. It does a reasonable job of putting things in registers and has some reasonable loop optimizations. Our OS speeded up by 20% when we recompiled it with their compiler; the size decreased by about 40K (out of 256K). The one we were using was the bare MIT compiler, albeit with bug fixes. Of course we DID have to worry about the loop optimizations removing all the device register manipulations ... I'm not saying it's God's Gift to Us Programmers, but only that it's the best we found on a reasonable search last year this time. Dave Brownell Sequoia Systems Inc --------- [* Additional correspondence with Dave: *] From: RHEA::DECWRL::"sequoia!brownell@harvard.ARPA" "Dave Brownell" 17-AUG-1984 16:56 A person (programmer, methinks) at GRH is Dan O'Dowd Green Hills Software (818) 796-6543 Another person is Carl Rosenberg (last name may be wrong) ... the reason I mention him is that I have a mail address for him: ...harvard!sequoia!aphasia!carl I'd be interested in hearing what you have to say about the compiler after you look at it. Do you have any other leads on good 68K C compilers? Dave Brownell Sequoia Systems Inc. sequoia!brownell@harvard.ARPA --------- From: RHEA::DECWRL::"sequoia!brownell@harvard.ARPA" "Dave Brownell" 21-AUG-1984 17:26 I'm glad other people seem to like them!! There's been a bit of concern over here that Green Hills C might not improve system performance enough. I guess that's due to the high standards here ... they do some interesting optimizations. Like, if they know that the range of a variable is 0 <= X <= 100 they would do a byte fetch even if it's an 'int' !! [* Remarks about Intermetrics elided here, see below *] Keep me posted ... Dave --------- From: RHEA::DECWRL::"dual!mats" 17-AUG-1984 10:08 My first choice, based only on brief usage, is to go talk to Green Hills. [* Comments about several other compilers elided; see below, under "Others" *] Mats Wichmann Dual Systems Corp. ...{ucbvax,amd,ihnp4,cbosgd,decwrl,fortune}!dual!mats --------- From: RHEA::DECWRL::"flairvax!kissell" "Baba ROM DOS" 17-AUG-1984 12:49 Talk to Green Hills Software. They're in Orange county somewhere, phone (213) 796-6543. We have a one that runs under UNIX. I don't know about VMS. Kevin D. Kissell Fairchild Research Center Advanced Processor Development uucp: {ihnp4 decvax}!decwrl!\ >flairvax!kissell {ucbvax sdcrdcf}!hplabs!/ --------- From: RHEA::DECWRL::"decvax!allegra!hammond" "Rich A. Hammond" 17-AUG-1984 14:37 Return-Path: Jerry, Try looking at the Green Hills compiler. It is a cross compiler, I think it will run under Berklix on a VAX, they might have a VMS version. They make great claims about it and when we typed in the single benchmark they sent and compiled it with an internal AT&T 68k compiler (similar to the SGS 68k stuff AT&T sells) the Green Hills was better. One of the neat things about the compiler was that it tried to keep locals in registers, even if they weren't declared register. This is a great help in porting code, since we found we could get a 10% reduction in code size on the AT&T compiler simply by declaring as many as possible of the heavily used local variables as registers. The problem with modifying all the source is obvious, it is much nicer to have the compiler do it automatically. Problems: The compiler generated assembly language output. That wasn't a problem for us because we had the nifty System 5 loader which allows you to specify sections at any addresses you choose. We would have been upset if it hadn't produced assembly code. Caveats: The most obvious optimization that we couldn't make was to use short (16 bit) constant addresses for globals and function names. This was a problem with the loader and not the compiler, but you might check about it on any compiler you consider. Most loaders insist on maximum length (i.e. 32 bits) for addresses, what we really wanted was to use 16 bit addresses for everything from -32k to +32k and 32 bit addresses for objects elsewhere. We didn't find anything that could do that. Rich Hammond allegra!mouton!hammond --------- From: RHEA::DECWRL::"decvax!felix!wes" "Wes Chalfant" 20-AUG-1984 03:40 Return-Path: We have been using a compiler from a company in Pasadena, Calif. called Green Hills for about 4 months and and have found the code generated about 25% better than that generated by the MIT pcc-derived compiler (which may have been the basis for the Whitesmith's compiler -- the code generated by the Whitesmith's compiler seems to be comparable). Their address and phone number are: Green Hills Software 55 N. St. John Ave. Pasadena, CA 91103 (213) 796-6543 This compiler generates assembly code in either the MIT or Motorola formats. Assuming you are a 4.1 licensee, I can give you a version of the 4.1 "ld" program that has been modified to allow specification of the base addresses for the text, data and bss segments -- with appropriate startup code, this can (and has) been used to generate ROM resident code. Wes Chalfant, FileNet Corporation {ucbvax,decvax}!trwrb!felix!wes --------- From: RHEA::DECWRL::"decvax!wivax!bazelman" 20-AUG-1984 12:42 Return-Path: The people at Green Hills Software have a nice 68000 compiler and Cross- compiler that runs under UNIX and VMS. They can be reached at (213) 796-6543. There is also a nice source level debugger available from Third Eye Software (415) 321- 0967. These two tools work together. Rudy Bazelmans Wang Institute/Labs --------- From: RHEA::DECWRL::"decvax!genrad!harvard!brown" "Bob Brown" 21-AUG-1984 00:31 Return-Path: I have heard that the Green Hills 68000 C compiler produces the best code of any currently available. bob --------- From: RHEA::DECWRL::"decvax!hplabs!hpfcla!hpdcdb!mike" 23-AUG-1984 01:05 Return-Path: Check out Greenhill Software in Pasadena, CA. They have what appears to be a very good quality retargetable compiler running on a VAX. The price, however, is steep. M.F. McNelly hplabs!hpfcla!mike --------- *****Intermetrics From: RHEA::DECWRL::"ihnp4!inmet!porges" 17-AUG-1984 03:30 Intermetrics has available (NOW) a 68000 C cross-compiler that produces ROM-able code and meets your other requirements as you descibed them. It runs under VMS and Vax Unix (b4.1), and has been in the field since last August. Contact us at (617) 661-0072 and ask for Deborah Sears. -- Don Porges ...harpo!inmet!porges ...hplabs!sri-unix!cca!ima!inmet!porges ...yale-comix!ima!inmet!porges --------- From: RHEA::DECWRL::"decvax!genrad!charlie" "Charlie Havener" 20-AUG-1984 22:14 Return-Path: Try Intermetrics in Cambridge Mass. I believe they have what you want. 617-661-1840 --------- From: RHEA::DECWRL::"ihnp4!uw-beaver!ssc-vax!eve@ssc-bee" "Michael Eve" 21-AUG-1984 01:38 We have just received Intermetrics "InterC" compiler. This is a cross-compiler running under Unix which can generate code for either an 8086 or a 68000. We are using the 8086 version, but do not yet have enough experience to rate the compiler. Intermetrics claims to have implemented C ala K&R including the preprocessor and runtime library. There are, however, extensions and restrictions which are summarized in the documentation. I suggest you give Intermetrics a call at (617) 661-1840. Mike Eve --------- From: RHEA::DECWRL::"sequoia!brownell@harvard.ARPA" "Dave Brownell" 21-AUG-1984 17:26 [* Remarks about Green Hills elided here, see above *] Re Intermetrics: they promised a lot when we tried to evaluate them. They were still in development, though, and buggy; given the hassles we had in dealing with Intermetrics, we scratched them off our list. They could well be more together, now that it's a released product; I tell you this since your original posting implied a need for a high quality, stable compiler right NOW. Keep me posted ... Dave --------- *****Amsterdam Compiler Kit From: RHEA::DECWRL::"decvax!mcvax!vu44!tjalk!sater" 17-AUG-1984 11:02 Return-Path: Have you looked at the Amsterdam Compiler Kit? I am biased of course since I helped produce it, but it is available, we think we generate good code and it is a lot more then just a C-compiler for the 68000. Look in CACM September '83 for an overview article. Hans van Staveren Vrije Universiteit Amsterdam Holland --------- From: RHEA::DECWRL::"ihnp4!uiucdcs!uiucdcsb:husmann" "Harlan Husmann" 17-AUG-1984 11:45 Have you check into the Amsterdam Compiler Kit? I have no experience with it; all I know about is what I've read. It may be worth checking into, however. References: "A Practical Tool Kit for Making Portable Compilers" Tanenbaum, et al. CACM V.26, N.9 (Sept 83) "Does anybody out there want to write HALF of a compiler?" Tanenbaum, et al. SIGPLAN, V.19, N.8 (Aug 84) Harlan Husmann {pur-ee,ihnp4}!uiucdcs!husmann --------- From: RHEA::DECWRL::"decvax!mcvax!ace!willemw" 23-AUG-1984 13:22 Return-Path: From: Willem Wakker ACE Associated Computer Experts bv, NZ. Voorburgwal 314 Amsterdam Phone +31 20 262400 Telex 11702 ace TO: Mr. Jerry Leichter Dear Mr. Leichter, We have the C compiler for the MC68000 that you are looking for. This (UNIX) C compiler runs on any UNIX system (or UNIX look alike) and under VMS on the VAX. The C compiler forms with our F77 compiler and our Pascal compiler a coherent set of compilers for the MC68000, all sharing the same code generator. The F77 compiler is the first UNIX F77 compiler AND the first F77 compiler for the MC68000 that has been validated by the FSTC (the Federal Software Testing Centre) in the USA. The compilers produce assembly source in a format compatible with the standard MOTOROLA format for the instructions and addressing modes, but with UNIX like pseudo ops. A conversion program to other formats (e.g. OASYS) is available. Our current object format is the classical UNIX 'a.out' format, the UNIX SYSTEM 5 COFF format will be available within a few weeks. Price: C front-end, F77 front-end, Pascal front-end and MC68000 codegenerator cost Dfl 2400.- each, so the price of a complete (binary) C compiler is Dfl 4800.- Note: for the VMS version, a (binary) UNIX license for the VAX is needed. --------- ******AT&T From: RHEA::DECWRL::"gwyn@Brl-Vld.ARPA" "Doug Gwyn (VLD/VMB)" 16-AUG-1984 19:48 The MC68000 Software Generation System from AT&T is reputed to be quite good. I have the documentation but not the software itself. It likes to run on UNIX System V but can undoubtedly be ported to other UNIX-like environments. --------- From: RHEA::DECWRL::"ihnp4!ihnp1!bentley!dfh" "DF Hoerl" 17-AUG-1984 00:13 ATT Technologies has a great one - it runs under UNIX and generates great code, optimizes it, etc. Call them (ATT Tech). David Hoerl --------- From: RHEA::DECWRL::"ihnp4!sftri!jss" 17-AUG-1984 03:31 ATT has, I believe, released a 68000 C compiler. I know it has been released as a cross compiler under UNIX (Although I don't know what machine it cross compiles from.) Code quality is essentially the same as the UNIX C Compilers. (I don't know if you consider this production quality.) I also don't know how to get one, but presumably you can find some ATT marketing somewhere. Jerry Schwarz ATT Bell Labs Summit, NJ 201-522-6252 --------- From: RHEA::DECWRL::"decvax!allegra!sfbc!ljg" 23-AUG-1984 19:47 Return-Path: I wish to submit the AT&T 68000 Software Generation System. It is a product. It can be bought today (call 800-828-UNIX for pricing info. and to order). The whole software package includes pre-processor, compiler, optimizer, assembler, link editor (ld) (you can put almost anything anywhere you want), nm, disassembler, dump, size, strip, archiver (ar), lorder, and manual pages. (there is also a convert program for changing byte order.) This package is guaranteed to run on UNIX (TM of AT&T) on VAX (TM of Digital Equip. Corp.) 11/780 and 11/750. Since you specify VAX VMS, I'm not sure how helpful this is to you. If I can be of service, don't hesitate to call ( (201)522-6029 ) or mail to me (the path should be something like decvax!allegra!btlunix!ljg or decvax!allegra!sfbc!ljg). I accept collect calls, and my hours tend to be late ones. Leora Gregory AT&T Bell Laboratories Summit Facility rm. E-314 190 River Rd. Summit NJ 07901 --------- ******Others From: RHEA::DECWRL::"mlsmith@NADC" 16-AUG-1984 11:39 We just had a demo from Emulogic on a development system including Compiling and debugging. Since the system is based on the DEC Pro computer, it likes talking to Vaxen and will provide the tools you require. good luck, mlsmith@nadc.ARPA [* Actually, it's Emulogic we've been using. They have traditionally used the Whitesmith compiler; recently, they've developed their SLICE system, which gives you things like source-level debugging - very neat, but the compiler is basically unchanged (well, a little better). For some reason, the SLICE environment restricts you to 6-char globals, while the old one allowed 8 - we had to munge a lot of code. Tektronix is promising a similar debugging environment for their emulators, but we haven't seen it working yet. *] --------- From: RHEA::DECWRL::"amd!hpda!hplabs!ucbvax!SHahn@SUMEX-AIM.ARPA" "Sam Hahn" 16-AUG-1984 22:27 Have you looked at the DRI C compiler? No floats, and only under cp/m-68000, but reputedly close to standard. I've not run into any serious problems with it. I know people using Whitesmith C, and it is MUCH closer to K&R than Whitesmith, as well as producing better code. -- sam hahn --------- From: RHEA::DECWRL::"dual!mats" 17-AUG-1984 10:08 My first choice, based only on brief usage, is to go talk to Green Hills. LPI (Language Processors) also has a C compiler - I don't know about the quality of their products at all. Philon is working on a C compiler - their results with other languages have been excellent, but given the careful manner in which they work, I doubt if they will be ready within three months. Then of course there is AT&T, as part of the System V/68000 release.....IF you can call an AT&T compiler production quality. The Green Hills and AT&T products run as cross compilers also. I sympathise with you if you are stuck with Whitesmiths - I have had my fling with them as well and have some idea of their great quality. Mats Wichmann Dual Systems Corp. ...{ucbvax,amd,ihnp4,cbosgd,decwrl,fortune}!dual!mats --------- From: RHEA::DECWRL::"decvax!allegra!convex!hosking" "Doug Hosking" 18-AUG-1984 19:24 Return-Path: Try Boston Systems Office 469 (?) Moody St. Waltham Mass. (617) 894-7800 I don't know the right person to contact, but Greg Morris or Steve Texin should be able to point you in the right direction. What I've heard from friends who work there sounds encouraging. At the moment, the product is pretty new, but sounds a lot better than what's available from other places, and has the promise of becoming even better. BSO also has simulators, debuggers, cross compilers, cross assemblers and the like for a LARGE variety of other micros. Though their 68000 C compiler is new, they've been producing their other products for at least 10 years worldwide. They apparently have some special agreements with DEC, so be sure to tell them where you're from. I'd be very interested in hearing what you find out from other places, both good and bad, since we may be in the market for such things in the near future. Good luck! Doug Hosking decvax!allegra!convex!hosking [* I've known people who used the BSO stuff a year or two back. I had forgot- ten about them until just now, in editing this reply. I'll have to give them a ring if I have the chance... Sigh. *] --------- From: RHEA::DECWRL::"amd!amdcad!resonex!tggsu" "Tom Gulvin Root" 23-AUG-1984 05:31 We have the Alcyon 68000 C compiler and it not only produces reasonably good code, it compiles almost as fast as our 4.2 native compiler on the vax. It doesn't have the greatest library in the world, but such is life... Alcyon Corporation 8716 Production Avenue (cute, huh?) San Diego, CA 92121 (619)578-0860 (We talked with Bill Allen, VP Software) Tom Gulvin - Resonex, Inc. - Sunnyvale, CA - (408)720-8600 --------- From: RHEA::DECWRL::"allegra!philabs!aecom!mberste" "mpoppers @ aecom" 28-AUG-1984 00:54 Off the top of my head, I remember that the Sages (II and IV) support C in the p-system environment, and they do use a 68000 processor. Michael Poppers {philabs,pegasus,rocky2,spike,ihnp4,cucard} ! aecom ! poppers P.S. 1) Please forgive any mailing attempts besides this one. 2) Any reply has to go to aecom/mberste C/O me until my acct. comes back up on Sept. 11. Ta ta! --------- ******A Request From: RHEA::DECWRL::"decvax!mcvax!vu44!jack" 19-AUG-1984 19:15 Return-Path: Don't post the results to net.micro, please post them to net.micro.68k. Net.micro seems to be taken over by atari and commodore, while net.micro.68k addresses a more serious group of people interested in the 68000. Jack Jansen, {philabs|decvax}!mcvax!vu44!jack PS: Sorry, I don't know a compiler for you. --------- [* Since the original promised a response in net.micro, I've posted there, but I've also added net.micro.68k. *]