📄 emmintrin.h
字号:
}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_comilt_sd (__m128d __A, __m128d __B){ return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_comile_sd (__m128d __A, __m128d __B){ return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_comigt_sd (__m128d __A, __m128d __B){ return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_comige_sd (__m128d __A, __m128d __B){ return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_comineq_sd (__m128d __A, __m128d __B){ return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomieq_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomilt_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomile_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomigt_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomige_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_ucomineq_sd (__m128d __A, __m128d __B){ return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);}/* Create a vector of Qi, where i is the element number. */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_set_epi64x (long long __q1, long long __q0){ return __extension__ (__m128i)(__v2di){ __q0, __q1 };}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_set_epi64 (__m64 __q1, __m64 __q0){ return _mm_set_epi64x ((long long)__q1, (long long)__q0);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0){ return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4, short __q3, short __q2, short __q1, short __q0){ return __extension__ (__m128i)(__v8hi){ __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_set_epi8 (char __q15, char __q14, char __q13, char __q12, char __q11, char __q10, char __q09, char __q08, char __q07, char __q06, char __q05, char __q04, char __q03, char __q02, char __q01, char __q00){ return __extension__ (__m128i)(__v16qi){ __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15 };}/* APPLE LOCAL begin 4220129 *//* functions moved to end of file *//* APPLE LOCAL end 4220129 *//* Create a vector of Qi, where i is the element number. The parameter order is reversed from the _mm_set_epi* functions. */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_setr_epi64 (__m64 __q0, __m64 __q1){ return _mm_set_epi64 (__q1, __q0);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3){ return _mm_set_epi32 (__q3, __q2, __q1, __q0);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3, short __q4, short __q5, short __q6, short __q7){ return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03, char __q04, char __q05, char __q06, char __q07, char __q08, char __q09, char __q10, char __q11, char __q12, char __q13, char __q14, char __q15){ return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08, __q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00);}/* Create a vector with element 0 as *P and the rest zero. */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_load_si128 (__m128i const *__P){ return *__P;}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_loadu_si128 (__m128i const *__P){ return (__m128i) __builtin_ia32_loaddqu ((char const *)__P);}/* APPLE LOCAL begin 4099020 */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_loadl_epi64 (__m128i const *__P){ return (__m128i)__builtin_ia32_loadlv4si ((__v2si *)__P);}/* APPLE LOCAL end 4099020 */static __inline void __attribute__((__always_inline__, __nodebug__))_mm_store_si128 (__m128i *__P, __m128i __B){ *__P = __B;}static __inline void __attribute__((__always_inline__, __nodebug__))_mm_storeu_si128 (__m128i *__P, __m128i __B){ __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B);}/* APPLE LOCAL begin 4099020 */static __inline void __attribute__((__always_inline__, __nodebug__))_mm_storel_epi64 (__m128i *__P, __m128i __B){ __builtin_ia32_storelv4si ((__v2si *)__P, __B);}/* APPLE LOCAL end 4099020 */static __inline __m64 __attribute__((__always_inline__, __nodebug__))_mm_movepi64_pi64 (__m128i __B){ return (__m64) __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_movpi64_epi64 (__m64 __A){ return _mm_set_epi64 ((__m64)0LL, __A);}/* APPLE LOCAL begin 4099020 */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_move_epi64 (__m128i __A){ return (__m128i)__builtin_ia32_movqv4si ((__v4si)__A) ;}/* APPLE LOCAL end 4099020 *//* Create a vector of zeros. */static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_setzero_si128 (void){ return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtepi32_pd (__m128i __A){ return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);}static __inline __m128 __attribute__((__always_inline__, __nodebug__))_mm_cvtepi32_ps (__m128i __A){ return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_cvtpd_epi32 (__m128d __A){ return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);}static __inline __m64 __attribute__((__always_inline__, __nodebug__))_mm_cvtpd_pi32 (__m128d __A){ return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);}static __inline __m128 __attribute__((__always_inline__, __nodebug__))_mm_cvtpd_ps (__m128d __A){ return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_cvttpd_epi32 (__m128d __A){ return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);}static __inline __m64 __attribute__((__always_inline__, __nodebug__))_mm_cvttpd_pi32 (__m128d __A){ return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtpi32_pd (__m64 __A){ return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_cvtps_epi32 (__m128 __A){ return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_cvttps_epi32 (__m128 __A){ return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtps_pd (__m128 __A){ return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_cvtsd_si32 (__m128d __A){ return __builtin_ia32_cvtsd2si ((__v2df) __A);}#ifdef __x86_64__/* Intel intrinsic. */static __inline long long __attribute__((__always_inline__, __nodebug__))_mm_cvtsd_si64 (__m128d __A){ return __builtin_ia32_cvtsd2si64 ((__v2df) __A);}/* Microsoft intrinsic. */static __inline long long __attribute__((__always_inline__, __nodebug__))_mm_cvtsd_si64x (__m128d __A){ return __builtin_ia32_cvtsd2si64 ((__v2df) __A);}#endifstatic __inline int __attribute__((__always_inline__, __nodebug__))_mm_cvttsd_si32 (__m128d __A){ return __builtin_ia32_cvttsd2si ((__v2df) __A);}#ifdef __x86_64__/* Intel intrinsic. */static __inline long long __attribute__((__always_inline__, __nodebug__))_mm_cvttsd_si64 (__m128d __A){ return __builtin_ia32_cvttsd2si64 ((__v2df) __A);}/* Microsoft intrinsic. */static __inline long long __attribute__((__always_inline__, __nodebug__))_mm_cvttsd_si64x (__m128d __A){ return __builtin_ia32_cvttsd2si64 ((__v2df) __A);}#endifstatic __inline __m128 __attribute__((__always_inline__, __nodebug__))_mm_cvtsd_ss (__m128 __A, __m128d __B){ return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtsi32_sd (__m128d __A, int __B){ return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);}#ifdef __x86_64__/* Intel intrinsic. */static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtsi64_sd (__m128d __A, long long __B){ return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);}/* Microsoft intrinsic. */static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtsi64x_sd (__m128d __A, long long __B){ return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);}#endifstatic __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_cvtss_sd (__m128d __A, __m128 __B){ return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);}#define _mm_shuffle_pd(__A, __B, __C) ((__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, (__C)))static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_unpackhi_pd (__m128d __A, __m128d __B){ return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_unpacklo_pd (__m128d __A, __m128d __B){ return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_loadh_pd (__m128d __A, double const *__B){ return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);}static __inline __m128d __attribute__((__always_inline__, __nodebug__))_mm_loadl_pd (__m128d __A, double const *__B){ return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);}static __inline int __attribute__((__always_inline__, __nodebug__))_mm_movemask_pd (__m128d __A){ return __builtin_ia32_movmskpd ((__v2df)__A);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_packs_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_packs_epi32 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_packus_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpackhi_epi8 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpackhi_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpackhi_epi32 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpackhi_epi64 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpacklo_epi8 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpacklo_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpacklo_epi32 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_unpacklo_epi64 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_add_epi8 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddb128 ((__v16qi)__A, (__v16qi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_add_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddw128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_add_epi32 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddd128 ((__v4si)__A, (__v4si)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_add_epi64 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddq128 ((__v2di)__A, (__v2di)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_adds_epi8 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_adds_epi16 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))_mm_adds_epu8 (__m128i __A, __m128i __B){ return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);}static __inline __m128i __attribute__((__always_inline__, __nodebug__))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -