ReactOS 0.4.16-dev-456-ga97fcf1
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__
 

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)
 

Macro Definition Documentation

◆ __ATTRIBUTE_AVX2__

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

Definition at line 90 of file immintrin.h.

◆ __ATTRIBUTE_AVX__

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

Definition at line 89 of file immintrin.h.

◆ __ATTRIBUTE_SSE2__

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

Definition at line 88 of file immintrin.h.

◆ __INTRIN_INLINE_AVX

#define __INTRIN_INLINE_AVX   __INTRIN_INLINE __ATTRIBUTE_AVX__

Definition at line 93 of file immintrin.h.

◆ __INTRIN_INLINE_AVX2

#define __INTRIN_INLINE_AVX2   __INTRIN_INLINE __ATTRIBUTE_AVX2__

Definition at line 94 of file immintrin.h.

◆ __INTRIN_INLINE_SSE2

#define __INTRIN_INLINE_SSE2   __INTRIN_INLINE __ATTRIBUTE_SSE2__

Definition at line 92 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

◆ _mm256_cmpeq_epi16()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_cmpeq_epi16 ( __m256i  __A,
__m256i  __B 
)

Definition at line 101 of file immintrin.h.

102{
103 return (__m256i)((__v16hi)__A == (__v16hi)__B);
104}

◆ _mm256_cmpeq_epi8()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_cmpeq_epi8 ( __m256i  __A,
__m256i  __B 
)

Definition at line 96 of file immintrin.h.

97{
98 return (__m256i)((__v32qi)__A == (__v32qi)__B);
99}

◆ _mm256_movemask_epi8()

__INTRIN_INLINE_AVX2 int __cdecl _mm256_movemask_epi8 ( __m256i  __A)

Definition at line 106 of file immintrin.h.

107{
108 return __builtin_ia32_pmovmskb256((__v32qi)__A);
109}

◆ _mm256_setzero_si256()

__INTRIN_INLINE_AVX __m256i __cdecl _mm256_setzero_si256 ( void  )

Definition at line 111 of file immintrin.h.

112{
113 return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
114}

◆ _mm256_zeroupper()

__INTRIN_INLINE void __cdecl _mm256_zeroupper ( void  )

Definition at line 116 of file immintrin.h.

117{
118 __asm__ __volatile__("vzeroupper");
119}
__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")

◆ _rdrand16_step()

__INTRIN_INLINE int _rdrand16_step ( unsigned short random_val)

Definition at line 121 of file immintrin.h.

122{
123 unsigned char ok;
124 __asm__ __volatile__("rdrand %0; setc %1" : "=r"(*random_val), "=qm"(ok));
125 return (int)ok;
126}
#define ok(value,...)
Definition: atltest.h:57

◆ _rdrand32_step()

__INTRIN_INLINE int _rdrand32_step ( unsigned int random_val)

Definition at line 128 of file immintrin.h.

129{
130 unsigned char ok;
131 __asm__ __volatile__("rdrand %0; setc %1" : "=r"(*random_val), "=qm"(ok));
132 return (int)ok;
133}

◆ _rdseed16_step()

__INTRIN_INLINE int _rdseed16_step ( unsigned short random_val)

Definition at line 144 of file immintrin.h.

145{
146 unsigned char ok;
147 __asm__ __volatile__("rdseed %0; setc %1" : "=r"(*random_val), "=qm"(ok));
148 return (int)ok;
149}

◆ _rdseed32_step()

__INTRIN_INLINE int _rdseed32_step ( unsigned int random_val)

Definition at line 151 of file immintrin.h.

152{
153 unsigned char ok;
154 __asm__ __volatile__("rdseed %0; setc %1" : "=r"(*random_val), "=qm"(ok));
155 return (int)ok;
156}