summaryrefslogtreecommitdiffstats
path: root/lib/Headers/fmaintrin.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2015-06-17 07:09:32 +0000
committerEric Christopher <echristo@gmail.com>2015-06-17 07:09:32 +0000
commit41885d36e85ead75a1d18ef7d2f43663f90ed67e (patch)
tree62fec5272b6580d33447211584b973236c020d3a /lib/Headers/fmaintrin.h
parent695aff12b29828c77c34e1b29d37900d26ea860e (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/fmaintrin.h')
-rw-r--r--lib/Headers/fmaintrin.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/lib/Headers/fmaintrin.h b/lib/Headers/fmaintrin.h
index 103d47a380..6f5d1b907a 100644
--- a/lib/Headers/fmaintrin.h
+++ b/lib/Headers/fmaintrin.h
@@ -28,12 +28,8 @@
#ifndef __FMAINTRIN_H
#define __FMAINTRIN_H
-#ifndef __FMA__
-# error "FMA instruction set is not enabled"
-#else
-
/* 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__("fma")))
static __inline__ __m128 DEFAULT_FN_ATTRS
_mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
@@ -229,6 +225,4 @@ _mm256_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C)
#undef DEFAULT_FN_ATTRS
-#endif /* __FMA__ */
-
#endif /* __FMAINTRIN_H */