I thought these were already defined in Intrin.h? Except only for Windows I guess. Still can't reach my work systems so checking it myself might have to wait until Monday. --paulr
> -----Original Message----- > From: [email protected] [mailto:cfe-commits- > [email protected]] On Behalf Of Craig Topper > Sent: Saturday, November 01, 2014 3:51 PM > To: [email protected] > Subject: r221066 - Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match > Intel documentation names for these intrinsics. > > Author: ctopper > Date: Sat Nov 1 17:50:57 2014 > New Revision: 221066 > > URL: http://llvm.org/viewvc/llvm-project?rev=221066&view=rev > Log: > Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel > documentation names for these intrinsics. > > Modified: > cfe/trunk/lib/Headers/lzcntintrin.h > cfe/trunk/test/CodeGen/lzcnt-builtins.c > > Modified: cfe/trunk/lib/Headers/lzcntintrin.h > URL: http://llvm.org/viewvc/llvm- > project/cfe/trunk/lib/Headers/lzcntintrin.h?rev=221066&r1=221065&r2=221066 > &view=diff > ========================================================================== > ==== > --- cfe/trunk/lib/Headers/lzcntintrin.h (original) > +++ cfe/trunk/lib/Headers/lzcntintrin.h Sat Nov 1 17:50:57 2014 > @@ -44,12 +44,24 @@ __lzcnt32(unsigned int __X) > return __X ? __builtin_clz(__X) : 32; > } > > +static __inline__ unsigned int __attribute__((__always_inline__, > __nodebug__)) > +_lzcnt_u32(unsigned int __X) > +{ > + return __X ? __builtin_clz(__X) : 32; > +} > + > #ifdef __x86_64__ > static __inline__ unsigned long long __attribute__((__always_inline__, > __nodebug__)) > __lzcnt64(unsigned long long __X) > { > return __X ? __builtin_clzll(__X) : 64; > } > + > +static __inline__ unsigned long long __attribute__((__always_inline__, > __nodebug__)) > +_lzcnt_u64(unsigned long long __X) > +{ > + return __X ? __builtin_clzll(__X) : 64; > +} > #endif > > #endif /* __LZCNTINTRIN_H */ > > Modified: cfe/trunk/test/CodeGen/lzcnt-builtins.c > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lzcnt- > builtins.c?rev=221066&r1=221065&r2=221066&view=diff > ========================================================================== > ==== > --- cfe/trunk/test/CodeGen/lzcnt-builtins.c (original) > +++ cfe/trunk/test/CodeGen/lzcnt-builtins.c Sat Nov 1 17:50:57 2014 > @@ -22,3 +22,15 @@ unsigned long long test__lzcnt64(unsigne > // CHECK: @llvm.ctlz.i64 > return __lzcnt64(__X); > } > + > +unsigned int test_lzcnt_u32(unsigned int __X) > +{ > + // CHECK: @llvm.ctlz.i32 > + return _lzcnt_u32(__X); > +} > + > +unsigned long long test__lzcnt_u64(unsigned long long __X) > +{ > + // CHECK: @llvm.ctlz.i64 > + return _lzcnt_u64(__X); > +} > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
