On 06/24/2013 01:55 AM, Kirill Yukhin wrote: > extern __inline unsigned long long __attribute__((__gnu_inline__, > __always_inline__, __artificial__)) > +_bextr_u64 (unsigned long long __X, unsigned long long __Y, unsigned long > long __Z) > +{ > + return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << > 8))); > +} > +
The __Y and __Z arguments have the wrong type, according to the intel manual: > extern unsigned __int64 _bextr_u64(unsigned __int64 s1, unsigned int > start_bit, unsigned int len_in_bits); The patch is ok with that fixed. r~