Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!sdd.hp.com!decwrl!bacchus.pa.dec.com!rust.zso.dec.com!shlump.nac.dec.com!engage.enet.dec.com!marx.enet.dec.com!grier From: grier@marx.enet.dec.com (Michael J. Grier) Newsgroups: comp.lang.misc Subject: Re: Aggressive optimization Message-ID: <1990Oct30.165712@marx.enet.dec.com> Date: 30 Oct 90 21:59:55 GMT References: <16101@csli.Stanford.EDU> <2060@aber-cs.UUCP> <65592@lanl.gov> <2677@l.cc.purdue.edu> <12175@ganymede.inmos.co.uk> Sender: news@engage.enet.dec.com Reply-To: grier@marx.enet.dec.com (Michael J. Grier) Organization: Digital Equipment Corporation Lines: 51 In article <16101@csli.Stanford.EDU>, poser@csli.Stanford.EDU (Bill Poser) writes: |> Fancy assemblers have been around for a long time. Consider the |> VAX assembler (the DEC one, not the UNIX one), which had the pseudo-op |> JBR which was translated into a JMP or BRanch instruction depending on |> how far away the target ended up, and allowed a high-level specification |> of the register save mask for subroutine calls, so you didn't have to |> figure it out in binary. Or the MACRO assembler for DEC 20s, which |> had all sorts of high-level stuff. It was practically an HLL. |> |> Ummm... I don't know what assembler you're using but on my definitive VAX VMS macro assembler... $ create xyz.mar .entry main, ^M<> jbr a a: ret .end main (^Z here) $ macro xyz.mar 0002 3 jbr a %MACRO-E-UNRECSTMT, Unrecognized statement ! There were 1 error, 0 warnings and 0 information messages, on lines: 3 (1) MACRO XYZ.MAR I've only seen this pseudo-operation in Unix/Ultrix VAX assemblers, never in the real VAX macro assembler. I think that these optimizing assemblers should not be called assemblers also. After all, they're not the 1-1 translators that assemblers are supposed to be. (True, I haven't seen that concrete of a definition anywhere, and it is useful to have some common instruction scheduling and peephole-optimizing for a platform done in a common place, but then it's not an assembler, IMO.) ------------------------------------------------------------------------------ Michael J. Grier grier@leno.dec.com Software Engineer Digital Equipment Corporation but I don't speak for 'em!