ReactOS 0.4.15-dev-8138-g1e75ea8
intrin.h
Go to the documentation of this file.
1
2#pragma once
3#define __INTRIN_H_
4
5#ifndef RC_INVOKED
6
7#include <crtdefs.h>
8#include <setjmp.h>
9#include <stddef.h>
10
11#if defined(_M_IX86) || defined(_M_X64)
12//#include <immintrin.h>
13//#include <ammintrin.h>
14#include <xmmintrin.h> // native headers: immintrin.h -> wmmintrin.h -> nmmintrin.h -> smmintrin.h -> tmmintrin.h -> pmmintrin.h -> emmintrin.h
15#endif /* _M_IX86 || _M_X64 */
16
17#if defined(_M_IX86)
18//#include <mm3dnow.h>
19#endif /* _M_IX86 */
20
21#if defined(_M_ARM)
22//#include <arm_neon.h>
23#include <armintr.h>
24#endif /* _M_ARM */
25
26#if defined(__cplusplus)
27extern "C" {
28#endif
29
31unsigned char _BitScanForward(unsigned long * _Index, unsigned long _Mask);
32unsigned char _BitScanReverse(unsigned long * _Index, unsigned long _Mask);
33long _InterlockedAnd(_Interlocked_operand_ long volatile * _Value, long _Mask);
34short _InterlockedAnd16(_Interlocked_operand_ short volatile * _Value, short _Mask);
35char _InterlockedAnd8(_Interlocked_operand_ char volatile * _Value, char _Mask);
36long __cdecl _InterlockedCompareExchange(_Interlocked_operand_ long volatile * _Destination, long _Exchange, long _Comparand);
37short _InterlockedCompareExchange16(_Interlocked_operand_ short volatile * _Destination, short _Exchange, short _Comparand);
38__int64 _InterlockedCompareExchange64(_Interlocked_operand_ __int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand);
39char _InterlockedCompareExchange8(_Interlocked_operand_ char volatile * _Destination, char _Exchange, char _Comparand);
40void * _InterlockedCompareExchangePointer(_Interlocked_operand_ void * volatile * _Destination, void * _Exchange, void * _Comparand);
42short _InterlockedDecrement16(_Interlocked_operand_ short volatile * _Addend);
43long __cdecl _InterlockedExchange(_Interlocked_operand_ long volatile * _Target, long _Value);
44short _InterlockedExchange16(_Interlocked_operand_ short volatile * _Target, short _Value);
45char _InterlockedExchange8(_Interlocked_operand_ char volatile * _Target, char _Value);
46long __cdecl _InterlockedExchangeAdd(_Interlocked_operand_ long volatile * _Addend, long _Value);
47short _InterlockedExchangeAdd16(_Interlocked_operand_ short volatile * _Addend, short _Value);
48char _InterlockedExchangeAdd8(_Interlocked_operand_ char volatile * _Addend, char _Value);
49void * _InterlockedExchangePointer(_Interlocked_operand_ void * volatile * _Target, void * _Value);
51short _InterlockedIncrement16(_Interlocked_operand_ short volatile * _Addend);
52long _InterlockedOr(_Interlocked_operand_ long volatile * _Value, long _Mask);
53short _InterlockedOr16(_Interlocked_operand_ short volatile * _Value, short _Mask);
54char _InterlockedOr8(_Interlocked_operand_ char volatile * _Value, char _Mask);
55long _InterlockedXor(_Interlocked_operand_ long volatile * _Value, long _Mask);
56short _InterlockedXor16(_Interlocked_operand_ short volatile * _Value, short _Mask);
57char _InterlockedXor8(_Interlocked_operand_ char volatile * _Value, char _Mask);
58void _ReadBarrier(void);
59void _ReadWriteBarrier(void);
60void * _ReturnAddress(void);
61void _WriteBarrier(void);
62void __code_seg(const char *);
63void __cdecl __debugbreak(void);
64__declspec(noreturn) void __fastfail(unsigned int);
65void __nop(void);
67unsigned char _bittest(long const *, long);
68unsigned char _bittestandcomplement(long *, long);
69unsigned char _bittestandreset(long *, long);
70unsigned char _bittestandset(long *, long);
72_Check_return_ unsigned long __cdecl _byteswap_ulong(_In_ unsigned long);
73_Check_return_ unsigned short __cdecl _byteswap_ushort(_In_ unsigned short);
74void __cdecl _disable(void);
75void __cdecl _enable(void);
76unsigned char _interlockedbittestandreset(long volatile *, long);
77unsigned char _interlockedbittestandset(long volatile *, long);
78_Check_return_ unsigned long __cdecl _lrotl(_In_ unsigned long, _In_ int);
79_Check_return_ unsigned long __cdecl _lrotr(_In_ unsigned long, _In_ int);
80_Check_return_ unsigned int __cdecl _rotl(_In_ unsigned int _Value, _In_ int _Shift);
81_Check_return_ unsigned short __cdecl _rotl16(_In_ unsigned short _Value, _In_ unsigned char _Shift);
83_Check_return_ unsigned char __cdecl _rotl8(_In_ unsigned char _Value, _In_ unsigned char _Shift);
84_Check_return_ unsigned int __cdecl _rotr(_In_ unsigned int _Value, _In_ int _Shift);
85_Check_return_ unsigned short __cdecl _rotr16(_In_ unsigned short _Value, _In_ unsigned char _Shift);
87_Check_return_ unsigned char __cdecl _rotr8(_In_ unsigned char _Value, _In_ unsigned char _Shift);
88
89#if defined(_M_IX86) || defined(_M_X64)
90
91void __cpuid(int[4], int);
92void __cpuidex(int[4], int, int);
93__int64 __emul(int, int);
94unsigned __int64 __emulu(unsigned int, unsigned int);
95unsigned int __getcallerseflags(void);
96void __halt(void);
97unsigned char __inbyte(unsigned short);
98void __inbytestring(unsigned short, unsigned char *, unsigned long);
99unsigned long __indword(unsigned short);
100void __indwordstring(unsigned short, unsigned long *, unsigned long);
101void __int2c(void);
102void __invlpg(void *);
103unsigned short __inword(unsigned short);
104void __inwordstring(unsigned short, unsigned short *, unsigned long);
105void __lidt(void *);
106unsigned __int64 __ll_lshift(unsigned __int64, int);
108unsigned int __lzcnt(unsigned int);
109unsigned short __lzcnt16(unsigned short);
110void __movsb(unsigned char *, unsigned char const *, size_t);
111void __movsd(unsigned long *, unsigned long const *, size_t);
112void __movsw(unsigned short *, unsigned short const *, size_t);
113void __nvreg_restore_fence(void);
114void __nvreg_save_fence(void);
115void __outbyte(unsigned short, unsigned char);
116void __outbytestring(unsigned short, unsigned char *, unsigned long);
117void __outdword(unsigned short, unsigned long);
118void __outdwordstring(unsigned short, unsigned long *, unsigned long);
119void __outword(unsigned short, unsigned short);
120void __outwordstring(unsigned short, unsigned short *, unsigned long);
121unsigned int __popcnt(unsigned int);
122unsigned short __popcnt16(unsigned short);
123unsigned __int64 __rdtsc(void);
124unsigned __int64 __rdtscp(unsigned int *);
125unsigned __int64 __readmsr(unsigned long);
126unsigned __int64 __readpmc(unsigned long);
127unsigned long __segmentlimit(unsigned long);
128void __sidt(void *);
129void _sgdt(void *);
130void __stosb(unsigned char *, unsigned char, size_t);
131void __stosd(unsigned long *, unsigned long, size_t);
132void __stosw(unsigned short *, unsigned short, size_t);
133void __svm_clgi(void);
134void __svm_invlpga(void *, int);
135void __svm_skinit(int);
136void __svm_stgi(void);
137void __svm_vmload(size_t);
138void __svm_vmrun(size_t);
139void __svm_vmsave(size_t);
140void __ud2(void);
141unsigned __int64 __ull_rshift(unsigned __int64, int);
142void __vmx_off(void);
143void __vmx_vmptrst(unsigned __int64 *);
144void __wbinvd(void);
145void __writemsr(unsigned long, unsigned __int64);
146int __cdecl _inp(unsigned short);
147unsigned long __cdecl _inpd(unsigned short);
148unsigned short __cdecl _inpw(unsigned short);
149void _m_prefetch(void *);
150void _m_prefetchw(volatile const void *);
151
152void _mm_mfence(void);
153void _mm_lfence(void);
154void _mm_sfence(void);
155void _mm_pause(void);
156
157#if 0
158__m128i _mm_abs_epi16(__m128i);
159__m128i _mm_abs_epi32(__m128i);
160__m128i _mm_abs_epi8(__m128i);
161__m64 _mm_abs_pi16(__m64);
162__m64 _mm_abs_pi32(__m64);
163__m64 _mm_abs_pi8(__m64);
164__m128i _mm_add_epi16(__m128i, __m128i);
165__m128i _mm_add_epi32(__m128i, __m128i);
166__m128i _mm_add_epi64(__m128i, __m128i);
167__m128i _mm_add_epi8(__m128i, __m128i);
168__m128d _mm_add_pd(__m128d, __m128d);
169__m128 _mm_add_ps(__m128, __m128);
170__m128d _mm_add_sd(__m128d, __m128d);
171__m128 _mm_add_ss(__m128, __m128);
172__m128i _mm_adds_epi16(__m128i, __m128i);
173__m128i _mm_adds_epi8(__m128i, __m128i);
174__m128i _mm_adds_epu16(__m128i, __m128i);
175__m128i _mm_adds_epu8(__m128i, __m128i);
176__m128d _mm_addsub_pd(__m128d, __m128d);
177__m128 _mm_addsub_ps(__m128, __m128);
178__m128i _mm_alignr_epi8(__m128i, __m128i, int);
179__m64 _mm_alignr_pi8(__m64, __m64, int);
180__m128d _mm_and_pd(__m128d, __m128d);
181__m128 _mm_and_ps(__m128, __m128);
182__m128i _mm_and_si128(__m128i, __m128i);
183__m128d _mm_andnot_pd(__m128d, __m128d);
184__m128 _mm_andnot_ps(__m128, __m128);
185__m128i _mm_andnot_si128(__m128i, __m128i);
186__m128i _mm_avg_epu16(__m128i, __m128i);
187__m128i _mm_avg_epu8(__m128i, __m128i);
188__m128i _mm_blend_epi16(__m128i, __m128i, int);
189__m128d _mm_blend_pd(__m128d, __m128d, int);
190__m128 _mm_blend_ps(__m128, __m128, int);
191__m128i _mm_blendv_epi8(__m128i, __m128i, __m128i);
192__m128d _mm_blendv_pd(__m128d, __m128d, __m128d);
193__m128 _mm_blendv_ps(__m128, __m128, __m128);
194void _mm_clflush(void const *);
195__m128i _mm_cmpeq_epi16(__m128i, __m128i);
196__m128i _mm_cmpeq_epi32(__m128i, __m128i);
197__m128i _mm_cmpeq_epi64(__m128i, __m128i);
198__m128i _mm_cmpeq_epi8(__m128i, __m128i);
199__m128d _mm_cmpeq_pd(__m128d, __m128d);
200__m128 _mm_cmpeq_ps(__m128, __m128);
201__m128d _mm_cmpeq_sd(__m128d, __m128d);
202__m128 _mm_cmpeq_ss(__m128, __m128);
203int _mm_cmpestra(__m128i, int, __m128i, int, int);
204int _mm_cmpestrc(__m128i, int, __m128i, int, int);
205int _mm_cmpestri(__m128i, int, __m128i, int, int);
206__m128i _mm_cmpestrm(__m128i, int, __m128i, int, int);
207int _mm_cmpestro(__m128i, int, __m128i, int, int);
208int _mm_cmpestrs(__m128i, int, __m128i, int, int);
209int _mm_cmpestrz(__m128i, int, __m128i, int, int);
210__m128d _mm_cmpge_pd(__m128d, __m128d);
211__m128 _mm_cmpge_ps(__m128, __m128);
212__m128d _mm_cmpge_sd(__m128d, __m128d);
213__m128 _mm_cmpge_ss(__m128, __m128);
214__m128i _mm_cmpgt_epi16(__m128i, __m128i);
215__m128i _mm_cmpgt_epi32(__m128i, __m128i);
216__m128i _mm_cmpgt_epi64(__m128i, __m128i);
217__m128i _mm_cmpgt_epi8(__m128i, __m128i);
218__m128d _mm_cmpgt_pd(__m128d, __m128d);
219__m128 _mm_cmpgt_ps(__m128, __m128);
220__m128d _mm_cmpgt_sd(__m128d, __m128d);
221__m128 _mm_cmpgt_ss(__m128, __m128);
222int _mm_cmpistra(__m128i, __m128i, int);
223int _mm_cmpistrc(__m128i, __m128i, int);
224int _mm_cmpistri(__m128i, __m128i, int);
225__m128i _mm_cmpistrm(__m128i, __m128i, int);
226int _mm_cmpistro(__m128i, __m128i, int);
227int _mm_cmpistrs(__m128i, __m128i, int);
228int _mm_cmpistrz(__m128i, __m128i, int);
229__m128d _mm_cmple_pd(__m128d, __m128d);
230__m128 _mm_cmple_ps(__m128, __m128);
231__m128d _mm_cmple_sd(__m128d, __m128d);
232__m128 _mm_cmple_ss(__m128, __m128);
233__m128i _mm_cmplt_epi16(__m128i, __m128i);
234__m128i _mm_cmplt_epi32(__m128i, __m128i);
235__m128i _mm_cmplt_epi8(__m128i, __m128i);
236__m128d _mm_cmplt_pd(__m128d, __m128d);
237__m128 _mm_cmplt_ps(__m128, __m128);
238__m128d _mm_cmplt_sd(__m128d, __m128d);
239__m128 _mm_cmplt_ss(__m128, __m128);
240__m128d _mm_cmpneq_pd(__m128d, __m128d);
241__m128 _mm_cmpneq_ps(__m128, __m128);
242__m128d _mm_cmpneq_sd(__m128d, __m128d);
243__m128 _mm_cmpneq_ss(__m128, __m128);
244__m128d _mm_cmpnge_pd(__m128d, __m128d);
245__m128 _mm_cmpnge_ps(__m128, __m128);
246__m128d _mm_cmpnge_sd(__m128d, __m128d);
247__m128 _mm_cmpnge_ss(__m128, __m128);
248__m128d _mm_cmpngt_pd(__m128d, __m128d);
249__m128 _mm_cmpngt_ps(__m128, __m128);
250__m128d _mm_cmpngt_sd(__m128d, __m128d);
251__m128 _mm_cmpngt_ss(__m128, __m128);
252__m128d _mm_cmpnle_pd(__m128d, __m128d);
253__m128 _mm_cmpnle_ps(__m128, __m128);
254__m128d _mm_cmpnle_sd(__m128d, __m128d);
255__m128 _mm_cmpnle_ss(__m128, __m128);
256__m128d _mm_cmpnlt_pd(__m128d, __m128d);
257__m128 _mm_cmpnlt_ps(__m128, __m128);
258__m128d _mm_cmpnlt_sd(__m128d, __m128d);
259__m128 _mm_cmpnlt_ss(__m128, __m128);
260__m128d _mm_cmpord_pd(__m128d, __m128d);
261__m128 _mm_cmpord_ps(__m128, __m128);
262__m128d _mm_cmpord_sd(__m128d, __m128d);
263__m128 _mm_cmpord_ss(__m128, __m128);
264__m128d _mm_cmpunord_pd(__m128d, __m128d);
265__m128 _mm_cmpunord_ps(__m128, __m128);
266__m128d _mm_cmpunord_sd(__m128d, __m128d);
267__m128 _mm_cmpunord_ss(__m128, __m128);
268int _mm_comieq_sd(__m128d, __m128d);
269int _mm_comieq_ss(__m128, __m128);
270int _mm_comige_sd(__m128d, __m128d);
271int _mm_comige_ss(__m128, __m128);
272int _mm_comigt_sd(__m128d, __m128d);
273int _mm_comigt_ss(__m128, __m128);
274int _mm_comile_sd(__m128d, __m128d);
275int _mm_comile_ss(__m128, __m128);
276int _mm_comilt_sd(__m128d, __m128d);
277int _mm_comilt_ss(__m128, __m128);
278int _mm_comineq_sd(__m128d, __m128d);
279int _mm_comineq_ss(__m128, __m128);
280unsigned int _mm_crc32_u16(unsigned int, unsigned short);
281unsigned int _mm_crc32_u32(unsigned int, unsigned int);
282unsigned int _mm_crc32_u8(unsigned int, unsigned char);
283__m128 _mm_cvt_si2ss(__m128, int);
284int _mm_cvt_ss2si(__m128);
285__m128i _mm_cvtepi16_epi32(__m128i);
286__m128i _mm_cvtepi16_epi64(__m128i);
287__m128i _mm_cvtepi32_epi64(__m128i);
288__m128d _mm_cvtepi32_pd(__m128i);
289__m128 _mm_cvtepi32_ps(__m128i);
290__m128i _mm_cvtepi8_epi16(__m128i);
291__m128i _mm_cvtepi8_epi32(__m128i);
292__m128i _mm_cvtepi8_epi64(__m128i);
293__m128i _mm_cvtepu16_epi32(__m128i);
294__m128i _mm_cvtepu16_epi64(__m128i);
295__m128i _mm_cvtepu32_epi64(__m128i);
296__m128i _mm_cvtepu8_epi16(__m128i);
297__m128i _mm_cvtepu8_epi32(__m128i);
298__m128i _mm_cvtepu8_epi64(__m128i);
299__m128i _mm_cvtpd_epi32(__m128d);
300__m128 _mm_cvtpd_ps(__m128d);
301__m128i _mm_cvtps_epi32(__m128);
302__m128d _mm_cvtps_pd(__m128);
303int _mm_cvtsd_si32(__m128d);
304__m128 _mm_cvtsd_ss(__m128, __m128d);
305int _mm_cvtsi128_si32(__m128i);
306__m128d _mm_cvtsi32_sd(__m128d, int);
307__m128i _mm_cvtsi32_si128(int);
308__m128d _mm_cvtss_sd(__m128d, __m128);
309int _mm_cvtt_ss2si(__m128);
310__m128i _mm_cvttpd_epi32(__m128d);
311__m128i _mm_cvttps_epi32(__m128);
312int _mm_cvttsd_si32(__m128d);
313__m128d _mm_div_pd(__m128d, __m128d);
314__m128 _mm_div_ps(__m128, __m128);
315__m128d _mm_div_sd(__m128d, __m128d);
316__m128 _mm_div_ss(__m128, __m128);
317__m128d _mm_dp_pd(__m128d, __m128d, int);
318__m128 _mm_dp_ps(__m128, __m128, int);
319int _mm_extract_epi16(__m128i, int);
320int _mm_extract_epi32(__m128i, int);
321int _mm_extract_epi8(__m128i, int);
322int _mm_extract_ps(__m128, int);
323__m128i _mm_extract_si64(__m128i, __m128i);
324__m128i _mm_extracti_si64(__m128i, int, int);
325unsigned int _mm_getcsr(void);
326__m128i _mm_hadd_epi16(__m128i, __m128i);
327__m128i _mm_hadd_epi32(__m128i, __m128i);
328__m128d _mm_hadd_pd(__m128d, __m128d);
329__m64 _mm_hadd_pi16(__m64, __m64);
330__m64 _mm_hadd_pi32(__m64, __m64);
331__m128 _mm_hadd_ps(__m128, __m128);
332__m128i _mm_hadds_epi16(__m128i, __m128i);
333__m64 _mm_hadds_pi16(__m64, __m64);
334__m128i _mm_hsub_epi16(__m128i, __m128i);
335__m128i _mm_hsub_epi32(__m128i, __m128i);
336__m128d _mm_hsub_pd(__m128d, __m128d);
337__m64 _mm_hsub_pi16(__m64, __m64);
338__m64 _mm_hsub_pi32(__m64, __m64);
339__m128 _mm_hsub_ps(__m128, __m128);
340__m128i _mm_hsubs_epi16(__m128i, __m128i);
341__m64 _mm_hsubs_pi16(__m64, __m64);
342__m128i _mm_insert_epi16(__m128i, int, int);
343__m128i _mm_insert_epi32(__m128i, int, int);
344__m128i _mm_insert_epi8(__m128i, int, int);
345__m128 _mm_insert_ps(__m128, __m128, int);
346__m128i _mm_insert_si64(__m128i, __m128i);
347__m128i _mm_inserti_si64(__m128i, __m128i, int, int);
348__m128i _mm_lddqu_si128(__m128i const *);
349__m128d _mm_load1_pd(double const *);
350__m128d _mm_load_pd(double const *);
351__m128 _mm_load_ps(float const *);
352__m128 _mm_load_ps1(float const *);
353__m128d _mm_load_sd(double const *);
354__m128i _mm_load_si128(__m128i const *);
355__m128 _mm_load_ss(float const *);
356__m128d _mm_loaddup_pd(double const *);
357__m128d _mm_loadh_pd(__m128d, double const *);
358__m128 _mm_loadh_pi(__m128, __m64 const *);
359__m128i _mm_loadl_epi64(__m128i const *);
360__m128d _mm_loadl_pd(__m128d, double const *);
361__m128 _mm_loadl_pi(__m128, __m64 const *);
362__m128d _mm_loadr_pd(double const *);
363__m128 _mm_loadr_ps(float const *);
364__m128d _mm_loadu_pd(double const *);
365__m128 _mm_loadu_ps(float const *);
366__m128i _mm_loadu_si128(__m128i const *);
367__m128i _mm_madd_epi16(__m128i, __m128i);
368__m128i _mm_maddubs_epi16(__m128i, __m128i);
369__m64 _mm_maddubs_pi16(__m64, __m64);
370void _mm_maskmoveu_si128(__m128i, __m128i, _Out_writes_bytes_(16) char *);
371__m128i _mm_max_epi16(__m128i, __m128i);
372__m128i _mm_max_epi32(__m128i, __m128i);
373__m128i _mm_max_epi8(__m128i, __m128i);
374__m128i _mm_max_epu16(__m128i, __m128i);
375__m128i _mm_max_epu32(__m128i, __m128i);
376__m128i _mm_max_epu8(__m128i, __m128i);
377__m128d _mm_max_pd(__m128d, __m128d);
378__m128 _mm_max_ps(__m128, __m128);
379__m128d _mm_max_sd(__m128d, __m128d);
380__m128 _mm_max_ss(__m128, __m128);
381__m128i _mm_min_epi16(__m128i, __m128i);
382__m128i _mm_min_epi32(__m128i, __m128i);
383__m128i _mm_min_epi8(__m128i, __m128i);
384__m128i _mm_min_epu16(__m128i, __m128i);
385__m128i _mm_min_epu32(__m128i, __m128i);
386__m128i _mm_min_epu8(__m128i, __m128i);
387__m128d _mm_min_pd(__m128d, __m128d);
388__m128 _mm_min_ps(__m128, __m128);
389__m128d _mm_min_sd(__m128d, __m128d);
390__m128 _mm_min_ss(__m128, __m128);
391__m128i _mm_minpos_epu16(__m128i);
392void _mm_monitor(void const *, unsigned int, unsigned int);
393__m128i _mm_move_epi64(__m128i);
394__m128d _mm_move_sd(__m128d, __m128d);
395__m128 _mm_move_ss(__m128, __m128);
396__m128d _mm_movedup_pd(__m128d);
397__m128 _mm_movehdup_ps(__m128);
398__m128 _mm_movehl_ps(__m128, __m128);
399__m128 _mm_moveldup_ps(__m128);
400__m128 _mm_movelh_ps(__m128, __m128);
401int _mm_movemask_epi8(__m128i);
402int _mm_movemask_pd(__m128d);
403int _mm_movemask_ps(__m128);
404__m64 _mm_movepi64_pi64(__m128i);
405__m128i _mm_movpi64_epi64(__m64);
406__m128i _mm_mpsadbw_epu8(__m128i, __m128i, int);
407__m128i _mm_mul_epi32(__m128i, __m128i);
408__m128i _mm_mul_epu32(__m128i, __m128i);
409__m128d _mm_mul_pd(__m128d, __m128d);
410__m128 _mm_mul_ps(__m128, __m128);
411__m128d _mm_mul_sd(__m128d, __m128d);
412__m128 _mm_mul_ss(__m128, __m128);
413__m128i _mm_mulhi_epi16(__m128i, __m128i);
414__m128i _mm_mulhi_epu16(__m128i, __m128i);
415__m128i _mm_mulhrs_epi16(__m128i, __m128i);
416__m64 _mm_mulhrs_pi16(__m64, __m64);
417__m128i _mm_mullo_epi16(__m128i, __m128i);
418__m128i _mm_mullo_epi32(__m128i, __m128i);
419void _mm_mwait(unsigned int, unsigned int);
420__m128d _mm_or_pd(__m128d, __m128d);
421__m128 _mm_or_ps(__m128, __m128);
422__m128i _mm_or_si128(__m128i, __m128i);
423__m128i _mm_packs_epi16(__m128i, __m128i);
424__m128i _mm_packs_epi32(__m128i, __m128i);
425__m128i _mm_packus_epi16(__m128i, __m128i);
426__m128i _mm_packus_epi32(__m128i, __m128i);
427int _mm_popcnt_u32(unsigned int);
428void _mm_prefetch(_In_ char const *, _In_ int);
429__m128 _mm_rcp_ps(__m128);
430__m128 _mm_rcp_ss(__m128);
431__m128d _mm_round_pd(__m128d, int);
432__m128 _mm_round_ps(__m128, int);
433__m128d _mm_round_sd(__m128d, __m128d, int);
434__m128 _mm_round_ss(__m128, __m128, int);
435__m128 _mm_rsqrt_ps(__m128);
436__m128 _mm_rsqrt_ss(__m128);
437__m128i _mm_sad_epu8(__m128i, __m128i);
438__m128i _mm_set1_epi16(short);
439__m128i _mm_set1_epi32(int);
440__m128i _mm_set1_epi8(char);
441__m128d _mm_set1_pd(double);
442__m128i _mm_set_epi16(short, short, short, short, short, short, short, short);
443__m128i _mm_set_epi32(int, int, int, int);
444__m128i _mm_set_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char);
445__m128d _mm_set_pd(double, double);
446__m128 _mm_set_ps(float, float, float, float);
447__m128 _mm_set_ps1(float);
448__m128d _mm_set_sd(double);
449__m128 _mm_set_ss(float);
450void _mm_setcsr(unsigned int);
451__m128i _mm_setl_epi64(__m128i);
452__m128i _mm_setr_epi16(short, short, short, short, short, short, short, short);
453__m128i _mm_setr_epi32(int, int, int, int);
454__m128i _mm_setr_epi8(char, char, char, char, char, char, char, char, char, char, char, char, char, char, char, char);
455__m128d _mm_setr_pd(double, double);
456__m128 _mm_setr_ps(float, float, float, float);
457__m128d _mm_setzero_pd(void);
458__m128 _mm_setzero_ps(void);
459__m128i _mm_setzero_si128(void);
460__m128i _mm_shuffle_epi32(__m128i, int);
461__m128i _mm_shuffle_epi8(__m128i, __m128i);
462__m128d _mm_shuffle_pd(__m128d, __m128d, int);
463__m64 _mm_shuffle_pi8(__m64, __m64);
464__m128 _mm_shuffle_ps(__m128, __m128, unsigned int);
465__m128i _mm_shufflehi_epi16(__m128i, int);
466__m128i _mm_shufflelo_epi16(__m128i, int);
467__m128i _mm_sign_epi16(__m128i, __m128i);
468__m128i _mm_sign_epi32(__m128i, __m128i);
469__m128i _mm_sign_epi8(__m128i, __m128i);
470__m64 _mm_sign_pi16(__m64, __m64);
471__m64 _mm_sign_pi32(__m64, __m64);
472__m64 _mm_sign_pi8(__m64, __m64);
473__m128i _mm_sll_epi16(__m128i, __m128i);
474__m128i _mm_sll_epi32(__m128i, __m128i);
475__m128i _mm_sll_epi64(__m128i, __m128i);
476__m128i _mm_slli_epi16(__m128i, int);
477__m128i _mm_slli_epi32(__m128i, int);
478__m128i _mm_slli_epi64(__m128i, int);
479__m128i _mm_slli_si128(__m128i, int);
480__m128d _mm_sqrt_pd(__m128d);
481__m128 _mm_sqrt_ps(__m128);
482__m128d _mm_sqrt_sd(__m128d, __m128d);
483__m128 _mm_sqrt_ss(__m128);
484__m128i _mm_sra_epi16(__m128i, __m128i);
485__m128i _mm_sra_epi32(__m128i, __m128i);
486__m128i _mm_srai_epi16(__m128i, int);
487__m128i _mm_srai_epi32(__m128i, int);
488__m128i _mm_srl_epi16(__m128i, __m128i);
489__m128i _mm_srl_epi32(__m128i, __m128i);
490__m128i _mm_srl_epi64(__m128i, __m128i);
491__m128i _mm_srli_epi16(__m128i, int);
492__m128i _mm_srli_epi32(__m128i, int);
493__m128i _mm_srli_epi64(__m128i, int);
494__m128i _mm_srli_si128(__m128i, int);
495void _mm_store1_pd(double *, __m128d);
496void _mm_store_pd(double *, __m128d);
497void _mm_store_ps(float *, __m128);
498void _mm_store_ps1(float *, __m128);
499void _mm_store_sd(double *, __m128d);
500void _mm_store_si128(__m128i *, __m128i);
501void _mm_store_ss(float *, __m128);
502void _mm_storeh_pd(double *, __m128d);
503void _mm_storeh_pi(__m64 *, __m128);
504void _mm_storel_epi64(__m128i *, __m128i);
505void _mm_storel_pd(double *, __m128d);
506void _mm_storel_pi(__m64 *, __m128);
507void _mm_storer_pd(double *, __m128d);
508void _mm_storer_ps(float *, __m128);
509void _mm_storeu_pd(double *, __m128d);
510void _mm_storeu_ps(float *, __m128);
511void _mm_storeu_si128(__m128i *, __m128i);
512__m128i _mm_stream_load_si128(__m128i *);
513void _mm_stream_pd(double *, __m128d);
514void _mm_stream_ps(float *, __m128);
515void _mm_stream_sd(double *, __m128d);
516void _mm_stream_si128(__m128i *, __m128i);
517void _mm_stream_si32(int *, int);
518void _mm_stream_ss(float *, __m128);
519__m128i _mm_sub_epi16(__m128i, __m128i);
520__m128i _mm_sub_epi32(__m128i, __m128i);
521__m128i _mm_sub_epi64(__m128i, __m128i);
522__m128i _mm_sub_epi8(__m128i, __m128i);
523__m128d _mm_sub_pd(__m128d, __m128d);
524__m128 _mm_sub_ps(__m128, __m128);
525__m128d _mm_sub_sd(__m128d, __m128d);
526__m128 _mm_sub_ss(__m128, __m128);
527__m128i _mm_subs_epi16(__m128i, __m128i);
528__m128i _mm_subs_epi8(__m128i, __m128i);
529__m128i _mm_subs_epu16(__m128i, __m128i);
530__m128i _mm_subs_epu8(__m128i, __m128i);
531int _mm_testc_si128(__m128i, __m128i);
532int _mm_testnzc_si128(__m128i, __m128i);
533int _mm_testz_si128(__m128i, __m128i);
534int _mm_ucomieq_sd(__m128d, __m128d);
535int _mm_ucomieq_ss(__m128, __m128);
536int _mm_ucomige_sd(__m128d, __m128d);
537int _mm_ucomige_ss(__m128, __m128);
538int _mm_ucomigt_sd(__m128d, __m128d);
539int _mm_ucomigt_ss(__m128, __m128);
540int _mm_ucomile_sd(__m128d, __m128d);
541int _mm_ucomile_ss(__m128, __m128);
542int _mm_ucomilt_sd(__m128d, __m128d);
543int _mm_ucomilt_ss(__m128, __m128);
544int _mm_ucomineq_sd(__m128d, __m128d);
545int _mm_ucomineq_ss(__m128, __m128);
546__m128i _mm_unpackhi_epi16(__m128i, __m128i);
547__m128i _mm_unpackhi_epi32(__m128i, __m128i);
548__m128i _mm_unpackhi_epi64(__m128i, __m128i);
549__m128i _mm_unpackhi_epi8(__m128i, __m128i);
550__m128d _mm_unpackhi_pd(__m128d, __m128d);
551__m128 _mm_unpackhi_ps(__m128, __m128);
552__m128i _mm_unpacklo_epi16(__m128i, __m128i);
553__m128i _mm_unpacklo_epi32(__m128i, __m128i);
554__m128i _mm_unpacklo_epi64(__m128i, __m128i);
555__m128i _mm_unpacklo_epi8(__m128i, __m128i);
556__m128d _mm_unpacklo_pd(__m128d, __m128d);
557__m128 _mm_unpacklo_ps(__m128, __m128);
558__m128d _mm_xor_pd(__m128d, __m128d);
559__m128 _mm_xor_ps(__m128, __m128);
560__m128i _mm_xor_si128(__m128i, __m128i);
561#endif // 0
562
563int __cdecl _outp(unsigned short, int);
564unsigned long __cdecl _outpd(unsigned short, unsigned long);
565unsigned short __cdecl _outpw(unsigned short, unsigned short);
566int __cdecl inp(unsigned short);
567unsigned long __cdecl inpd(unsigned short);
568unsigned short __cdecl inpw(unsigned short);
569int __cdecl outp(unsigned short, int);
570unsigned long __cdecl outpd(unsigned short, unsigned long);
571unsigned short __cdecl outpw(unsigned short, unsigned short);
572
573#endif /* _M_IX86 || _M_X64 */
574
575#if defined(_M_IX86)
576
578void __addfsbyte(unsigned long, unsigned char);
579void __addfsdword(unsigned long, unsigned long);
580void __addfsword(unsigned long, unsigned short);
581void __incfsbyte(unsigned long);
582void __incfsdword(unsigned long);
583void __incfsword(unsigned long);
584unsigned long __readcr0(void);
585unsigned long __readcr2(void);
586unsigned long __readcr3(void);
587unsigned long __readcr4(void);
588unsigned long __readcr8(void);
589unsigned int __readdr(unsigned int);
590unsigned int __readeflags(void);
591unsigned char __readfsbyte(unsigned long);
592unsigned long __readfsdword(unsigned long);
593unsigned short __readfsword(unsigned long);
594void __writecr0(unsigned int);
595void __writecr3(unsigned int);
596void __writecr4(unsigned int);
597void __writecr8(unsigned int);
598void __writedr(unsigned int, unsigned int);
599void __writeeflags(unsigned int);
600void __writefsbyte(unsigned long, unsigned char);
601void __writefsdword(unsigned long, unsigned long);
602void __writefsword(unsigned long, unsigned short);
603void _m_empty(void);
604void _m_femms(void);
605
606#if 0
607__m64 _m_from_float(float);
608__m64 _m_from_int(int);
609void _m_maskmovq(__m64, __m64, _Out_writes_bytes_(8) char *);
610__m64 _m_packssdw(__m64, __m64);
611__m64 _m_packsswb(__m64, __m64);
612__m64 _m_packuswb(__m64, __m64);
613__m64 _m_paddb(__m64, __m64);
614__m64 _m_paddd(__m64, __m64);
615__m64 _m_paddsb(__m64, __m64);
616__m64 _m_paddsw(__m64, __m64);
617__m64 _m_paddusb(__m64, __m64);
618__m64 _m_paddusw(__m64, __m64);
619__m64 _m_paddw(__m64, __m64);
620__m64 _m_pand(__m64, __m64);
621__m64 _m_pandn(__m64, __m64);
622__m64 _m_pavgb(__m64, __m64);
623__m64 _m_pavgusb(__m64, __m64);
624__m64 _m_pavgw(__m64, __m64);
625__m64 _m_pcmpeqb(__m64, __m64);
626__m64 _m_pcmpeqd(__m64, __m64);
627__m64 _m_pcmpeqw(__m64, __m64);
628__m64 _m_pcmpgtb(__m64, __m64);
629__m64 _m_pcmpgtd(__m64, __m64);
630__m64 _m_pcmpgtw(__m64, __m64);
631int _m_pextrw(__m64, int);
632__m64 _m_pf2id(__m64);
633__m64 _m_pf2iw(__m64);
634__m64 _m_pfacc(__m64, __m64);
635__m64 _m_pfadd(__m64, __m64);
636__m64 _m_pfcmpeq(__m64, __m64);
637__m64 _m_pfcmpge(__m64, __m64);
638__m64 _m_pfcmpgt(__m64, __m64);
639__m64 _m_pfmax(__m64, __m64);
640__m64 _m_pfmin(__m64, __m64);
641__m64 _m_pfmul(__m64, __m64);
642__m64 _m_pfnacc(__m64, __m64);
643__m64 _m_pfpnacc(__m64, __m64);
644__m64 _m_pfrcp(__m64);
645__m64 _m_pfrcpit1(__m64, __m64);
646__m64 _m_pfrcpit2(__m64, __m64);
647__m64 _m_pfrsqit1(__m64, __m64);
648__m64 _m_pfrsqrt(__m64);
649__m64 _m_pfsub(__m64, __m64);
650__m64 _m_pfsubr(__m64, __m64);
651__m64 _m_pi2fd(__m64);
652__m64 _m_pi2fw(__m64);
653__m64 _m_pinsrw(__m64, int, int);
654__m64 _m_pmaddwd(__m64, __m64);
655__m64 _m_pmaxsw(__m64, __m64);
656__m64 _m_pmaxub(__m64, __m64);
657__m64 _m_pminsw(__m64, __m64);
658__m64 _m_pminub(__m64, __m64);
659int _m_pmovmskb(__m64);
660__m64 _m_pmulhrw(__m64, __m64);
661__m64 _m_pmulhuw(__m64, __m64);
662__m64 _m_pmulhw(__m64, __m64);
663__m64 _m_pmullw(__m64, __m64);
664__m64 _m_por(__m64, __m64);
665__m64 _m_psadbw(__m64, __m64);
666__m64 _m_pshufw(__m64, int);
667__m64 _m_pslld(__m64, __m64);
668__m64 _m_pslldi(__m64, int);
669__m64 _m_psllq(__m64, __m64);
670__m64 _m_psllqi(__m64, int);
671__m64 _m_psllw(__m64, __m64);
672__m64 _m_psllwi(__m64, int);
673__m64 _m_psrad(__m64, __m64);
674__m64 _m_psradi(__m64, int);
675__m64 _m_psraw(__m64, __m64);
676__m64 _m_psrawi(__m64, int);
677__m64 _m_psrld(__m64, __m64);
678__m64 _m_psrldi(__m64, int);
679__m64 _m_psrlq(__m64, __m64);
680__m64 _m_psrlqi(__m64, int);
681__m64 _m_psrlw(__m64, __m64);
682__m64 _m_psrlwi(__m64, int);
683__m64 _m_psubb(__m64, __m64);
684__m64 _m_psubd(__m64, __m64);
685__m64 _m_psubsb(__m64, __m64);
686__m64 _m_psubsw(__m64, __m64);
687__m64 _m_psubusb(__m64, __m64);
688__m64 _m_psubusw(__m64, __m64);
689__m64 _m_psubw(__m64, __m64);
690__m64 _m_pswapd(__m64);
691__m64 _m_punpckhbw(__m64, __m64);
692__m64 _m_punpckhdq(__m64, __m64);
693__m64 _m_punpckhwd(__m64, __m64);
694__m64 _m_punpcklbw(__m64, __m64);
695__m64 _m_punpckldq(__m64, __m64);
696__m64 _m_punpcklwd(__m64, __m64);
697__m64 _m_pxor(__m64, __m64);
698float _m_to_float(__m64);
699int _m_to_int(__m64);
700__m64 _mm_add_si64(__m64, __m64);
701__m128 _mm_cvt_pi2ps(__m128, __m64);
702__m64 _mm_cvt_ps2pi(__m128);
703__m64 _mm_cvtpd_pi32(__m128d);
704__m128d _mm_cvtpi32_pd(__m64);
705__m64 _mm_cvtt_ps2pi(__m128);
706__m64 _mm_cvttpd_pi32(__m128d);
707__m64 _mm_mul_su32(__m64, __m64);
708__m128i _mm_set1_epi64(__m64);
709__m64 _mm_set1_pi16(short);
710__m64 _mm_set1_pi32(int);
711__m64 _mm_set1_pi8(char);
712__m128i _mm_set_epi64(__m64, __m64);
713__m64 _mm_set_pi16(short, short, short, short);
714__m64 _mm_set_pi32(int, int);
715__m64 _mm_set_pi8(char, char, char, char, char, char, char, char);
716__m128i _mm_setr_epi64(__m64, __m64);
717__m64 _mm_setr_pi16(short, short, short, short);
718__m64 _mm_setr_pi32(int, int);
719__m64 _mm_setr_pi8(char, char, char, char, char, char, char, char);
720__m64 _mm_setzero_si64(void);
721void _mm_stream_pi(__m64 *, __m64);
722__m64 _mm_sub_si64(__m64, __m64);
723#endif // 0
724
725#endif /* _M_IX86 */
726
727#if defined(_M_X64)
728
729unsigned char _BitScanForward64(unsigned long * _Index, unsigned __int64 _Mask);
730unsigned char _BitScanReverse64(unsigned long * _Index, unsigned __int64 _Mask);
731short _InterlockedAnd16_np(short volatile * _Value, short _Mask);
732__int64 _InterlockedAnd64_np(__int64 volatile * _Value, __int64 _Mask);
733char _InterlockedAnd8_np(char volatile * _Value, char _Mask);
734long _InterlockedAnd_np(long volatile * _Value, long _Mask);
735unsigned char _InterlockedCompareExchange128(_Interlocked_operand_ __int64 volatile * _Destination, __int64 _ExchangeHigh, __int64 _ExchangeLow, __int64 * _ComparandResult);
736unsigned char _InterlockedCompareExchange128_np(__int64 volatile * _Destination, __int64 _ExchangeHigh, __int64 _ExchangeLow, __int64 * _ComparandResult);
737short _InterlockedCompareExchange16_np(short volatile * _Destination, short _Exchange, short _Comparand);
738__int64 _InterlockedCompareExchange64_np(__int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand);
739void * _InterlockedCompareExchangePointer_np(void * volatile * _Destination, void * _Exchange, void * _Comparand);
740long _InterlockedCompareExchange_np(long volatile * _Destination, long _Exchange, long _Comparand);
741short _InterlockedOr16_np(short volatile * _Value, short _Mask);
742__int64 _InterlockedOr64_np(__int64 volatile * _Value, __int64 _Mask);
743char _InterlockedOr8_np(char volatile * _Value, char _Mask);
744long _InterlockedOr_np(long volatile * _Value, long _Mask);
745short _InterlockedXor16_np(short volatile * _Value, short _Mask);
746__int64 _InterlockedXor64_np(__int64 volatile * _Value, __int64 _Mask);
747char _InterlockedXor8_np(char volatile * _Value, char _Mask);
748long _InterlockedXor_np(long volatile * _Value, long _Mask);
749void __addgsbyte(unsigned long, unsigned char);
750void __addgsdword(unsigned long, unsigned long);
751void __addgsqword(unsigned long, unsigned __int64);
752void __addgsword(unsigned long, unsigned short);
753void __faststorefence(void);
754void __incgsbyte(unsigned long);
755void __incgsdword(unsigned long);
756void __incgsqword(unsigned long);
757void __incgsword(unsigned long);
758unsigned __int64 __lzcnt64(unsigned __int64);
759void __movsq(unsigned long long *, unsigned long long const *, size_t);
760__int64 __mulh(__int64, __int64);
761__int64 _mul128(__int64 _Multiplier, __int64 _Multiplicand, __int64 * _HighProduct);
762unsigned __int64 _umul128(unsigned __int64 _Multiplier, unsigned __int64 _Multiplicand, unsigned __int64 * _HighProduct);
763unsigned __int64 __popcnt64(unsigned __int64);
764unsigned __int64 __readcr0(void);
765unsigned __int64 __readcr2(void);
766unsigned __int64 __readcr3(void);
767unsigned __int64 __readcr4(void);
768unsigned __int64 __readcr8(void);
769unsigned __int64 __readdr(unsigned int);
770unsigned __int64 __readeflags(void);
771unsigned char __readgsbyte(unsigned long);
772unsigned long __readgsdword(unsigned long);
773unsigned __int64 __readgsqword(unsigned long);
774unsigned short __readgsword(unsigned long);
775unsigned __int64 __shiftleft128(unsigned __int64 _LowPart, unsigned __int64 _HighPart, unsigned char _Shift);
776unsigned __int64 __shiftright128(unsigned __int64 _LowPart, unsigned __int64 _HighPart, unsigned char _Shift);
777void __stosq(unsigned __int64 *, unsigned __int64, size_t);
778unsigned __int64 __umulh(unsigned __int64, unsigned __int64);
779unsigned char __vmx_on(unsigned __int64 *);
780unsigned char __vmx_vmclear(unsigned __int64 *);
781unsigned char __vmx_vmlaunch(void);
782unsigned char __vmx_vmptrld(unsigned __int64 *);
783unsigned char __vmx_vmread(size_t, size_t *);
784unsigned char __vmx_vmresume(void);
785unsigned char __vmx_vmwrite(size_t, size_t);
786void __writecr0(unsigned __int64);
787void __writecr3(unsigned __int64);
788void __writecr4(unsigned __int64);
789void __writecr8(unsigned __int64);
790void __writedr(unsigned int, unsigned __int64);
791void __writeeflags(unsigned __int64);
792void __writegsbyte(unsigned long, unsigned char);
793void __writegsdword(unsigned long, unsigned long);
794void __writegsqword(unsigned long, unsigned __int64);
795void __writegsword(unsigned long, unsigned short);
796unsigned char _bittest64(__int64 const *, __int64);
797unsigned char _bittestandcomplement64(__int64 *, __int64);
798unsigned char _bittestandreset64(__int64 *, __int64);
799unsigned char _bittestandset64(__int64 *, __int64);
800unsigned char _interlockedbittestandreset64(__int64 volatile *, __int64);
801unsigned char _interlockedbittestandset64(__int64 volatile *, __int64);
802unsigned __int64 _mm_crc32_u64(unsigned __int64, unsigned __int64);
803#if 0
804__int64 _mm_cvtsd_si64(__m128d);
805__int64 _mm_cvtsd_si64x(__m128d);
807__int64 _mm_cvtsi128_si64x(__m128i);
808__m128d _mm_cvtsi64_sd(__m128d, __int64);
810__m128 _mm_cvtsi64_ss(__m128, __int64);
811__m128d _mm_cvtsi64x_sd(__m128d, __int64);
812__m128i _mm_cvtsi64x_si128(__int64);
813__m128 _mm_cvtsi64x_ss(__m128, __int64);
814__int64 _mm_cvtss_si64(__m128);
815__int64 _mm_cvtss_si64x(__m128);
816__int64 _mm_cvttsd_si64(__m128d);
817__int64 _mm_cvttsd_si64x(__m128d);
818__int64 _mm_cvttss_si64(__m128);
819__int64 _mm_cvttss_si64x(__m128);
820__int64 _mm_extract_epi64(__m128i, int);
821__m128i _mm_insert_epi64(__m128i, __int64, int);
822__int64 _mm_popcnt_u64(unsigned __int64);
823__m128i _mm_set1_epi64x(__int64);
825void _mm_stream_si64x(__int64 *, __int64);
826#endif
827#endif /* _M_X64 */
828
829#if defined(_M_ARM) || defined(_M_X64)
830
831__int64 _InterlockedAnd64(_Interlocked_operand_ __int64 volatile * _Value, __int64 _Mask);
832__int64 _InterlockedDecrement64(_Interlocked_operand_ __int64 volatile * _Addend);
833__int64 _InterlockedExchange64(_Interlocked_operand_ __int64 volatile * _Target, __int64 _Value);
834__int64 _InterlockedExchangeAdd64(_Interlocked_operand_ __int64 volatile * _Addend, __int64 _Value);
835__int64 _InterlockedIncrement64(_Interlocked_operand_ __int64 volatile * _Addend);
836__int64 _InterlockedOr64(_Interlocked_operand_ __int64 volatile * _Value, __int64 _Mask);
837__int64 _InterlockedXor64(_Interlocked_operand_ __int64 volatile * _Value, __int64 _Mask);
838
839#endif /* _M_ARM || _M_X64 */
840
841#if defined(_M_ARM)
842
843int _AddSatInt(int, int);
844double _CopyDoubleFromInt64(__int64);
845float _CopyFloatFromInt32(__int32);
846__int32 _CopyInt32FromFloat(float);
847__int64 _CopyInt64FromDouble(double);
848unsigned int _CountLeadingOnes(unsigned long);
849unsigned int _CountLeadingOnes64(unsigned __int64);
850unsigned int _CountLeadingSigns(long);
851unsigned int _CountLeadingSigns64(__int64);
852unsigned int _CountLeadingZeros(unsigned long);
853unsigned int _CountLeadingZeros64(unsigned __int64);
854unsigned int _CountOneBits(unsigned long);
855unsigned int _CountOneBits64(unsigned __int64);
856int _DAddSatInt(int, int);
857int _DSubSatInt(int, int);
858long _InterlockedAdd(_Interlocked_operand_ long volatile * _Addend, long _Value);
859__int64 _InterlockedAdd64(_Interlocked_operand_ __int64 volatile * _Addend, __int64 _Value);
860__int64 _InterlockedAdd64_acq(__int64 volatile * _Addend, __int64 _Value);
861__int64 _InterlockedAdd64_nf(__int64 volatile * _Addend, __int64 _Value);
862__int64 _InterlockedAdd64_rel(__int64 volatile * _Addend, __int64 _Value);
863long _InterlockedAdd_acq(long volatile * _Addend, long _Value);
864long _InterlockedAdd_nf(long volatile * _Addend, long _Value);
865long _InterlockedAdd_rel(long volatile * _Addend, long _Value);
866short _InterlockedAnd16_acq(short volatile * _Value, short _Mask);
867short _InterlockedAnd16_nf(short volatile * _Value, short _Mask);
868short _InterlockedAnd16_rel(short volatile * _Value, short _Mask);
869__int64 _InterlockedAnd64_acq(__int64 volatile * _Value, __int64 _Mask);
870__int64 _InterlockedAnd64_nf(__int64 volatile * _Value, __int64 _Mask);
871__int64 _InterlockedAnd64_rel(__int64 volatile * _Value, __int64 _Mask);
872char _InterlockedAnd8_acq(char volatile * _Value, char _Mask);
873char _InterlockedAnd8_nf(char volatile * _Value, char _Mask);
874char _InterlockedAnd8_rel(char volatile * _Value, char _Mask);
875long _InterlockedAnd_acq(long volatile * _Value, long _Mask);
876long _InterlockedAnd_nf(long volatile * _Value, long _Mask);
877long _InterlockedAnd_rel(long volatile * _Value, long _Mask);
878short _InterlockedCompareExchange16_acq(short volatile * _Destination, short _Exchange, short _Comparand);
879short _InterlockedCompareExchange16_nf(short volatile * _Destination, short _Exchange, short _Comparand);
880short _InterlockedCompareExchange16_rel(short volatile * _Destination, short _Exchange, short _Comparand);
881__int64 _InterlockedCompareExchange64_acq(__int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand);
882__int64 _InterlockedCompareExchange64_nf(__int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand);
883__int64 _InterlockedCompareExchange64_rel(__int64 volatile * _Destination, __int64 _Exchange, __int64 _Comparand);
884char _InterlockedCompareExchange8_acq(char volatile * _Destination, char _Exchange, char _Comparand);
885char _InterlockedCompareExchange8_nf(char volatile * _Destination, char _Exchange, char _Comparand);
886char _InterlockedCompareExchange8_rel(char volatile * _Destination, char _Exchange, char _Comparand);
887void * _InterlockedCompareExchangePointer_acq(void * volatile * _Destination, void * _Exchange, void * _Comparand);
888void * _InterlockedCompareExchangePointer_nf(void * volatile * _Destination, void * _Exchange, void * _Comparand);
889void * _InterlockedCompareExchangePointer_rel(void * volatile * _Destination, void * _Exchange, void * _Comparand);
890long _InterlockedCompareExchange_acq(long volatile * _Destination, long _Exchange, long _Comparand);
891long _InterlockedCompareExchange_nf(long volatile * _Destination, long _Exchange, long _Comparand);
892long _InterlockedCompareExchange_rel(long volatile * _Destination, long _Exchange, long _Comparand);
893short _InterlockedDecrement16_acq(short volatile * _Addend);
894short _InterlockedDecrement16_nf(short volatile * _Addend);
895short _InterlockedDecrement16_rel(short volatile * _Addend);
896__int64 _InterlockedDecrement64_acq(__int64 volatile * _Addend);
897__int64 _InterlockedDecrement64_nf(__int64 volatile * _Addend);
898__int64 _InterlockedDecrement64_rel(__int64 volatile * _Addend);
899long _InterlockedDecrement_acq(long volatile * _Addend);
900long _InterlockedDecrement_nf(long volatile * _Addend);
901long _InterlockedDecrement_rel(long volatile * _Addend);
902short _InterlockedExchange16_acq(short volatile * _Target, short _Value);
903short _InterlockedExchange16_nf(short volatile * _Target, short _Value);
904__int64 _InterlockedExchange64_acq(__int64 volatile * _Target, __int64 _Value);
905__int64 _InterlockedExchange64_nf(__int64 volatile * _Target, __int64 _Value);
906char _InterlockedExchange8_acq(char volatile * _Target, char _Value);
907char _InterlockedExchange8_nf(char volatile * _Target, char _Value);
908short _InterlockedExchangeAdd16_acq(short volatile * _Addend, short _Value);
909short _InterlockedExchangeAdd16_nf(short volatile * _Addend, short _Value);
910short _InterlockedExchangeAdd16_rel(short volatile * _Addend, short _Value);
911__int64 _InterlockedExchangeAdd64_acq(__int64 volatile * _Addend, __int64 _Value);
912__int64 _InterlockedExchangeAdd64_nf(__int64 volatile * _Addend, __int64 _Value);
913__int64 _InterlockedExchangeAdd64_rel(__int64 volatile * _Addend, __int64 _Value);
914char _InterlockedExchangeAdd8_acq(char volatile * _Addend, char _Value);
915char _InterlockedExchangeAdd8_nf(char volatile * _Addend, char _Value);
916char _InterlockedExchangeAdd8_rel(char volatile * _Addend, char _Value);
917long _InterlockedExchangeAdd_acq(long volatile * _Addend, long _Value);
918long _InterlockedExchangeAdd_nf(long volatile * _Addend, long _Value);
919long _InterlockedExchangeAdd_rel(long volatile * _Addend, long _Value);
920void * _InterlockedExchangePointer_acq(void * volatile * _Target, void * _Value);
921void * _InterlockedExchangePointer_nf(void * volatile * _Target, void * _Value);
922long _InterlockedExchange_acq(long volatile * _Target, long _Value);
923long _InterlockedExchange_nf(long volatile * _Target, long _Value);
924short _InterlockedIncrement16_acq(short volatile * _Addend);
925short _InterlockedIncrement16_nf(short volatile * _Addend);
926short _InterlockedIncrement16_rel(short volatile * _Addend);
927__int64 _InterlockedIncrement64_acq(__int64 volatile * _Addend);
928__int64 _InterlockedIncrement64_nf(__int64 volatile * _Addend);
929__int64 _InterlockedIncrement64_rel(__int64 volatile * _Addend);
930long _InterlockedIncrement_acq(long volatile * _Addend);
931long _InterlockedIncrement_nf(long volatile * _Addend);
932long _InterlockedIncrement_rel(long volatile * _Addend);
933short _InterlockedOr16_acq(short volatile * _Value, short _Mask);
934short _InterlockedOr16_nf(short volatile * _Value, short _Mask);
935short _InterlockedOr16_rel(short volatile * _Value, short _Mask);
936__int64 _InterlockedOr64_acq(__int64 volatile * _Value, __int64 _Mask);
937__int64 _InterlockedOr64_nf(__int64 volatile * _Value, __int64 _Mask);
938__int64 _InterlockedOr64_rel(__int64 volatile * _Value, __int64 _Mask);
939char _InterlockedOr8_acq(char volatile * _Value, char _Mask);
940char _InterlockedOr8_nf(char volatile * _Value, char _Mask);
941char _InterlockedOr8_rel(char volatile * _Value, char _Mask);
942long _InterlockedOr_acq(long volatile * _Value, long _Mask);
943long _InterlockedOr_nf(long volatile * _Value, long _Mask);
944long _InterlockedOr_rel(long volatile * _Value, long _Mask);
945short _InterlockedXor16_acq(short volatile * _Value, short _Mask);
946short _InterlockedXor16_nf(short volatile * _Value, short _Mask);
947short _InterlockedXor16_rel(short volatile * _Value, short _Mask);
948__int64 _InterlockedXor64_acq(__int64 volatile * _Value, __int64 _Mask);
949__int64 _InterlockedXor64_nf(__int64 volatile * _Value, __int64 _Mask);
950__int64 _InterlockedXor64_rel(_Interlocked_operand_ __int64 volatile * _Value, __int64 _Mask);
951char _InterlockedXor8_acq(char volatile * _Value, char _Mask);
952char _InterlockedXor8_nf(char volatile * _Value, char _Mask);
953char _InterlockedXor8_rel(char volatile * _Value, char _Mask);
954long _InterlockedXor_acq(long volatile * _Value, long _Mask);
955long _InterlockedXor_nf(long volatile * _Value, long _Mask);
956long _InterlockedXor_rel(long volatile * _Value, long _Mask);
957#if _MSC_FULL_VER >= 170040825
958unsigned int _MoveFromCoprocessor(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
959unsigned int _MoveFromCoprocessor2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
960#else
961int _MoveFromCoprocessor(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
962int _MoveFromCoprocessor2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
963#endif
964unsigned __int64 _MoveFromCoprocessor64(unsigned int, unsigned int, unsigned int);
965void _MoveToCoprocessor(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
966void _MoveToCoprocessor2(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
967void _MoveToCoprocessor64(unsigned __int64, unsigned int, unsigned int, unsigned int);
968long _MulHigh(long, long);
969unsigned long _MulUnsignedHigh(unsigned long, unsigned long);
970int _ReadStatusReg(int);
971int _SubSatInt(int, int);
972void _WriteStatusReg(int, int, int);
973void __emit(unsigned __int32);
974__int64 __ldrexd(__int64 volatile *);
975void __cdecl __prefetch(const void *);
976unsigned __int64 __rdpmccntr64(void);
977void __sev(void);
978void __static_assert(int, const char *);
979unsigned int __swi(unsigned int, ...);
980unsigned int __hvc(unsigned int, ...);
981int __trap(int, ...);
982__int16 __iso_volatile_load16(const volatile __int16 *);
983__int32 __iso_volatile_load32(const volatile __int32 *);
984__int64 __iso_volatile_load64(const volatile __int64 *);
985__int8 __iso_volatile_load8(const volatile __int8 *);
986void __iso_volatile_store16(volatile __int16 *, __int16);
987void __iso_volatile_store32(volatile __int32 *, __int32);
988void __iso_volatile_store64(volatile __int64 *, __int64);
989void __iso_volatile_store8(volatile __int8 *, __int8);
990void __wfe(void);
991void __wfi(void);
992void __yield(void);
993unsigned char _interlockedbittestandreset_acq(long volatile *, long);
994unsigned char _interlockedbittestandreset_nf(long volatile *, long);
995unsigned char _interlockedbittestandreset_rel(long volatile *, long);
996unsigned char _interlockedbittestandset_acq(long volatile *, long);
997unsigned char _interlockedbittestandset_nf(long volatile *, long);
998unsigned char _interlockedbittestandset_rel(long volatile *, long);
999int _isunordered(double, double);
1000int _isunorderedf(float, float);
1001
1002#endif /* _M_ARM */
1003
1004#if defined(_M_CEE_PURE)
1005
1006long _InterlockedCompareExchange(_Interlocked_operand_ long volatile * _Destination, long _Exchange, long _Comparand);
1007long _InterlockedDecrement(_Interlocked_operand_ long volatile * _Addend);
1008long _InterlockedIncrement(_Interlocked_operand_ long volatile * _Addend);
1009
1010#endif /* _M_CEE_PURE */
1011
1012#if defined(__cplusplus)
1013}
1014#endif /* __cplusplus */
1015
1016#if (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32) // We can't use __MINGW32__ here
1017# include "mingw32/intrin.h"
1018#elif defined(_MSC_VER)
1019# include "msc/intrin.h"
1020#else
1021# error Please implement intrinsics for your target compiler
1022#endif
1023
1024#endif
#define __cdecl
Definition: accygwin.h:79
#define __int8
Definition: basetyps.h:25
#define __int16
Definition: basetyps.h:22
#define __int64
Definition: basetyps.h:16
#define __int32
Definition: basetyps.h:19
int _Value
Definition: setjmp.h:214
__m128 _mm_cvtpd_ps(__m128d a)
Definition: emmintrin.h:846
__m128d _mm_cmpnge_sd(__m128d a, __m128d b)
Definition: emmintrin.h:780
void _mm_storeu_pd(double *dp, __m128d a)
Definition: emmintrin.h:1083
__m128d _mm_add_sd(__m128d a, __m128d b)
Definition: emmintrin.h:567
void _mm_storeu_si128(__m128i_u *p, __m128i b)
Definition: emmintrin.h:1661
__m128i _mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)
Definition: emmintrin.h:1587
__m128i _mm_cmpgt_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1442
__m128i _mm_set1_epi16(short w)
Definition: emmintrin.h:1613
int _mm_cvtsi128_si32(__m128i a)
Definition: emmintrin.h:1522
__m128i _mm_set_epi32(int i3, int i2, int i1, int i0)
Definition: emmintrin.h:1575
void _mm_store_si128(__m128i *p, __m128i b)
Definition: emmintrin.h:1656
__m128i _mm_adds_epu16(__m128i a, __m128i b)
Definition: emmintrin.h:1170
__m128i _mm_movpi64_epi64(__m64 a)
Definition: emmintrin.h:1864
__m128i _mm_slli_epi64(__m128i a, int count)
Definition: emmintrin.h:1364
int _mm_ucomile_sd(__m128d a, __m128d b)
Definition: emmintrin.h:826
__m128d _mm_cmpeq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:722
int _mm_cvtsd_si32(__m128d a)
Definition: emmintrin.h:874
int _mm_comile_sd(__m128d a, __m128d b)
Definition: emmintrin.h:796
__m128d _mm_cmpnlt_pd(__m128d a, __m128d b)
Definition: emmintrin.h:702
__m128i _mm_setr_epi32(int i0, int i1, int i2, int i3)
Definition: emmintrin.h:1629
__m128i _mm_setzero_si128(void)
Definition: emmintrin.h:1651
__m128i _mm_srl_epi64(__m128i a, __m128i count)
Definition: emmintrin.h:1422
__m128d _mm_add_pd(__m128d a, __m128d b)
Definition: emmintrin.h:573
__m128i _mm_cvtpd_epi32(__m128d a)
Definition: emmintrin.h:869
__m128i _mm_xor_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1336
__m128i _mm_move_epi64(__m128i a)
Definition: emmintrin.h:1869
__m128d _mm_sub_sd(__m128d a, __m128d b)
Definition: emmintrin.h:578
__m128d _mm_loadh_pd(__m128d a, double const *dp)
Definition: emmintrin.h:1000
__m128d _mm_cmpnlt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:764
__m128i _mm_srli_epi64(__m128i a, int count)
Definition: emmintrin.h:1417
__m128d _mm_setr_pd(double w, double x)
Definition: emmintrin.h:1043
__m128d _mm_cmpord_sd(__m128d a, __m128d b)
Definition: emmintrin.h:749
__m128i _mm_set1_epi64(__m64 q)
Definition: emmintrin.h:1603
__m128d _mm_cmpunord_pd(__m128d a, __m128d b)
Definition: emmintrin.h:692
__m128i _mm_packs_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1747
void _mm_store1_pd(double *dp, __m128d a)
Definition: emmintrin.h:1072
__m128i _mm_sad_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1255
__m128d _mm_setzero_pd(void)
Definition: emmintrin.h:1048
__m128d _mm_cmpneq_pd(__m128d a, __m128d b)
Definition: emmintrin.h:697
void _mm_storel_epi64(__m128i_u *p, __m128i a)
Definition: emmintrin.h:1698
__m128i _mm_packus_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1752
__m128d _mm_set_sd(double w)
Definition: emmintrin.h:1028
__m128 _mm_cvtepi32_ps(__m128i a)
Definition: emmintrin.h:1493
#define _mm_slli_si128(a, imm)
Definition: emmintrin.h:1341
__m128i _mm_adds_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1161
__m128i _mm_sub_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1270
__m128i _mm_add_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1123
__m128d _mm_cmpnge_pd(__m128d a, __m128d b)
Definition: emmintrin.h:717
int _mm_comige_sd(__m128d a, __m128d b)
Definition: emmintrin.h:806
__m128d _mm_cmpge_pd(__m128d a, __m128d b)
Definition: emmintrin.h:682
__m128d _mm_loadr_pd(double const *dp)
Definition: emmintrin.h:946
__m128i _mm_mulhi_epu16(__m128i a, __m128i b)
Definition: emmintrin.h:1235
__m128i _mm_slli_epi32(__m128i a, int count)
Definition: emmintrin.h:1354
__m64 _mm_sub_si64(__m64 a, __m64 b)
Definition: emmintrin.h:1275
__m128i _mm_load_si128(__m128i const *p)
Definition: emmintrin.h:1533
__m128d _mm_max_sd(__m128d a, __m128d b)
Definition: emmintrin.h:632
__m64 _mm_cvtpd_pi32(__m128d a)
Definition: emmintrin.h:907
__m128d _mm_and_pd(__m128d a, __m128d b)
Definition: emmintrin.h:642
__m128i _mm_mul_epu32(__m128i a, __m128i b)
Definition: emmintrin.h:1250
__m128i _mm_cvttpd_epi32(__m128d a)
Definition: emmintrin.h:897
int _mm_ucomige_sd(__m128d a, __m128d b)
Definition: emmintrin.h:836
__m128d _mm_sub_pd(__m128d a, __m128d b)
Definition: emmintrin.h:584
__m128i _mm_cmpeq_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1427
__m128d _mm_load1_pd(double const *dp)
Definition: emmintrin.h:932
__m128d _mm_load_pd(double const *dp)
Definition: emmintrin.h:927
__m128d _mm_min_pd(__m128d a, __m128d b)
Definition: emmintrin.h:627
__m128i _mm_sll_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1359
__m128i _mm_unpackhi_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1790
void _mm_stream_si32(int *p, int a)
Definition: emmintrin.h:1724
__m128i _mm_subs_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1303
__m128i _mm_srl_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1412
__m128i _mm_mulhi_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1230
#define _mm_shuffle_pd(a, b, i)
Definition: emmintrin.h:1901
void _mm_stream_si128(__m128i *p, __m128i a)
Definition: emmintrin.h:1715
void _mm_mfence(void)
Definition: intrin_x86.h:99
__m128d _mm_or_pd(__m128d a, __m128d b)
Definition: emmintrin.h:652
__m128i _mm_cmpeq_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1432
__m128d _mm_cmpge_sd(__m128d a, __m128d b)
Definition: emmintrin.h:743
__m128d _mm_mul_sd(__m128d a, __m128d b)
Definition: emmintrin.h:589
__m128i _mm_set1_epi8(char b)
Definition: emmintrin.h:1618
__m128i _mm_sra_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1389
__m128d _mm_sqrt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:611
__m128i _mm_srai_epi32(__m128i a, int count)
Definition: emmintrin.h:1384
__m128i _mm_cvtsi32_si128(int a)
Definition: emmintrin.h:1512
__m64 _mm_add_si64(__m64 a, __m64 b)
Definition: emmintrin.h:1133
__m128i _mm_slli_epi16(__m128i a, int count)
Definition: emmintrin.h:1344
__m128d _mm_cmpeq_pd(__m128d a, __m128d b)
Definition: emmintrin.h:662
__m128i _mm_subs_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1285
void _mm_storer_pd(double *dp, __m128d a)
Definition: emmintrin.h:1091
__INTRIN_INLINE_SSE2 __m128i _mm_cvtsi64_si128(long long a)
Definition: emmintrin.h:1517
int _mm_movemask_pd(__m128d a)
Definition: emmintrin.h:1896
__m128i _mm_setr_epi64(__m64 q0, __m64 q1)
Definition: emmintrin.h:1624
__m128i _mm_sub_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1280
__m128d _mm_move_sd(__m128d a, __m128d b)
Definition: emmintrin.h:1053
__m128i _mm_min_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1221
__INTRIN_INLINE_SSE2 __m128i _mm_set_epi64x(long long q1, long long q0)
Definition: emmintrin.h:1565
__m128d _mm_unpackhi_pd(__m128d a, __m128d b)
Definition: emmintrin.h:1878
int _mm_cvttsd_si32(__m128d a)
Definition: emmintrin.h:902
__m128d _mm_cmpnle_pd(__m128d a, __m128d b)
Definition: emmintrin.h:707
__m128i _mm_unpackhi_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1800
__m128d _mm_cmpnle_sd(__m128d a, __m128d b)
Definition: emmintrin.h:769
__m128i _mm_add_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1118
__m128d _mm_cmple_sd(__m128d a, __m128d b)
Definition: emmintrin.h:732
__m128d _mm_cmple_pd(__m128d a, __m128d b)
Definition: emmintrin.h:672
__m128i _mm_cmplt_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1469
#define _mm_insert_epi16(a, b, imm)
Definition: emmintrin.h:1761
__m128d _mm_cvtpi32_pd(__m64 a)
Definition: emmintrin.h:917
__m128d _mm_loadu_pd(double const *dp)
Definition: emmintrin.h:956
__m64 _mm_mul_su32(__m64 a, __m64 b)
Definition: emmintrin.h:1245
__m128i _mm_avg_epu16(__m128i a, __m128i b)
Definition: emmintrin.h:1184
__m128d _mm_cvtss_sd(__m128d a, __m128 b)
Definition: emmintrin.h:891
int _mm_ucomieq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:816
__m128i _mm_setr_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)
Definition: emmintrin.h:1641
__m128i _mm_sll_epi64(__m128i a, __m128i count)
Definition: emmintrin.h:1369
__m128d _mm_cmpngt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:774
void _mm_storel_pd(double *dp, __m128d a)
Definition: emmintrin.h:1110
__m128d _mm_cmplt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:727
__m128d _mm_cvtsi32_sd(__m128d a, int b)
Definition: emmintrin.h:884
__m128i _mm_or_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1331
__INTRIN_INLINE_SSE2 long long _mm_cvtsi128_si64(__m128i a)
Definition: emmintrin.h:1528
__m128i _mm_cmplt_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1464
__m128i _mm_subs_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1294
__m128d _mm_cmpngt_pd(__m128d a, __m128d b)
Definition: emmintrin.h:712
#define _mm_extract_epi16(a, imm)
Definition: emmintrin.h:1757
#define _mm_shufflelo_epi16(a, imm)
Definition: emmintrin.h:1773
__m128i _mm_packs_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1742
__INTRIN_INLINE_SSE2 __m128i _mm_set1_epi64x(long long q)
Definition: emmintrin.h:1598
__m128d _mm_min_sd(__m128d a, __m128d b)
Definition: emmintrin.h:622
void _mm_store_pd(double *dp, __m128d a)
Definition: emmintrin.h:1067
__m128i _mm_srli_epi16(__m128i a, int count)
Definition: emmintrin.h:1397
__m128i _mm_sub_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1260
__m128d _mm_cmpord_pd(__m128d a, __m128d b)
Definition: emmintrin.h:687
void _mm_storeh_pd(double *dp, __m128d a)
Definition: emmintrin.h:1102
__m128d _mm_mul_pd(__m128d a, __m128d b)
Definition: emmintrin.h:595
__m128i _mm_sll_epi16(__m128i a, __m128i count)
Definition: emmintrin.h:1349
__m128d _mm_sqrt_pd(__m128d a)
Definition: emmintrin.h:617
__m128i _mm_mullo_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1240
__m128i _mm_sra_epi16(__m128i a, __m128i count)
Definition: emmintrin.h:1379
int _mm_comieq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:786
__m128i _mm_cvttps_epi32(__m128 a)
Definition: emmintrin.h:1507
__m128d _mm_load_sd(double const *dp)
Definition: emmintrin.h:991
__m64 _mm_movepi64_pi64(__m128i a)
Definition: emmintrin.h:1859
void _mm_lfence(void)
Definition: intrin_x86.h:106
void _mm_maskmoveu_si128(__m128i d, __m128i n, _Out_writes_bytes_(16) char *p)
int _mm_movemask_epi8(__m128i a)
Definition: emmintrin.h:1765
__m128i _mm_madd_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1189
__m128d _mm_cmpgt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:737
int _mm_ucomilt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:821
__m128i _mm_cmpeq_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1437
__m128i _mm_srai_epi16(__m128i a, int count)
Definition: emmintrin.h:1374
__m128i _mm_set_epi16(short w7, short w6, short w5, short w4, short w3, short w2, short w1, short w0)
Definition: emmintrin.h:1580
__m128i _mm_setr_epi16(short w0, short w1, short w2, short w3, short w4, short w5, short w6, short w7)
Definition: emmintrin.h:1634
int _mm_ucomineq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:841
__m128i _mm_cvtps_epi32(__m128 a)
Definition: emmintrin.h:1502
__m128i _mm_unpackhi_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1779
__m128d _mm_andnot_pd(__m128d a, __m128d b)
Definition: emmintrin.h:647
__m128d _mm_loadl_pd(__m128d a, double const *dp)
Definition: emmintrin.h:1009
__m128d _mm_cmpneq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:759
__m128i _mm_min_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1212
__m128 _mm_cvtsd_ss(__m128 a, __m128d b)
Definition: emmintrin.h:879
__m128i _mm_andnot_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1326
__m128i _mm_and_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1321
__m128i _mm_setl_epi64(__m128i q)
void _mm_stream_pd(double *p, __m128d a)
Definition: emmintrin.h:1706
int _mm_comineq_sd(__m128d a, __m128d b)
Definition: emmintrin.h:811
__m128i _mm_avg_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1179
int _mm_ucomigt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:831
__m128i _mm_adds_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1152
__m128i _mm_unpackhi_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1810
__m128i _mm_adds_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1143
int _mm_comilt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:791
__m128i _mm_unpacklo_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1830
__m128i _mm_cmplt_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1459
#define _mm_shufflehi_epi16(a, imm)
Definition: emmintrin.h:1776
__m128d _mm_cvtepi32_pd(__m128i a)
Definition: emmintrin.h:860
__m128i _mm_max_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1194
__m128i _mm_unpacklo_epi8(__m128i a, __m128i b)
Definition: emmintrin.h:1819
__m128d _mm_xor_pd(__m128d a, __m128d b)
Definition: emmintrin.h:657
void _mm_clflush(void const *p)
__m128d _mm_cvtps_pd(__m128 a)
Definition: emmintrin.h:851
__m128d _mm_cmpgt_pd(__m128d a, __m128d b)
Definition: emmintrin.h:677
void _mm_pause(void)
Definition: intrin_x86.h:2036
void _mm_store_sd(double *dp, __m128d a)
Definition: emmintrin.h:1059
__m128d _mm_set_pd(double w, double x)
Definition: emmintrin.h:1038
__m128i _mm_srli_epi32(__m128i a, int count)
Definition: emmintrin.h:1407
int _mm_comigt_sd(__m128d a, __m128d b)
Definition: emmintrin.h:801
__m128i _mm_set_epi64(__m64 q1, __m64 q0)
Definition: emmintrin.h:1570
__m128i _mm_cmpgt_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1449
__m128d _mm_cmplt_pd(__m128d a, __m128d b)
Definition: emmintrin.h:667
__m128i _mm_add_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1128
__m128i _mm_sub_epi16(__m128i a, __m128i b)
Definition: emmintrin.h:1265
__m64 _mm_cvttpd_pi32(__m128d a)
Definition: emmintrin.h:912
__m128i _mm_loadl_epi64(__m128i_u const *p)
Definition: emmintrin.h:1546
__m128i _mm_add_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1138
#define _mm_srli_si128(a, imm)
Definition: emmintrin.h:1394
__m128d _mm_div_sd(__m128d a, __m128d b)
Definition: emmintrin.h:600
__m128i _mm_cmpgt_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1454
#define _mm_shuffle_epi32(a, imm)
Definition: emmintrin.h:1770
__m128d _mm_set1_pd(double w)
Definition: emmintrin.h:1033
__m128i _mm_unpacklo_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1840
__m128d _mm_div_pd(__m128d a, __m128d b)
Definition: emmintrin.h:606
__m128i _mm_srl_epi16(__m128i a, __m128i count)
Definition: emmintrin.h:1402
__m128d _mm_max_pd(__m128d a, __m128d b)
Definition: emmintrin.h:637
__m128d _mm_cmpunord_sd(__m128d a, __m128d b)
Definition: emmintrin.h:754
__m128d _mm_unpacklo_pd(__m128d a, __m128d b)
Definition: emmintrin.h:1887
__m128i _mm_subs_epu16(__m128i a, __m128i b)
Definition: emmintrin.h:1312
__m128i _mm_loadu_si128(__m128i_u const *p)
Definition: emmintrin.h:1538
__m128i _mm_set1_epi32(int i)
Definition: emmintrin.h:1608
__m128i _mm_unpacklo_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1850
__m128i _mm_max_epu8(__m128i a, __m128i b)
Definition: emmintrin.h:1203
char _InterlockedExchange8(_Interlocked_operand_ char volatile *_Target, char _Value)
void _WriteBarrier(void)
long __cdecl _InterlockedExchangeAdd(_Interlocked_operand_ long volatile *_Addend, long _Value)
_Check_return_ unsigned __int64 __cdecl _byteswap_uint64(_In_ unsigned __int64)
void * _InterlockedCompareExchangePointer(_Interlocked_operand_ void *volatile *_Destination, void *_Exchange, void *_Comparand)
unsigned char _bittest(long const *, long)
Definition: intrin_ppc.h:464
long __cdecl _InterlockedIncrement(_Interlocked_operand_ long volatile *_Addend)
void * _InterlockedExchangePointer(_Interlocked_operand_ void *volatile *_Target, void *_Value)
void __code_seg(const char *)
unsigned char _interlockedbittestandset(long volatile *, long)
Definition: intrin_arm.h:381
_Check_return_ unsigned short __cdecl _rotr16(_In_ unsigned short _Value, _In_ unsigned char _Shift)
short _InterlockedDecrement16(_Interlocked_operand_ short volatile *_Addend)
unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask)
Definition: intrin_arm.h:180
_Check_return_ unsigned __int64 __cdecl _rotl64(_In_ unsigned __int64 _Value, _In_ int _Shift)
void _ReadWriteBarrier(void)
Definition: intrin_x86.h:88
__int64 _InterlockedCompareExchange64(_Interlocked_operand_ __int64 volatile *_Destination, __int64 _Exchange, __int64 _Comparand)
_Check_return_ unsigned long __cdecl _lrotl(_In_ unsigned long, _In_ int)
char _InterlockedOr8(_Interlocked_operand_ char volatile *_Value, char _Mask)
long _InterlockedOr(_Interlocked_operand_ long volatile *_Value, long _Mask)
void __cdecl _disable(void)
Definition: intrin_arm.h:365
unsigned char _bittestandreset(long *, long)
Definition: intrin_ppc.h:476
__int64 __cdecl _abs64(__int64)
long __cdecl _InterlockedExchange(_Interlocked_operand_ long volatile *_Target, long _Value)
_Check_return_ unsigned __int64 __cdecl _rotr64(_In_ unsigned __int64 _Value, _In_ int _Shift)
long __cdecl _InterlockedCompareExchange(_Interlocked_operand_ long volatile *_Destination, long _Exchange, long _Comparand)
unsigned char _bittestandset(long *, long)
Definition: intrin_ppc.h:483
_Check_return_ unsigned char __cdecl _rotl8(_In_ unsigned char _Value, _In_ unsigned char _Shift)
void __cdecl _enable(void)
Definition: intrin_arm.h:373
_Check_return_ unsigned long __cdecl _lrotr(_In_ unsigned long, _In_ int)
char _InterlockedCompareExchange8(_Interlocked_operand_ char volatile *_Destination, char _Exchange, char _Comparand)
_Check_return_ unsigned short __cdecl _rotl16(_In_ unsigned short _Value, _In_ unsigned char _Shift)
unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask)
Definition: intrin_arm.h:57
short _InterlockedXor16(_Interlocked_operand_ short volatile *_Value, short _Mask)
short _InterlockedCompareExchange16(_Interlocked_operand_ short volatile *_Destination, short _Exchange, short _Comparand)
unsigned char _interlockedbittestandreset(long volatile *, long)
Definition: intrin_arm.h:386
_Check_return_ unsigned char __cdecl _rotr8(_In_ unsigned char _Value, _In_ unsigned char _Shift)
_Check_return_ unsigned int __cdecl _rotl(_In_ unsigned int _Value, _In_ int _Shift)
unsigned char _bittestandcomplement(long *, long)
Definition: intrin_ppc.h:469
_Check_return_ unsigned long __cdecl _byteswap_ulong(_In_ unsigned long)
short _InterlockedExchangeAdd16(_Interlocked_operand_ short volatile *_Addend, short _Value)
short _InterlockedAnd16(_Interlocked_operand_ short volatile *_Value, short _Mask)
_Check_return_ unsigned short __cdecl _byteswap_ushort(_In_ unsigned short)
short _InterlockedIncrement16(_Interlocked_operand_ short volatile *_Addend)
void _ReadBarrier(void)
void * _AddressOfReturnAddress(void)
__declspec(noreturn) void __fastfail(unsigned int)
Definition: noreturn.cpp:19
short _InterlockedExchange16(_Interlocked_operand_ short volatile *_Target, short _Value)
char _InterlockedExchangeAdd8(_Interlocked_operand_ char volatile *_Addend, char _Value)
void __nop(void)
Definition: intrin_x86.h:2042
_Check_return_ unsigned int __cdecl _rotr(_In_ unsigned int _Value, _In_ int _Shift)
void * _ReturnAddress(void)
long __cdecl _InterlockedDecrement(_Interlocked_operand_ long volatile *_Addend)
void __cdecl __debugbreak(void)
Definition: intrin_ppc.h:698
__INTRIN_INLINE unsigned _CountLeadingZeros(long Mask)
Definition: intrin_arm.h:47
__INTRIN_INLINE void __yield(void)
Definition: intrin_arm.h:38
__INTRIN_INLINE long _InterlockedAddLargeStatistic(volatile long long *const Addend, const long Value)
Definition: intrin_arm.h:359
PPC_QUAL unsigned char __readfsbyte(const unsigned long Offset)
Definition: intrin_ppc.h:360
PPC_QUAL unsigned long long __ull_rshift(const unsigned long long Mask, int Bit)
Definition: intrin_ppc.h:520
PPC_QUAL void __stosb(unsigned char *Dest, const unsigned char Data, unsigned long Count)
Definition: intrin_ppc.h:306
PPC_QUAL void __writemsr(const unsigned long Value)
Definition: intrin_ppc.h:748
PPC_QUAL unsigned long long __emulu(const unsigned int a, const unsigned int b)
Definition: intrin_ppc.h:532
PPC_QUAL void __writefsword(const unsigned long Offset, const unsigned short Data)
Definition: intrin_ppc.h:348
PPC_QUAL void __incfsword(const unsigned long Offset)
Definition: intrin_ppc.h:398
PPC_QUAL void __incfsdword(const unsigned long Offset)
Definition: intrin_ppc.h:403
PPC_QUAL void __movsd(unsigned long *Destination, const unsigned long *Source, unsigned long Count)
Definition: intrin_ppc.h:333
PPC_QUAL unsigned long long __ll_lshift(const unsigned long long Mask, int Bit)
Definition: intrin_ppc.h:510
PPC_QUAL long long __emul(const int a, const int b)
Definition: intrin_ppc.h:527
PPC_QUAL void __cpuid(int CPUInfo[], const int InfoType)
Definition: intrin_ppc.h:682
PPC_QUAL void __incfsbyte(const unsigned long Offset)
Definition: intrin_ppc.h:393
PPC_QUAL unsigned long long __readmsr()
Definition: intrin_ppc.h:741
PPC_QUAL void __outbytestring(unsigned long const Port, const unsigned char *const Buffer, const unsigned long Count)
Definition: intrin_ppc.h:653
PPC_QUAL void __addfsword(const unsigned long Offset, const unsigned short Data)
Definition: intrin_ppc.h:415
PPC_QUAL void __outdword(unsigned long const Port, const unsigned long Data)
Definition: intrin_ppc.h:637
PPC_QUAL unsigned short __readfsword(const unsigned long Offset)
Definition: intrin_ppc.h:371
PPC_QUAL void __movsw(unsigned short *Destination, const unsigned short *Source, unsigned long Count)
Definition: intrin_ppc.h:328
PPC_QUAL void __wbinvd(void)
Definition: intrin_ppc.h:759
PPC_QUAL void __outwordstring(unsigned long const Port, const unsigned short *const Buffer, const unsigned long Count)
Definition: intrin_ppc.h:662
PPC_QUAL void __addfsbyte(const unsigned long Offset, const unsigned char Data)
Definition: intrin_ppc.h:410
PPC_QUAL void __int2c(void)
Definition: intrin_ppc.h:703
PPC_QUAL unsigned char __inbyte(const unsigned long Port)
Definition: intrin_ppc.h:539
PPC_QUAL unsigned short __inword(const unsigned long Port)
Definition: intrin_ppc.h:554
PPC_QUAL void __inwordstring(unsigned long Port, unsigned short *Buffer, unsigned long Count)
Definition: intrin_ppc.h:591
PPC_QUAL void __outbyte(unsigned long const Port, const unsigned char Data)
Definition: intrin_ppc.h:605
volatile char *const const char modify volatile long *const const long modify _InterlockedOr16
Definition: intrin_ppc.h:269
_InterlockedAnd8
Definition: intrin_ppc.h:265
PPC_QUAL void __writefsdword(const unsigned long Offset, const unsigned long Data)
Definition: intrin_ppc.h:354
PPC_QUAL void __inbytestring(unsigned long Port, unsigned char *Buffer, unsigned long Count)
Definition: intrin_ppc.h:584
PPC_QUAL void __outdwordstring(unsigned long const Port, const unsigned long *const Buffer, const unsigned long Count)
Definition: intrin_ppc.h:671
PPC_QUAL long long __ll_rshift(const long long Mask, const int Bit)
Definition: intrin_ppc.h:515
PPC_QUAL void __movsb(unsigned char *Destination, const unsigned char *Source, unsigned long Count)
Definition: intrin_ppc.h:323
PPC_QUAL unsigned long __indword(const unsigned long Port)
Definition: intrin_ppc.h:569
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
Definition: intrin_ppc.h:382
PPC_QUAL void __indwordstring(unsigned long Port, unsigned long *Buffer, unsigned long Count)
Definition: intrin_ppc.h:598
PPC_QUAL void __writefsbyte(const unsigned long Offset, const unsigned char Data)
Definition: intrin_ppc.h:342
PPC_QUAL void __outword(unsigned long const Port, const unsigned short Data)
Definition: intrin_ppc.h:621
volatile char *const const char modify volatile long *const const long modify volatile short *const const short modify volatile char *const const char modify _InterlockedXor
Definition: intrin_ppc.h:273
volatile char *const const char modify _InterlockedAnd
Definition: intrin_ppc.h:267
PPC_QUAL void __stosw(unsigned short *Dest, const unsigned short Data, unsigned long Count)
Definition: intrin_ppc.h:311
volatile char *const const char modify volatile long *const const long modify volatile short *const const short modify _InterlockedXor8
Definition: intrin_ppc.h:271
PPC_QUAL void __addfsdword(const unsigned long Offset, const unsigned int Data)
Definition: intrin_ppc.h:420
PPC_QUAL void __stosd(unsigned long *Dest, const unsigned long Data, unsigned long Count)
Definition: intrin_ppc.h:317
PPC_QUAL unsigned long long __rdtsc(void)
Definition: intrin_ppc.h:688
__INTRIN_INLINE unsigned int __popcnt(unsigned int value)
Definition: intrin_x86.h:1448
__INTRIN_INLINE void _sgdt(void *Destination)
Definition: intrin_x86.h:2028
__INTRIN_INLINE unsigned long __segmentlimit(unsigned long a)
Definition: intrin_x86.h:2006
__INTRIN_INLINE unsigned long __readcr3(void)
Definition: intrin_x86.h:1818
__INTRIN_INLINE unsigned int __lzcnt(unsigned int value)
Definition: intrin_x86.h:1434
__INTRIN_INLINE void __writeeflags(uintptr_t Value)
Definition: intrin_x86.h:1669
__INTRIN_INLINE unsigned long __cdecl _inpd(unsigned short Port)
Definition: intrin_x86.h:1618
__INTRIN_INLINE void __lidt(void *Source)
Definition: intrin_x86.h:2018
__INTRIN_INLINE void __cpuidex(int CPUInfo[4], int InfoType, int ECXValue)
Definition: intrin_x86.h:1649
__INTRIN_INLINE unsigned int __readdr(unsigned int reg)
Definition: intrin_x86.h:1902
__INTRIN_INLINE unsigned long __readcr4(void)
Definition: intrin_x86.h:1825
__INTRIN_INLINE unsigned long __readcr0(void)
Definition: intrin_x86.h:1804
__INTRIN_INLINE unsigned short __lzcnt16(unsigned short value)
Definition: intrin_x86.h:1441
__INTRIN_INLINE unsigned long __cdecl _outpd(unsigned short Port, unsigned long dataword)
Definition: intrin_x86.h:1635
__INTRIN_INLINE uintptr_t __readeflags(void)
Definition: intrin_x86.h:1674
__INTRIN_INLINE void __invlpg(void *Address)
Definition: intrin_x86.h:1968
__INTRIN_INLINE void __halt(void)
Definition: intrin_x86.h:1714
__INTRIN_INLINE int __cdecl _outp(unsigned short Port, int databyte)
Definition: intrin_x86.h:1623
__INTRIN_INLINE unsigned short __cdecl _inpw(unsigned short Port)
Definition: intrin_x86.h:1613
__INTRIN_INLINE unsigned short __popcnt16(unsigned short value)
Definition: intrin_x86.h:1455
__INTRIN_INLINE void __writecr3(unsigned int Data)
Definition: intrin_x86.h:1794
__INTRIN_INLINE unsigned long long __readpmc(unsigned long counter)
Definition: intrin_x86.h:1998
__INTRIN_INLINE unsigned long __readcr2(void)
Definition: intrin_x86.h:1811
__INTRIN_INLINE void __writecr0(unsigned int Data)
Definition: intrin_x86.h:1789
__INTRIN_INLINE void __sidt(void *Destination)
Definition: intrin_x86.h:2023
__INTRIN_INLINE void __writecr4(unsigned int Data)
Definition: intrin_x86.h:1799
__INTRIN_INLINE void __writedr(unsigned reg, unsigned int value)
Definition: intrin_x86.h:1935
__INTRIN_INLINE unsigned short __cdecl _outpw(unsigned short Port, unsigned short dataword)
Definition: intrin_x86.h:1629
__INTRIN_INLINE int __cdecl _inp(unsigned short Port)
Definition: intrin_x86.h:1608
__INTRIN_INLINE void __ud2(void)
Definition: intrin_x86.h:1691
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Check_return_
Definition: ms_sal.h:557
#define _In_
Definition: ms_sal.h:308
#define _Interlocked_operand_
Definition: ms_sal.h:2951
int _mm_comineq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:827
void _mm_sfence(void)
Definition: xmmintrin.h:1140
__m128 _mm_cmplt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:672
__INTRIN_INLINE_SSE void _mm_stream_pi(__m64 *__p, __m64 __a)
Definition: xmmintrin.h:1121
__m128 _mm_cmpnlt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:732
__m128 _mm_add_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:548
__m128 _mm_rsqrt_ps(__m128 a)
Definition: xmmintrin.h:617
void _mm_storeu_ps(float *p, __m128 a)
Definition: xmmintrin.h:1057
__m128 _mm_move_ss(__m128 a, __m128 b)
int _mm_comige_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:822
__m128 _mm_loadu_ps(float const *p)
Definition: xmmintrin.h:972
__m128 _mm_loadl_pi(__m128 a, __m64 const *p)
Definition: xmmintrin.h:941
void _mm_stream_ps(float *p, __m128 a)
Definition: xmmintrin.h:1130
__m128 _mm_div_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:581
__m128 _mm_max_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:632
int _mm_ucomilt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:837
void _mm_store_ss(float *p, __m128 a)
Definition: xmmintrin.h:1052
__m128 _mm_set_ps(float e3, float e2, float e1, float e0)
Definition: xmmintrin.h:1011
__m128 _mm_cmpunord_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:792
__m128 _mm_rcp_ps(__m128 a)
Definition: xmmintrin.h:607
__m128 _mm_setzero_ps(void)
Definition: xmmintrin.h:1021
void _mm_setcsr(unsigned int a)
Definition: xmmintrin.h:542
__m128 _mm_mul_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:570
__m128 _mm_load_ps(float const *p)
Definition: xmmintrin.h:967
__m128 _mm_cmpnle_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:747
__m128 _mm_cmpeq_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:667
int _mm_ucomige_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:852
__m128 _mm_rsqrt_ss(__m128 a)
Definition: xmmintrin.h:612
__m128 _mm_shuffle_ps(__m128 a, __m128 b, unsigned int imm8)
__m128 _mm_cmpngt_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:762
__m128 _mm_cmpord_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:782
void _mm_storeh_pi(__m64 *p, __m128 a)
Definition: xmmintrin.h:1026
__m128 _mm_set_ss(float a)
Definition: xmmintrin.h:1000
__m128 _mm_cvt_si2ss(__m128 a, int b)
void _mm_store_ps1(float *p, __m128 a)
__m128 _mm_and_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:642
int _mm_comieq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:802
__m128 _mm_andnot_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:647
__m128 _mm_xor_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:657
__m128 _mm_cmpgt_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:702
int _mm_comigt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:817
__m128 _mm_set_ps1(float a)
__m128 _mm_cmpge_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:707
int _mm_cvt_ss2si(__m128 a)
__m128 _mm_cmpeq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:662
__m128 _mm_div_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:587
__m128 _mm_max_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:637
__m128 _mm_cmpngt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:752
__m128 _mm_sub_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:565
__m128 _mm_unpackhi_ps(__m128 a, __m128 b)
__m128 _mm_cmpneq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:722
int _mm_comilt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:807
__m128 _mm_min_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:622
__m128 _mm_cmpnle_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:742
int _mm_ucomile_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:842
__m128 _mm_add_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:554
__m128 _mm_load_ss(float const *p)
Definition: xmmintrin.h:956
__m128 _mm_movehl_ps(__m128 a, __m128 b)
__m128 _mm_cmpge_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:717
void _mm_store_ps(float *p, __m128 a)
Definition: xmmintrin.h:1062
__m128 _mm_cmpnge_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:777
__m128 _mm_loadh_pi(__m128 a, __m64 const *p)
Definition: xmmintrin.h:926
__m128 _mm_min_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:627
int _mm_ucomigt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:847
int _mm_cvtt_ss2si(__m128 a)
__m128 _mm_cmpunord_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:797
__m128 _mm_sqrt_ss(__m128 a)
Definition: xmmintrin.h:592
__m128 _mm_cmple_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:687
int _mm_ucomieq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:832
#define _mm_prefetch(p, sel)
Definition: xmmintrin.h:1116
__m128 _mm_or_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:652
__m128 _mm_movelh_ps(__m128 a, __m128 b)
void _mm_storer_ps(float *p, __m128 a)
Definition: xmmintrin.h:1079
unsigned int _mm_getcsr(void)
Definition: xmmintrin.h:535
__m128 _mm_sqrt_ps(__m128 a)
Definition: xmmintrin.h:597
__m128 _mm_cmpnlt_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:737
int _mm_ucomineq_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:857
__m128 _mm_cmpnge_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:767
__m128 _mm_loadr_ps(float const *p)
Definition: xmmintrin.h:980
__m128 _mm_cmpneq_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:727
__m128 _mm_cmpord_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:787
__m128 _mm_load_ps1(float const *p)
__m128 _mm_sub_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:559
__m128 _mm_rcp_ss(__m128 a)
Definition: xmmintrin.h:602
__m128 _mm_cmpgt_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:692
__m128 _mm_cmplt_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:677
__m128 _mm_mul_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:576
__m128 _mm_unpacklo_ps(__m128 a, __m128 b)
int _mm_movemask_ps(__m128 a)
__m128 _mm_cmple_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:682
int _mm_comile_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:812
void _mm_storel_pi(__m64 *p, __m128 a)
Definition: xmmintrin.h:1039
__m128 _mm_setr_ps(float e3, float e2, float e1, float e0)
Definition: xmmintrin.h:1016