On Fri, May 17, 2013 at 09:00:21PM -0700, Sriraman Tallam wrote: > --- common/config/i386/i386-common.c (revision 198950) > +++ common/config/i386/i386-common.c (working copy) > @@ -438,6 +440,18 @@ ix86_handle_option (struct gcc_options *opts, > } > return true; > > + case OPT_mlzcnt: > + if (value) > + { > + opts->x_ix86_isa_flags |= OPTION_MASK_ISA_LZCNT_SET; > + opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_LZCNT_SET; > + } > + else > + { > + opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_LZCNT_UNSET; > + opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_LZCNT_UNSET; > + } > + > case OPT_mtbm: > if (value) > {
This change broke PR target/57688, because the -mlzcnt case falls thru into the -mtbm case, so if you have -mlzcnt, but not -mtbm, it will enable -mtbm anyway. Fixed thusly, committed as obvious. 2013-06-23 Jakub Jelinek <ja...@redhat.com> PR target/57688 * common/config/i386/i386-common.c (ix86_handle_option): For OPT_mlzcnt add missing return true. --- gcc/common/config/i386/i386-common.c.jj 2013-06-23 20:43:34.000000000 +0200 +++ gcc/common/config/i386/i386-common.c 2013-06-23 21:00:17.056390879 +0200 @@ -451,6 +451,7 @@ ix86_handle_option (struct gcc_options * opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_LZCNT_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_LZCNT_UNSET; } + return true; case OPT_mtbm: if (value) Jakub