https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341
--- Comment #15 from David Edelsohn <dje at gcc dot gnu.org> --- GCC is not magic black box for invoking every other part of the toolchain with the correct options. If the assembly code uses POWER6 (ISA 2.05) instructions, it should set the ISA level appropriately. The assembly code in question is using the pre-processor of GCC, which defines machine macros. The logic for setting command line options is too complicated and error-prone to recreate separate from the ISA target flags. GCC emits the correct ISA level when generating an assembly file, but utilizing GCC for the pre-processor capabilities does not emit any new assembly instructions for GCC to set directives at the start of the file. The change in GCC behavior is because it is too cumbersome for GCC to get this right in some corner cases.