diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-common.c | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b43cad7..85c59e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-06-22 Sriraman Tallam <tmsriram@google.com> + + * common/config/i386/i386-common.c: Handle LZCNT. + 2013-06-22 Andi Kleen <ak@linux.intel.com> * doc/extend.texi: Use __atomic_store_n instead of diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.c index f22f6a43..cb77f72 100644 --- a/gcc/common/config/i386/i386-common.c +++ b/gcc/common/config/i386/i386-common.c @@ -87,6 +87,7 @@ along with GCC; see the file COPYING3. If not see #define OPTION_MASK_ISA_BMI_SET OPTION_MASK_ISA_BMI #define OPTION_MASK_ISA_BMI2_SET OPTION_MASK_ISA_BMI2 +#define OPTION_MASK_ISA_LZCNT_SET OPTION_MASK_ISA_LZCNT #define OPTION_MASK_ISA_TBM_SET OPTION_MASK_ISA_TBM #define OPTION_MASK_ISA_POPCNT_SET OPTION_MASK_ISA_POPCNT #define OPTION_MASK_ISA_CX16_SET OPTION_MASK_ISA_CX16 @@ -154,6 +155,7 @@ along with GCC; see the file COPYING3. If not see #define OPTION_MASK_ISA_ABM_UNSET OPTION_MASK_ISA_ABM #define OPTION_MASK_ISA_BMI_UNSET OPTION_MASK_ISA_BMI #define OPTION_MASK_ISA_BMI2_UNSET OPTION_MASK_ISA_BMI2 +#define OPTION_MASK_ISA_LZCNT_UNSET OPTION_MASK_ISA_LZCNT #define OPTION_MASK_ISA_TBM_UNSET OPTION_MASK_ISA_TBM #define OPTION_MASK_ISA_POPCNT_UNSET OPTION_MASK_ISA_POPCNT #define OPTION_MASK_ISA_CX16_UNSET OPTION_MASK_ISA_CX16 @@ -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) { |