Re: Which -march option to use for a generic 64-bit cpu?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/01/2012, Erik Leunissen wrote:
> L.S.
>
> I'd like to generate code that runs on a selection of common 64-bit
> cpu's, both Intel and AMD[*].
>
>      [*] Aside: I'm not yet entirely sure yet about the final selection
> of architectures, but in any case I would like to support core2, atom,
> athlon64 (not yet sure about opteron and AMD multicore cpu's).
>
> To that end, I've been looking in the list of "-march" options to gcc
> for a specific option that indicates such a common set of architectures
> (much like "-march=i686" for 32-bit architectures).
>
> I remain confused about how to do this for 64-bit cpu's. I found several
> options indicating specific cpu's that I'd like to run my code on.
> However, I guess that I'm clueless about "backward compatibility" of
> (closely) related 64-bit cpu types (like i386 code being supported by
> i686 with 32-bit cpu's). Also, I'm unsure about the differences between
> AMD and Intel in this regard.
>
> - Do options indicating such a generic 64-bit cpu exist?, or

Why do you think you need to use any -march option?
If do don't use one you'll get code that runs on any x86_64 machine.

> - Can I specifiy multiple -march options in one compile command?, or

No.

> - Do I need to compile separately for each 64-bit architecture?, or
> - ... ?
>
> I'd appreciate very much any directions about how to proceed.

Just compile without any -march, unless you're sure your code will
always run on chips that support more specific features. Each -march
option lists the features it enables, so you should be able to work
out what options will work for all the machines you want to use.  e.g.
don't use -march=core2 if you want to support chips without SSSE3.

You can always use -mtune=generic to generate code that is tuned for
common chips, but still runs on older ones.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux