Hi, when building with --with-tune=zEC12 and calling the resulting gcc with --march=z13 (no extra -mtune), the binary would unexpectedly be compiled with -march=z13 -mtune=zEC12. This patch avoids using the default tune parameter if -march is specified as argument but the user can still explicitly state -march=z13 -mtune=zEC12.
Regards Robin -- gcc/ChangeLog: 2018-06-04 Robin Dapp <rd...@linux.vnet.ibm.com> * config/s390/s390.h (enum processor_flags): Do not use default tune parameter when -march was specified.
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index a372981ff3a..ed0dfa19bb6 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -205,7 +205,7 @@ enum processor_flags #define OPTION_DEFAULT_SPECS \ { "mode", "%{!mesa:%{!mzarch:-m%(VALUE)}}" }, \ { "arch", "%{!march=*:-march=%(VALUE)}" }, \ - { "tune", "%{!mtune=*:-mtune=%(VALUE)}" } + { "tune", "%{!mtune=*:%{!march=*:-mtune=%(VALUE)}}" } #ifdef __s390__ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);