ReactOS 0.4.16-dev-1409-g71b6fab
immintrin.h File Reference
#include <emmintrin.h>
Include dependency graph for immintrin.h:

Go to the source code of this file.

Macros

#define _INCLUDED_IMM
 
#define __ATTRIBUTE_SSE2__   __attribute__((__target__("sse2")))
 
#define __ATTRIBUTE_AVX__   __attribute__((__target__("avx")))
 
#define __ATTRIBUTE_AVX2__   __attribute__((__target__("avx2")))
 
#define __INTRIN_INLINE_SSE2   __INTRIN_INLINE __ATTRIBUTE_SSE2__
 
#define __INTRIN_INLINE_AVX   __INTRIN_INLINE __ATTRIBUTE_AVX__
 
#define __INTRIN_INLINE_AVX2   __INTRIN_INLINE __ATTRIBUTE_AVX2__
 
#define __ATTRIBUTE_XSAVE__
 
#define __INTRIN_INLINE_XSAVE   __INTRIN_INLINE __ATTRIBUTE_XSAVE__
 

Typedefs

typedef char __v32qi __attribute__((__vector_size__(32)))
 

Functions

__m256i __cdecl _mm256_cmpeq_epi8 (__m256i, __m256i)
 
__m256i __cdecl _mm256_cmpeq_epi16 (__m256i, __m256i)
 
int __cdecl _mm256_movemask_epi8 (__m256i)
 
__m256i __cdecl _mm256_setzero_si256 (void)
 
void __cdecl _mm256_zeroupper (void)
 
int __cdecl _rdrand16_step (unsigned short *random_val)
 
int __cdecl _rdrand32_step (unsigned int *random_val)
 
int __cdecl _rdseed16_step (unsigned short *random_val)
 
int __cdecl _rdseed32_step (unsigned int *random_val)
 
void __cdecl _fxsave (void *)
 
void __cdecl _fxrstor (void const *)
 
void __cdecl _xsave (void *, unsigned __int64)
 
void __cdecl _xsavec (void *, unsigned __int64)
 
void __cdecl _xsaveopt (void *, unsigned __int64)
 
void __cdecl _xsaves (void *, unsigned __int64)
 
void __cdecl _xrstor (void const *, unsigned __int64)
 
void __cdecl _xrstors (void const *, unsigned __int64)
 
unsigned __int64 __cdecl _xgetbv (unsigned int)
 
void __cdecl _xsetbv (unsigned int, unsigned __int64)
 

Macro Definition Documentation

◆ __ATTRIBUTE_AVX2__

#define __ATTRIBUTE_AVX2__   __attribute__((__target__("avx2")))

Definition at line 134 of file immintrin.h.

◆ __ATTRIBUTE_AVX__

#define __ATTRIBUTE_AVX__   __attribute__((__target__("avx")))

Definition at line 133 of file immintrin.h.

◆ __ATTRIBUTE_SSE2__

#define __ATTRIBUTE_SSE2__   __attribute__((__target__("sse2")))

Definition at line 132 of file immintrin.h.

◆ __ATTRIBUTE_XSAVE__

#define __ATTRIBUTE_XSAVE__

Definition at line 244 of file immintrin.h.

◆ __INTRIN_INLINE_AVX

#define __INTRIN_INLINE_AVX   __INTRIN_INLINE __ATTRIBUTE_AVX__

Definition at line 137 of file immintrin.h.

◆ __INTRIN_INLINE_AVX2

#define __INTRIN_INLINE_AVX2   __INTRIN_INLINE __ATTRIBUTE_AVX2__

Definition at line 138 of file immintrin.h.

◆ __INTRIN_INLINE_SSE2

#define __INTRIN_INLINE_SSE2   __INTRIN_INLINE __ATTRIBUTE_SSE2__

Definition at line 136 of file immintrin.h.

◆ __INTRIN_INLINE_XSAVE

#define __INTRIN_INLINE_XSAVE   __INTRIN_INLINE __ATTRIBUTE_XSAVE__

Definition at line 246 of file immintrin.h.

◆ _INCLUDED_IMM

#define _INCLUDED_IMM

Definition at line 10 of file immintrin.h.

Typedef Documentation

◆ __attribute__

typedef long long __m256i __attribute__((__vector_size__(32), __may_alias__))

Definition at line 31 of file immintrin.h.

Function Documentation

◆ _fxrstor()

__INTRIN_INLINE void _fxrstor ( void const __P)

Definition at line 220 of file immintrin.h.

221{
222#if 0 // Needs newer GCC
223 __builtin_ia32_fxrstor((void*)__P);
224#else
225 __asm__ __volatile__("fxrstor (%0)" : : "r"(__P));
226#endif
227}
#define __P(x)
Definition: various.h:10
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")

◆ _fxsave()

__INTRIN_INLINE void _fxsave ( void __P)

Definition at line 211 of file immintrin.h.

212{
213#if 0 // Needs newer GCC
214 __builtin_ia32_fxsave(__P);
215#else
216 __asm__ __volatile__("fxsave (%0)" : : "r"(__P));
217#endif
218}

◆ _mm256_cmpeq_epi16()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_cmpeq_epi16 ( __m256i  __A,
__m256i  __B 
)

Definition at line 145 of file immintrin.h.

146{
147 return (__m256i)((__v16hi)__A == (__v16hi)__B);
148}

