Subject: Re: It's x86
From: CBFalconer <[email-masked]>
To: [email-masked]
Date: Fri, 01 Nov 2002 05:21:47 -0500

( resent, due to original mis-address )
Randall R Schulz wrote:
> 
> Since I participated in the confusion about gcc/g++'s interpretation
> of the cpu-type-specific options, I thought I'd post this excerpt
> from the GCC manual page:
> 
>         -mcpu=cpu-type
>             Tune to cpu-type everything applicable about the
>             generated code, except for the ABI and the set of
>             available instructions.  The choices for cpu-type are
>             i386, i486, i586, i686, pentium, pentium-mmx,
>             pentiumpro, pentium2, pentium3, pentium4, k6, k6-2,
>             k6-3, athlon, athlon-tbird, athlon-4, athlon-xp and
>             athlon-mp.
> 
>             While picking a specific cpu-type will schedule things
>             appropriately for that particular chip, the compiler
>             will not generate any code that does not run on the
>             i386 without the -march=cpu-type option being used.
>             i586 is equivalent to pentium and i686 is equivalent
>             to pentiumpro.  k6 and athlon are the AMD chips as
>             opposed to the Intel ones.
> 
>         -march=cpu-type
>             Generate instructions for the machine type cpu-type.
>             The choices for cpu-type are the same as for -mcpu.
>             Moreover, specifying -march=cpu-type implies
>             -mcpu=cpu-type.
> 
> I don't know how to interpret GCC configuration specifications, so I'll
> just take Chris F.'s exhortation as an indication that the architecture
> setting in the Cygwin build of GCC is i386 and that when the Cygwin
> releases are built, that default is not overridden.

The above take more than a cursory reading to absorb what is
happening.  A quick inspection would seem to imply (wrongly) that
the -march option should be used since it does everything in one
swell foop. In actuality it apparently should usually NOT be used.

If this is the case throughout, there should be no problem. I
certainly don't know one way or the other.

Such architecture optimizations are much more likely to have been
taken in the GUI gubris that is being used for display than in
GCC/GDB themselves.  I think the moral is that such settings
should be recorded in the distribution.

-- 
ChX-Mozilla-Status: 0009o.com) ([email-masked])
   Available for consulting/temporary embedded and systems.
   <http://cbfalconer.home.att.net>  USE worldnet address!

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/