Re: C Compilers which use full 486 capabilities

mason+@transarc.com (Tony Mason)
Fri, 15 Mar 1991 07:50:36 -0500 (EST)

          From comp.compilers

Related articles
C Compilers which use full 486 capabilities mcarrick@gara.une.oz.au (Mick Carrick) (1991-03-13)
Re: C Compilers which use full 486 capabilities mason+@transarc.com (1991-03-15)
Re: C Compilers which use full 486 capabilities preston@ariel.rice.edu (1991-03-15)
Re: C Compilers which use full 486 capabilities meissner@osf.org (1991-03-16)
Re: C Compilers which use full 486 capabilities rex@aussie.COM (1991-03-17)
Re: C Compilers which use full 486 capabilities pardo@cs.washington.edu (1991-03-18)
Re: C Compilers which use full 486 capabilities preston@ariel.rice.edu (1991-03-19)
| List of all articles for this month |

Newsgroups: comp.compilers
From: mason+@transarc.com (Tony Mason)
Keywords: 486, C, optimize
Organization: Compilers Central
References: <9103130754.AA19293@gara.une.oz.au>
Date: Fri, 15 Mar 1991 07:50:36 -0500 (EST)

Excerpts from netnews.comp.compilers: 13-Mar-91 C Compilers which use
full .. Mick Carrick@gara.une.oz (962)


> [It is my impression that optimizations for the 486 are in most cases the
> same ones that you'd do for the 386. There are a few places on the 486
> where you can avoid pipeline stalls by reordering instructions, and a few
> instructions that are relatively faster or slower, other than that anything
> you'd do for a 386 applies equally. -John]


Actually, the March 1991 issue of Dr. Dobbs Journal of Software Tools
discusses 486 optimization. The author asserts (p. 18):


"The 486 represents a fundamental break with 8088-style optimization.
Virtually all the old rules fail on the 486, where, incredibly, a move
to or from memory often takes just one cycle, but exchanging two
registers takes three cycles."


>From that, I'd conclude the optimization isn't the same. Perhaps the
most current Microsoft C compiler does the job?


Tony Mason
> mason+@transarc.com
[The 486 Programmer's Reference has quite a lot to say about 486 optimization,
and most of what it says also applies to the 386. The MOV vs. XCHG
example is an extreme one, as XCHG is a well-known slow instruction, both
because it has some bus-locking side effects, and because it's not in the
set of frequently used instructions that they optimized to one cycle. There
are a few peculiarities that are different, but in general it's really true
that you make mostly the same decisions on the 486 as on the 386. The
Programmer's Reference manual is quite informative and is well worth the $25
that it costs. -John]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.