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