On Wed, Jul 27, 2011 at 7:06 AM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > Okay, > Uros, thanks for correcting me. Here is updated Changelogs and patch. > > ChangeLog entry: > 2011-07-27 Kirill Yukhin <kirill.yuk...@intel.com> > > PR target/49547 > * config/i386/abmintrin.h (head): Check if __LZCNT__ is defined. > (__lzcnt): Rename to ... > (__lzcnt32): ... this. > * config/i386/bmiintrin.h (head): Update copyright year. > (__lzcnt_u16): Removed. > (__lzcnt_u32): Removed. > (__lzcnt_u64): Likewise. > * config/i386/cpuid.h: New define. > * config/i386/driver-i386.c (host_detect_local_cpu): Detect > LZCNT feature. > * config/i386/i386-c.c (ix86_target_macros_internal): Define > __LZCNT__ if needed. > * config/i386/i386.c (ix86_target_string): New option -mlzcnt. > (ix86_option_override_internal): Handle LZCNT option. > (ix86_valid_target_attribute_inner_p): Likewise. > (struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update. > * config/i386/i386.h (TARGET_LZCNT): New. > (CLZ_DEFINED_VALUE_AT_ZERO): Update. > * config/i386/i386.md (clz<mode>2): Update insn constraint. > (clz<mode>2_lzcnt): Likewise. > * doc/invoke.texi: Mention -mlzcnt option. > * doc/extend.texi: Likewise.
Please mention config/i386/i386.opt. It is very odd to include abmintrin.h for lzcnt. What if someone decides to add new intrinsics for ABM? I think it should be renamed to lzcntintrin.h and make abmintrin.h include it instead. H.J.