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

Erik Leunissen e.leunissen@hccnet.nl
Sat Jan 21 16:53:00 GMT 2012


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
- Can I specifiy multiple -march options in one compile command?, or
- Do I need to compile separately for each 64-bit architecture?, or
- ... ?

I'd appreciate very much any directions about how to proceed.


Thanks for any insight,

Erik Leunissen.



More information about the Gcc-help mailing list