]> xenbits.xensource.com Git - unikraft/libs/intel-intrinsics.git/commitdiff
Implement _mm_getcsr and _mm_setcsr RELEASE-0.4
authorFelipe Huici <felipe.huici@neclab.eu>
Sat, 15 Jun 2019 21:29:15 +0000 (23:29 +0200)
committerFelipe Huici <felipe.huici@neclab.eu>
Tue, 18 Jun 2019 07:35:13 +0000 (09:35 +0200)
Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
include/xmmintrin.h

index 0b271b3fb3921b79e441d726e47aea582d34ecd7..a630e48d4d8b4c3722dd7ee3be50e8fd24a2c3d1 100644 (file)
@@ -3101,6 +3101,20 @@ static inline void __DEFAULT_FN_ATTRS _mm_pause(void)
 #undef __DEFAULT_FN_ATTRS
 #undef __DEFAULT_FN_ATTRS_MMX
 
+/* Set the control register to I.  */
+extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_setcsr (unsigned int __I)
+{
+  __builtin_ia32_ldmxcsr (__I);
+}
+
+/* Return the contents of the control register.  */
+extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_getcsr (void)
+{
+  return __builtin_ia32_stmxcsr ();
+}
+
 /* Ugly hack for backwards-compatibility (compatible with gcc) */
 #ifdef __GNUC__
 #include <emmintrin.h>