diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Headers/tbmintrin.h')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Headers/tbmintrin.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/contrib/llvm/tools/clang/lib/Headers/tbmintrin.h b/contrib/llvm/tools/clang/lib/Headers/tbmintrin.h index 48c0b07..785961c 100644 --- a/contrib/llvm/tools/clang/lib/Headers/tbmintrin.h +++ b/contrib/llvm/tools/clang/lib/Headers/tbmintrin.h @@ -21,10 +21,6 @@ *===-----------------------------------------------------------------------=== */ -#ifndef __TBM__ -#error "TBM instruction set is not enabled" -#endif - #ifndef __X86INTRIN_H #error "Never use <tbmintrin.h> directly; include <x86intrin.h> instead." #endif @@ -33,9 +29,11 @@ #define __TBMINTRIN_H /* Define the default attributes for the functions in this file. */ -#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__)) +#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("tbm"))) -#define __bextri_u32(a, b) (__builtin_ia32_bextri_u32((a), (b))) +#define __bextri_u32(a, b) \ + ((unsigned int)__builtin_ia32_bextri_u32((unsigned int)(a), \ + (unsigned int)(b))) static __inline__ unsigned int __DEFAULT_FN_ATTRS __blcfill_u32(unsigned int a) @@ -92,7 +90,9 @@ __tzmsk_u32(unsigned int a) } #ifdef __x86_64__ -#define __bextri_u64(a, b) (__builtin_ia32_bextri_u64((a), (int)(b))) +#define __bextri_u64(a, b) \ + ((unsigned long long)__builtin_ia32_bextri_u64((unsigned long long)(a), \ + (unsigned long long)(b))) static __inline__ unsigned long long __DEFAULT_FN_ATTRS __blcfill_u64(unsigned long long a) |