]> granicus.if.org Git - clang/commitdiff
[X86] DAZ Macros Relocation
authorOren Ben Simhon <oren.ben.simhon@intel.com>
Sun, 26 Feb 2017 11:58:15 +0000 (11:58 +0000)
committerOren Ben Simhon <oren.ben.simhon@intel.com>
Sun, 26 Feb 2017 11:58:15 +0000 (11:58 +0000)
The DAZ feature introduces the denormal zero support for x86.
Currently the definitions are located under SSE3 header, however there are some SSE2 targets that support the feature as well.

Differential Revision: https://reviews.llvm.org/D30194

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296296 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/emmintrin.h
lib/Headers/pmmintrin.h

index 5bdabb4edf73fc32c6f3f84661cc1322e6d2b6f0..91da77e0c9a3816e1ae674ce3ba4c650c7ad23dc 100644 (file)
@@ -4810,4 +4810,12 @@ void _mm_pause(void);
 
 #define _MM_SHUFFLE2(x, y) (((x) << 1) | (y))
 
+#define _MM_DENORMALS_ZERO_ON   (0x0040)
+#define _MM_DENORMALS_ZERO_OFF  (0x0000)
+
+#define _MM_DENORMALS_ZERO_MASK (0x0040)
+
+#define _MM_GET_DENORMALS_ZERO_MODE() (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
+#define _MM_SET_DENORMALS_ZERO_MODE(x) (_mm_setcsr((_mm_getcsr() & ~_MM_DENORMALS_ZERO_MASK) | (x)))
+
 #endif /* __EMMINTRIN_H */
index 3bbf906e88c1e384cf13cf9e4383b34bfb180090..a479d9ed2911f7b616cb42bc1bed2ee1c3fd9eb6 100644 (file)
@@ -257,14 +257,6 @@ _mm_movedup_pd(__m128d __a)
   return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
 }
 
-#define _MM_DENORMALS_ZERO_ON   (0x0040)
-#define _MM_DENORMALS_ZERO_OFF  (0x0000)
-
-#define _MM_DENORMALS_ZERO_MASK (0x0040)
-
-#define _MM_GET_DENORMALS_ZERO_MODE() (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
-#define _MM_SET_DENORMALS_ZERO_MODE(x) (_mm_setcsr((_mm_getcsr() & ~_MM_DENORMALS_ZERO_MASK) | (x)))
-
 /// \brief Establishes a linear address memory range to be monitored and puts
 ///    the processor in the monitor event pending state. Data stored in the
 ///    monitored address range causes the processor to exit the pending state.