public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Intel 386 and AMD x86-64 Options
@ 2003-03-03 21:07 Ander
  2003-03-03 23:51 ` Richard Henderson
  2003-03-10 21:47 ` Falk Hueffner
  0 siblings, 2 replies; 6+ messages in thread
From: Ander @ 2003-03-03 21:07 UTC (permalink / raw)
  To: gcc

[-- Attachment #1: Type: text/plain, Size: 707 bytes --]

Hi,

I want to know if there is any difference in using -march=i686,
-march=pentium3, -march=athlon, -march=athlon-xp or if they are all
synonyms of -march=i686. I'm writing code in the configure.ac to add the
optios for the detected CPU, and I don't know if it will be enougth to
detect the family of the processor and use -march=i386, -march=i486,
-march=i586 and -march=i686, or if I have to find the CPU model and use
the specific option.

I'm not subscribed to this list, so please send a copy of the answer to
my personal address.

Thanks.

-- 

Ander Lozano Pérez
ander1@wanadoo.es

Desarrollador de DiaSCE
http://diasce.es.gnome.org
diasce@es.gnome.org
irc.gnome.org #DiaSCE

[-- Attachment #2: Esta parte del mensaje esta firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Intel 386 and AMD x86-64 Options
  2003-03-03 21:07 Intel 386 and AMD x86-64 Options Ander
@ 2003-03-03 23:51 ` Richard Henderson
  2003-03-04  0:00   ` Ander
  2003-03-10 21:47 ` Falk Hueffner
  1 sibling, 1 reply; 6+ messages in thread
From: Richard Henderson @ 2003-03-03 23:51 UTC (permalink / raw)
  To: Ander; +Cc: gcc

On Mon, Mar 03, 2003 at 10:00:48PM +0100, Ander wrote:
> I want to know if there is any difference in using -march=i686,
> -march=pentium3, -march=athlon, -march=athlon-xp or if they are all
> synonyms of -march=i686.

They are not synonyms.  P3 adds SSE1, Athlon has different
scheduling characteristics, etc.  You also failed to mention P4,
but perhaps that was obvious.


r~

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Intel 386 and AMD x86-64 Options
  2003-03-03 23:51 ` Richard Henderson
@ 2003-03-04  0:00   ` Ander
  2003-03-04 11:12     ` Allan Sandfeld
  0 siblings, 1 reply; 6+ messages in thread
From: Ander @ 2003-03-04  0:00 UTC (permalink / raw)
  To: Richard Henderson; +Cc: gcc

[-- Attachment #1: Type: text/plain, Size: 780 bytes --]

> > I want to know if there is any difference in using -march=i686,
> > -march=pentium3, -march=athlon, -march=athlon-xp or if they are all
> > synonyms of -march=i686.
> 
> They are not synonyms.  P3 adds SSE1, Athlon has different
> scheduling characteristics, etc.  You also failed to mention P4,
> but perhaps that was obvious.

Yes, I did not mention P4 because it belongs to family 15. Where can I
get a list of which parameter corresponds with each procesor. In the
"AMD processor recognition application note" (#20734) There is no Athlon
Tbird, and there is an option for that processor in the -march
parameter.

-- 

Ander Lozano Pérez
ander1@wanadoo.es

Desarrollador de DiaSCE
http://diasce.es.gnome.org
diasce@es.gnome.org
irc.gnome.org #DiaSCE

[-- Attachment #2: Esta parte del mensaje esta firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Intel 386 and AMD x86-64 Options
  2003-03-04  0:00   ` Ander
@ 2003-03-04 11:12     ` Allan Sandfeld
  2003-03-04 13:49       ` Ander
  0 siblings, 1 reply; 6+ messages in thread
From: Allan Sandfeld @ 2003-03-04 11:12 UTC (permalink / raw)
  To: Ander; +Cc: gcc

On Tuesday 04 March 2003 00:58, Ander wrote:
> > > I want to know if there is any difference in using -march=i686,
> > > -march=pentium3, -march=athlon, -march=athlon-xp or if they are all
> > > synonyms of -march=i686.
> >
> > They are not synonyms.  P3 adds SSE1, Athlon has different
> > scheduling characteristics, etc.  You also failed to mention P4,
> > but perhaps that was obvious.
>
> Yes, I did not mention P4 because it belongs to family 15. Where can I
> get a list of which parameter corresponds with each procesor. In the
> "AMD processor recognition application note" (#20734) There is no Athlon
> Tbird, and there is an option for that processor in the -march
> parameter.

I think what you want to know is in this table from gcc/configI/i386/i386.c:

  const processor_alias_table[] =
    {
      {"i386", PROCESSOR_I386, 0},
      {"i486", PROCESSOR_I486, 0},
      {"i586", PROCESSOR_PENTIUM, 0},
      {"pentium", PROCESSOR_PENTIUM, 0},
      {"pentium-mmx", PROCESSOR_PENTIUM, PTA_MMX},
      {"winchip-c6", PROCESSOR_I486, PTA_MMX},
      {"winchip2", PROCESSOR_I486, PTA_MMX | PTA_3DNOW},
      {"c3", PROCESSOR_I486, PTA_MMX | PTA_3DNOW},
      {"i686", PROCESSOR_PENTIUMPRO, 0},
      {"pentiumpro", PROCESSOR_PENTIUMPRO, 0},
      {"pentium2", PROCESSOR_PENTIUMPRO, PTA_MMX},
      {"pentium3", PROCESSOR_PENTIUMPRO, PTA_MMX | PTA_SSE | 
PTA_PREFETCH_SSE},
      {"pentium4", PROCESSOR_PENTIUM4, PTA_SSE | PTA_SSE2 |
				       PTA_MMX | PTA_PREFETCH_SSE},
      {"k6", PROCESSOR_K6, PTA_MMX},
      {"k6-2", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
      {"k6-3", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
      {"athlon", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
				   | PTA_3DNOW_A},
      {"athlon-tbird", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE
					 | PTA_3DNOW | PTA_3DNOW_A},
      {"athlon-4", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
				    | PTA_3DNOW_A | PTA_SSE},
      {"athlon-xp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
				      | PTA_3DNOW_A | PTA_SSE},
      {"athlon-mp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
				      | PTA_3DNOW_A | PTA_SSE},
    };

As you can see there is no difference between athlon and athlon-tbird. 

`Allan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Intel 386 and AMD x86-64 Options
  2003-03-04 11:12     ` Allan Sandfeld
@ 2003-03-04 13:49       ` Ander
  0 siblings, 0 replies; 6+ messages in thread
From: Ander @ 2003-03-04 13:49 UTC (permalink / raw)
  To: Allan Sandfeld; +Cc: gcc

[-- Attachment #1: Type: text/plain, Size: 1845 bytes --]

> I think what you want to know is in this table from gcc/configI/i386/i386.c:
> 
>   const processor_alias_table[] =
>     {
>       {"i386", PROCESSOR_I386, 0},
>       {"i486", PROCESSOR_I486, 0},
>       {"i586", PROCESSOR_PENTIUM, 0},
>       {"pentium", PROCESSOR_PENTIUM, 0},
>       {"pentium-mmx", PROCESSOR_PENTIUM, PTA_MMX},
>       {"winchip-c6", PROCESSOR_I486, PTA_MMX},
>       {"winchip2", PROCESSOR_I486, PTA_MMX | PTA_3DNOW},
>       {"c3", PROCESSOR_I486, PTA_MMX | PTA_3DNOW},
>       {"i686", PROCESSOR_PENTIUMPRO, 0},
>       {"pentiumpro", PROCESSOR_PENTIUMPRO, 0},
>       {"pentium2", PROCESSOR_PENTIUMPRO, PTA_MMX},
>       {"pentium3", PROCESSOR_PENTIUMPRO, PTA_MMX | PTA_SSE | 
> PTA_PREFETCH_SSE},
>       {"pentium4", PROCESSOR_PENTIUM4, PTA_SSE | PTA_SSE2 |
> 				       PTA_MMX | PTA_PREFETCH_SSE},
>       {"k6", PROCESSOR_K6, PTA_MMX},
>       {"k6-2", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
>       {"k6-3", PROCESSOR_K6, PTA_MMX | PTA_3DNOW},
>       {"athlon", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
> 				   | PTA_3DNOW_A},
>       {"athlon-tbird", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE
> 					 | PTA_3DNOW | PTA_3DNOW_A},
>       {"athlon-4", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
> 				    | PTA_3DNOW_A | PTA_SSE},
>       {"athlon-xp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
> 				      | PTA_3DNOW_A | PTA_SSE},
>       {"athlon-mp", PROCESSOR_ATHLON, PTA_MMX | PTA_PREFETCH_SSE | PTA_3DNOW
> 				      | PTA_3DNOW_A | PTA_SSE},
>     };
> 
> As you can see there is no difference between athlon and athlon-tbird. 

I think that is all I will need.

Thanks

-- 

Ander Lozano Pérez
ander1@wanadoo.es

Desarrollador de DiaSCE
http://diasce.es.gnome.org
diasce@es.gnome.org
irc.gnome.org #DiaSCE

[-- Attachment #2: Esta parte del mensaje esta firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Intel 386 and AMD x86-64 Options
  2003-03-03 21:07 Intel 386 and AMD x86-64 Options Ander
  2003-03-03 23:51 ` Richard Henderson
@ 2003-03-10 21:47 ` Falk Hueffner
  1 sibling, 0 replies; 6+ messages in thread
From: Falk Hueffner @ 2003-03-10 21:47 UTC (permalink / raw)
  To: Ander; +Cc: gcc

Ander <ander1@wanadoo.es> writes:

> I want to know if there is any difference in using -march=i686,
> -march=pentium3, -march=athlon, -march=athlon-xp or if they are all
> synonyms of -march=i686. I'm writing code in the configure.ac to add
> the optios for the detected CPU, and I don't know if it will be
> enougth to detect the family of the processor and use -march=i386,
> -march=i486, -march=i586 and -march=i686, or if I have to find the
> CPU model and use the specific option.

I wrote a small script (http://people.debian.org/~falk/gcc-arch) that
tries to do this, maybe it is of use to you. It only handles i386 and
Alpha. I'm not sure I got it 100% correct, though, suggestions are
welcomed.

-- 
	Falk

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-03-10 21:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-03 21:07 Intel 386 and AMD x86-64 Options Ander
2003-03-03 23:51 ` Richard Henderson
2003-03-04  0:00   ` Ander
2003-03-04 11:12     ` Allan Sandfeld
2003-03-04 13:49       ` Ander
2003-03-10 21:47 ` Falk Hueffner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).