[CRT] Add __m128i, _mm_setzero_si128, and _mm_stream_si128. 117/head
authorThomas Faber <thomas.faber@reactos.org>
Sat, 4 Nov 2017 10:47:12 +0000 (11:47 +0100)
committerThomas Faber <thomas.faber@reactos.org>
Sat, 18 Nov 2017 17:05:24 +0000 (18:05 +0100)
sdk/include/crt/emmintrin.h

index 91cf4a6..5f8ceb1 100644 (file)
 #include <crtdefs.h>
 #include <xmmintrin.h>
 
+typedef union _DECLSPEC_INTRIN_TYPE _CRT_ALIGN(16) __m128i
+{
+    __int8  m128i_i8[16];
+    __int16 m128i_i16[8];
+    __int32 m128i_i32[4];
+    __int64 m128i_i64[2];
+    unsigned __int8  m128i_u8[16];
+    unsigned __int16 m128i_u16[8];
+    unsigned __int32 m128i_u32[4];
+    unsigned __int64 m128i_u64[2];
+} __m128i;
+C_ASSERT(sizeof(__m128i) == 16);
+
 typedef struct _DECLSPEC_INTRIN_TYPE _CRT_ALIGN(16) __m128d
 {
     double m128d_f64[2];
@@ -20,5 +33,9 @@ extern __m128d _mm_load_sd(double const*);
 
 extern int _mm_cvtsd_si32(__m128d);
 
+extern __m128i _mm_setzero_si128(void);
+
+extern void _mm_stream_si128(__m128i *, __m128i);
+
 
 #endif /* _INCLUDED_EMM */