]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/53877 (__lzcnt_u16/__lzcnt_u32/__lzcnt_u64 aren't implemented)
authorKirill Yukhin <kirill.yukhin@intel.com>
Fri, 20 Jul 2012 08:24:24 +0000 (08:24 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Fri, 20 Jul 2012 08:24:24 +0000 (08:24 +0000)
2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>

        PR target/53877
        * config/i386/lzcntintrin.h (_lzcnt_u32): New.
        (_lzcnt_u64): Ditto.

From-SVN: r189703

gcc/ChangeLog
gcc/config/i386/lzcntintrin.h

index f900f08db10404aa3d68c0cced5c8b87cb4deab1..16cb34dcdff473662f18c993cfb2835abf3b6440 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       PR target/53877
+       * config/i386/lzcntintrin.h (_lzcnt_u32): New.
+       (_lzcnt_u64): Ditto.
+
 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
index 31db7dc086cb4d19292498fcf863faeb00dbd8dc..31a7163838e1b6577c2deb4b97d2cc2d153b189a 100644 (file)
@@ -44,12 +44,24 @@ __lzcnt32 (unsigned int __X)
   return __builtin_clz (__X);
 }
 
+extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_lzcnt_u32 (unsigned int __X)
+{
+  return __builtin_clz (__X);
+}
+
 #ifdef __x86_64__
 extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 __lzcnt64 (unsigned long long __X)
 {
   return __builtin_clzll (__X);
 }
+
+extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_lzcnt_u64 (unsigned long long __X)
+{
+  return __builtin_clzll (__X);
+}
 #endif
 
 #endif /* _LZCNTINTRIN_H_INCLUDED */