I'd like to remove -many from the options passed by default to the assembler, on the grounds that a gcc bug in instruction selection (eg. emitting a power9 insn for -mcpu=power8) is better found at assembly time than run time.
This might annoy people for a while fixing user asm that we didn't diagnose previously, but I believe this is the right direction to go. Of course, -Wa,-many is available for anyone who just wants their dodgy old code to work. Bootstrapped etc. powerpc64le-linux. OK? * config/rs6000/rs6000.h (ASM_CPU_SPEC): Remove -many. * config/rs6000/aix61.h (ASM_CPU_SPEC): Likewise. * config/rs6000/aix71.h (ASM_CPU_SPEC): Likewise. * testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c: Don't use power mnemonics. diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h index 353e5d6cfeb..a7a8246bfe3 100644 --- a/gcc/config/rs6000/aix61.h +++ b/gcc/config/rs6000/aix61.h @@ -91,8 +91,7 @@ do { \ %{mcpu=630: -m620} \ %{mcpu=970: -m970} \ %{mcpu=G5: -m970} \ -%{mvsx: %{!mcpu*: -mpwr6}} \ --many" +%{mvsx: %{!mcpu*: -mpwr6}}" #undef ASM_DEFAULT_SPEC #define ASM_DEFAULT_SPEC "-mpwr4" diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h index 2398ed64baa..d2ca8dc275d 100644 --- a/gcc/config/rs6000/aix71.h +++ b/gcc/config/rs6000/aix71.h @@ -89,8 +89,7 @@ do { \ maltivec: -m970; \ maix64|mpowerpc64: -mppc64; \ : %(asm_default)}; \ - :%eMissing -mcpu option in ASM_SPEC_CPU?\n} \ --many" + :%eMissing -mcpu option in ASM_SPEC_CPU?\n}" #undef ASM_DEFAULT_SPEC #define ASM_DEFAULT_SPEC "-mpwr4" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index d75137cf8f5..9d78173a680 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -137,8 +137,7 @@ mvsx: -mpower7; \ mpowerpc64: -mppc64;: %(asm_default)}; \ :%eMissing -mcpu option in ASM_SPEC_CPU?\n} \ -%{mvsx: -mvsx -maltivec; maltivec: -maltivec} \ --many" +%{mvsx: -mvsx -maltivec; maltivec: -maltivec}" #define CPP_DEFAULT_SPEC "" diff --git a/gcc/testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c b/gcc/testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c index 14908dba690..eea7f6ffc2e 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c @@ -45,14 +45,14 @@ __asm__ ("\t.globl\t" #NAME "_asm\n\t" \ #NAME "_asm:\n\t" \ "lis 11,gparms@ha\n\t" \ "la 11,gparms@l(11)\n\t" \ - "st 3,0(11)\n\t" \ - "st 4,4(11)\n\t" \ - "st 5,8(11)\n\t" \ - "st 6,12(11)\n\t" \ - "st 7,16(11)\n\t" \ - "st 8,20(11)\n\t" \ - "st 9,24(11)\n\t" \ - "st 10,28(11)\n\t" \ + "stw 3,0(11)\n\t" \ + "stw 4,4(11)\n\t" \ + "stw 5,8(11)\n\t" \ + "stw 6,12(11)\n\t" \ + "stw 7,16(11)\n\t" \ + "stw 8,20(11)\n\t" \ + "stw 9,24(11)\n\t" \ + "stw 10,28(11)\n\t" \ "stfd 1,32(11)\n\t" \ "stfd 2,40(11)\n\t" \ "stfd 3,48(11)\n\t" \ -- Alan Modra Australia Development Lab, IBM