From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Meissner To: jcardoso@inescn.pt, tv@pobox.com Cc: egcs@cygnus.com Subject: Re: egcs-1.0.2 wrongly detect a Pentium II as a i386 on SCO5 - patch included Date: Wed, 29 Apr 1998 07:57:00 -0000 Message-id: <199804291457.KAA14091@tiktok.cygnus.com> X-SW-Source: 1998-04/msg01147.html | 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)