◆ _mm256_cmpeq_epi8()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_cmpeq_epi8 ( __m256i  __A,
__m256i  __B 
)

Definition at line 140 of file immintrin.h.

141{
142 return (__m256i)((__v32qi)__A == (__v32qi)__B);
143}

◆ _mm256_movemask_epi8()

__INTRIN_INLINE_AVX2 int __cdecl _mm256_movemask_epi8 ( __m256i  __A)

Definition at line 150 of file immintrin.h.

151{
152 return __builtin_ia32_pmovmskb256((__v32qi)__A);
153}

◆ _mm256_setzero_si256()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_setzero_si256 ( void  )

Definition at line 155 of file immintrin.h.

156{
157 return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
158}

◆ _mm256_zeroupper()

__INTRIN_INLINE void __cdecl _mm256_zeroupper ( void  )

Definition at line 160 of file immintrin.h.

161{
162 __asm__ __volatile__("vzeroupper");
163}

◆ _rdrand16_step()

__INTRIN_INLINE int _rdrand16_step ( unsigned short random_val)

Definition at line 165 of file immintrin.h.

166{
167 unsigned char ok;
168 __asm__ __volatile__("rdrand %0; setc %1" : "=r"(*random_val), "=qm"(ok));
169 return (int)ok;
170}
#define ok(value,...)
Definition: atltest.h:57

◆ _rdrand32_step()

__INTRIN_INLINE int _rdrand32_step ( unsigned int random_val)

Definition at line 172 of file immintrin.h.

173{
174 unsigned char ok;
175 __asm__ __volatile__("rdrand %0; setc %1" : "=r"(*random_val), "=qm"(ok));
176 return (int)ok;
177}

Referenced by __security_init_cookie().

◆ _rdseed16_step()

__INTRIN_INLINE int _rdseed16_step ( unsigned short random_val)

Definition at line 188 of file immintrin.h.

189{
190 unsigned char ok;
191 __asm__ __volatile__("rdseed %0; setc %1" : "=r"(*random_val), "=qm"(ok));
192 return (int)ok;
193}

◆ _rdseed32_step()

__INTRIN_INLINE int _rdseed32_step ( unsigned int random_val)

Definition at line 195 of file immintrin.h.

196{
197 unsigned char ok;
198 __asm__ __volatile__("rdseed %0; setc %1" : "=r"(*random_val), "=qm"(ok));
199 return (int)ok;
200}

◆ _xgetbv()

Definition at line 343 of file immintrin.h.

344{
345 return __builtin_ia32_xgetbv(__A);
346}

Referenced by TestXStateConfig().

◆ _xrstor()

__INTRIN_INLINE_XSAVE void _xrstor ( void const __P,
unsigned __int64  __M 
)

Definition at line 280 of file immintrin.h.

281{
282 __builtin_ia32_xrstor((void*)__P, __M);
283}

◆ _xrstors()

__INTRIN_INLINE_XSAVE void _xrstors ( void const __P,
unsigned __int64  __M 
)

Definition at line 285 of file immintrin.h.

286{
287#if 0 // Needs newer GCC
288 __builtin_ia32_xrstors((void*)__P, __M);
289#else
290 __asm__ __volatile__("xrstors %0" : "=m" (*(char*)__P) : "a" ((unsigned int)__M), "d" ((unsigned int)(__M >> 32)) :"memory");
291#endif
292}

◆ _xsave()

__INTRIN_INLINE_XSAVE void _xsave ( void __P,
unsigned __int64  __M 
)

Definition at line 248 of file immintrin.h.

249{
250 __builtin_ia32_xsave(__P, __M);
251}

◆ _xsavec()

__INTRIN_INLINE_XSAVE void _xsavec ( void __P,
unsigned __int64  __M 
)

Definition at line 253 of file immintrin.h.

254{
255#if 0 // Needs newer GCC
256 __builtin_ia32_xsavec(__P, __M);
257#else
258 __asm__ __volatile__("xsavec %0" : "=m" (*(char*)__P) : "a" ((unsigned int)__M), "d" ((unsigned int)(__M >> 32)) :"memory");
259#endif
260}

◆ _xsaveopt()

__INTRIN_INLINE_XSAVE void _xsaveopt ( void __P,
unsigned __int64  __M 
)

Definition at line 262 of file immintrin.h.

263{
264#if 0 // Needs newer GCC
265 __builtin_ia32_xsaveopt(__P, __M);
266#else
267 __asm__ __volatile__("xsaveopt %0" : "=m" (*(char*)__P) : "a" ((unsigned int)__M), "d" ((unsigned int)(__M >> 32)) :"memory");
268#endif
269}

◆ _xsaves()

__INTRIN_INLINE_XSAVE void _xsaves ( void __P,
unsigned __int64  __M 
)

Definition at line 271 of file immintrin.h.

272{
273#if 0 // Needs newer GCC
274 __builtin_ia32_xsaves(__P, __M);
275#else
276 __asm__ __volatile__("xsaves %0" : "=m" (*(char*)__P) : "a" ((unsigned int)__M), "d" ((unsigned int)(__M >> 32)) :"memory");
277#endif
278}

◆ _xsetbv()

__INTRIN_INLINE void _xsetbv ( unsigned int  __A,
unsigned __int64  __V 
)

Definition at line 348 of file immintrin.h.

349{
350 __builtin_ia32_xsetbv(__A, __V);
351}

Referenced by KiInitializeXStateConfiguration().