Macros related to architecture settings

The following macros can be tested for target architecture settings. All of these macros are predefined to a value of 1 by a -qarch compiler option setting, or any other compiler option that implies that setting. If the -qarch suboption enabling the feature is not in effect, then the macro is undefined.

Table 1. -qarch-related macros
Macro name Description Predefined by the following -qarch suboptions
_ARCH_403 Indicates that the application is targeted to run on the PowerPC 403 processor. 403
_ARCH_604 Indicates that the application is targeted to run on the PowerPC 604 processor. 604
_ARCH_COM Indicates that the application is targeted to run on any Power® processor. Defined for all -qarch suboptions except auto.
_ARCH_PPC Indicates that the application is targeted to run on any Power processor. Defined for all -qarch suboptions except auto.
_ARCH_PPC64 Indicates that the application is targeted to run on Power processors with 64-bit support. ppc64 | pwr3 | rs64b | rs64c | ppc64gr | ppc64grsq | ppc64v | pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PPCGR Indicates that the application is targeted to run on Power processors with graphics support. ppcgr | 604 | pwr3 | rs64b | rs64c | ppc64gr | ppc64grsq | ppc64v | pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PPC64GR Indicates that the application is targeted to run on Power processors with 64-bit and graphics support. pwr3 | rs64b | rs64c | ppc64gr | ppc64v | pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PPC64GRSQ Indicates that the application is targeted to run on Power processors with 64-bit, graphics, and square root support. pwr3 | rs64b | rs64c | ppc64grsq | ppc64v | pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PPC64V Indicates that the application is targeted to run on Power processors with 64-bit and vector processing support. ppc64v | ppc970 | pwr6 | pwr6e | pwr7
_ARCH_PPC970 Indicates that the application is targeted to run on the PowerPC® 970 processor. ppc970
_ARCH_PWR3 Indicates that the application is targeted to run on POWER3 processors. pwr3 | pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PWR4 Indicates that the application is targeted to run on POWER4 processors. pwr4 | pwr5 | pwr5x | pwr6 | pwr6e | pwr7 | ppc970
_ARCH_PWR5 Indicates that the application is targeted to run on POWER5 processors. pwr5 | pwr5x | pwr6 | pwr6e | pwr7
_ARCH_PWR5X Indicates that the application is targeted to run on POWER5+ processors. pwr5x | pwr6 | pwr6e | pwr7
_ARCH_PWR6 Indicates that the application is targeted to run on POWER6® processors. pwr6 | pwr6e | pwr7
_ARCH_PWR6E Indicates that the application is targeted to run on POWER6 processors running in POWER6 raw mode. pwr6e
_ARCH_PWR7 Indicates that the application is targeted to run on POWER7® processors. pwr7
_ARCH_RS64A Indicates that the application is targeted to run on the RS64I processor. rs64a
_ARCH_RS64B Indicates that the application is targeted to run on the RS64II processor. rs64b
_ARCH_RS64C Indicates that the application is targeted to run on the RS64III processor. rs64c