This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-1.0.2 wrongly detect a Pentium II as a i386 on SCO5 - patch included
- To: jcardoso at inescn dot pt, tv at pobox dot com
- Subject: Re: egcs-1.0.2 wrongly detect a Pentium II as a i386 on SCO5 - patch included
- From: Michael Meissner <meissner at cygnus dot com>
- Date: Wed, 29 Apr 1998 10:57:55 -0400
- Cc: egcs at cygnus dot com
| On Mon, 27 Apr 1998, Joao Cardoso wrote:
|
| : On sco-3.2v5.0.4 `configure' wrongly detect a Pentium II as a i386.
|
| This is actually half correct.
Well if you look at config.guess, you will see that it gets the information
from /usr/options/cb.name if it exists, and /bin/uname -X if it does not.
Somebody who has a SCO system with a Pentium-II will have to supply us with the
appropriate lines to use, since there is no telling what an OS might choose to
report.
| : I don't know if this has any implications on code generation. A simple
| : `gcc -S foo.c' report `-mcpu=i386 -march=pentium'
|
| The -march= is what really matters. All i[3456]86 based chips are, at their
| base, considered `i386' processors, but the architecture can be set for code
| generation as gcc does above. The actual architecture name is i386, not
| i586 or i686.
|
| When it comes down to it, a machine name such as `i586-pc-linux' is
| incorrect. `configure' just happily accepts it and treats it as
| `i386-pc-linux'. Same goes for SCO.
Wrong. If you configure for i386-pc-linux, it will default the scheduling
parameters to be an i386. If you configure for i585-pc-linux, it will default
the scheduling parameters to be a Pentium classic. Similarly for
i686-pc-linux, it will default for a Pentium-{Pro,II}. For example, when
compiling for a i386, the compiler believes the fastest way to push a value in
memory is to execute a single push instruction, while for all machines higher
than a i386, it loads the value into a register and then does a push.
--
Michael Meissner, Cygnus Solutions (Massachusetts office)
4th floor, 955 Massachusetts Avenue, Cambridge, MA 02139, USA
meissner@cygnus.com, 617-354-5416 (office), 617-354-7161 (fax)