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 <[email protected]>
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