This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: List of CPU architecture-specific macros?


On 2017/2/13 10:36, Jeffrey Walton wrote:
I've never seen them change from GCC release to GCC release. Once they
are added, they appear to be written in stone. Changing them would
probably be a bad idea.

The defines will change as you move from one processor to another.
Xeon's seem to cause a lot of confusion. Folks will compile on one
Xeon model, and then experience a SIGILL on another one. The
difference between Xeon E5-2699v4 and Xeon E5-2699v3 is not very
obvious until you realize its Broadwell (E5-2699v4) vs Haswell (
E5-2699v3).

There are a few odd ones, like -mrdrnd and __RDRND__ for the rdrand
instruction. In contrast, rdseed uses all the vowels: -mrdseed and
__RDSEED__.
Thanks so much. So basically I think it is viable to guess those macros from `gcc -dM -E </dev/null` then expect they never change. The command line options are documented well.

--
Best regards,
LH_Mouse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]