diff options
author | Eric Christopher <echristo@gmail.com> | 2015-06-17 07:09:32 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2015-06-17 07:09:32 +0000 |
commit | 41885d36e85ead75a1d18ef7d2f43663f90ed67e (patch) | |
tree | 62fec5272b6580d33447211584b973236c020d3a /lib/Headers/bmiintrin.h | |
parent | 695aff12b29828c77c34e1b29d37900d26ea860e (diff) |
Update the intel intrinsic headers to use the target attribute support.
This involved removing the conditional inclusion and replacing them
with target attributes matching the original conditional inclusion
and checks. The testcase update removes the macro checks for each
file and replaces them with usage of the __target__ attribute, e.g.:
int __attribute__((__target__(("sse3")))) foo(int a) {
_mm_mwait(0, 0);
return 4;
}
This usage does require the enclosing function have the requisite
__target__ attribute for inlining and code generation - also for
any macro intrinsic uses in the enclosing function. There's no change
for existing uses of the intrinsic headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Headers/bmiintrin.h')
-rw-r--r-- | lib/Headers/bmiintrin.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lib/Headers/bmiintrin.h b/lib/Headers/bmiintrin.h index 7c7a585856..0aad8f24ea 100644 --- a/lib/Headers/bmiintrin.h +++ b/lib/Headers/bmiintrin.h @@ -25,10 +25,6 @@ #error "Never use <bmiintrin.h> directly; include <x86intrin.h> instead." #endif -#ifndef __BMI__ -# error "BMI instruction set not enabled" -#endif /* __BMI__ */ - #ifndef __BMIINTRIN_H #define __BMIINTRIN_H @@ -41,7 +37,7 @@ #define _tzcnt_u32(a) (__tzcnt_u32((a))) /* 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__("bmi"))) static __inline__ unsigned short DEFAULT_FN_ATTRS __tzcnt_u16(unsigned short __X) |