i386-common.c: Handle LZCNT.
authorSriraman Tallam <tmsriram@google.com>
Sun, 23 Jun 2013 00:57:40 +0000 (00:57 +0000)
committerSriraman Tallam <tmsriram@gcc.gnu.org>
Sun, 23 Jun 2013 00:57:40 +0000 (00:57 +0000)
2013-06-22  Sriraman Tallam  <tmsriram@google.com>

* common/config/i386/i386-common.c: Handle LZCNT.

From-SVN: r200347

gcc/ChangeLog
gcc/common/config/i386/i386-common.c

index b43cad75abbaf8a40b8881d05b5d1210d59bb6bf..85c59e8d0215770f2d9eb31cb084590bcd9291ab 100644 (file)
@@ -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
index f22f6a43e5567695c3778ad16cf9d8024874112a..cb77f723904b716b1e0c8842add6d5e0a36206d7 100644 (file)
@@ -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)
        {