Hi Everyone, I was wondering about this output when using GCC on PowerPC. Why is GCC advertising Power7 and Power8 when the arch switches to enable them are not present on Linux? ========== This is GCC112 on the compile farm. Both GCC 4.8 and 8.3 have the behavior. Notice there are no options like -maltivec or -mcpu=power8 # GCC 4.8 $ g++ -dM -E - </dev/null | grep -E 'ARCH|ALTIVEC|VSX|CRYPTO' #define _ARCH_PPCGR 1 #define __ALTIVEC__ 1 #define _ARCH_PPCSQ 1 #define _ARCH_PPC 1 #define _ARCH_PWR4 1 #define _ARCH_PWR5 1 #define _ARCH_PWR6 1 #define _ARCH_PWR7 1 #define _ARCH_PWR8 1 #define _ARCH_PWR5X 1 #define __CRYPTO__ 1 #define __VSX__ 1 #define __APPLE_ALTIVEC__ 1 #define _ARCH_PPC64 1 # GCC 8.3 $ /opt/at12.0/bin/g++ -dM -E - </dev/null | grep -E 'ARCH|ALTIVEC|VSX|CRYPTO' #define _ARCH_PPCGR 1 #define __ALTIVEC__ 1 #define _ARCH_PPCSQ 1 #define _ARCH_PPC 1 #define _ARCH_PWR4 1 #define _ARCH_PWR5 1 #define _ARCH_PWR6 1 #define _ARCH_PWR7 1 #define _ARCH_PWR8 1 #define _ARCH_PWR5X 1 #define __CRYPTO__ 1 #define __VSX__ 1 #define __APPLE_ALTIVEC__ 1 #define _ARCH_PPC64 1 ========== This is GCC119 on the compile farm. It is an AIX machine with Power8. # GCC 7.2 $ g++ -dM -E - </dev/null | grep -E 'ARCH|ALTIVEC|VSX|CRYPTO' #define _ARCH_PPCGR 1 #define _ARCH_PPCSQ 1 #define _ARCH_PPC 1 #define _ARCH_PWR4 1 # GCC 7.2 + Altivec $ g++ -maltivec -dM -E - </dev/null | grep -E 'ARCH|ALTIVEC|VSX|CRYPTO' #define _ARCH_PPCGR 1 #define __ALTIVEC__ 1 #define _ARCH_PPCSQ 1 #define _ARCH_PPC 1 #define _ARCH_PWR4 1 #define __APPLE_ALTIVEC__ 1