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.

Reply via email to