Volume 2B Instruction Set Reference N-Z (794102), страница 80
Текст из файла (страница 80)
2B C-3INTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicCMPSDIntrinsic__m128d _mm_cmpeq_sd(__m128d a, __m128d b)__m128d _mm_cmplt_sd(__m128d a, __m128d b)__m128d _mm_cmple_sd(__m128d a, __m128d b)__m128d _mm_cmpgt_sd(__m128d a, __m128d b)__m128d _mm_cmpge_sd(__m128d a, __m128d b)__m128 _mm_cmpneq_sd(__m128d a, __m128d b)__m128 _mm_cmpnlt_sd(__m128d a, __m128d b)__m128d _mm_cmpnle_sd(__m128d a, __m128d b)__m128d _mm_cmpngt_sd(__m128d a, __m128d b)__m128d _mm_cmpnge_sd(__m128d a, __m128d b)__m128d _mm_cmpord_sd(__m128d a, __m128d b)__m128d _mm_cmpunord_sd(__m128d a, __m128d b)CMPSS__m128 _mm_cmpeq_ss(__m128 a, __m128 b)__m128 _mm_cmplt_ss(__m128 a, __m128 b)__m128 _mm_cmple_ss(__m128 a, __m128 b)__m128 _mm_cmpgt_ss(__m128 a, __m128 b)__m128 _mm_cmpge_ss(__m128 a, __m128 b)__m128 _mm_cmpneq_ss(__m128 a, __m128 b)__m128 _mm_cmpnlt_ss(__m128 a, __m128 b)__m128 _mm_cmpnle_ss(__m128 a, __m128 b)__m128 _mm_cmpngt_ss(__m128 a, __m128 b)__m128 _mm_cmpnge_ss(__m128 a, __m128 b)__m128 _mm_cmpord_ss(__m128 a, __m128 b)__m128 _mm_cmpunord_ss(__m128 a, __m128 b)COMISDint _mm_comieq_sd(__m128d a, __m128d b)int _mm_comilt_sd(__m128d a, __m128d b)int _mm_comile_sd(__m128d a, __m128d b)int _mm_comigt_sd(__m128d a, __m128d b)int _mm_comige_sd(__m128d a, __m128d b)int _mm_comineq_sd(__m128d a, __m128d b)COMISSint _mm_comieq_ss(__m128 a, __m128 b)int _mm_comilt_ss(__m128 a, __m128 b)int _mm_comile_ss(__m128 a, __m128 b)int _mm_comigt_ss(__m128 a, __m128 b)int _mm_comige_ss(__m128 a, __m128 b)C-4 Vol.
2BINTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicIntrinsicint _mm_comineq_ss(__m128 a, __m128 b)CVTDQ2PD__m128d _mm_cvtepi32_pd(__m128i a)CVTDQ2PS__m128 _mm_cvtepi32_ps(__m128i a)CVTPD2DQ__m128i _mm_cvtpd_epi32(__m128d a)CVTPD2PI__m64 _mm_cvtpd_pi32(__m128d a)CVTPD2PS__m128 _mm_cvtpd_ps(__m128d a)CVTPI2PD__m128d _mm_cvtpi32_pd(__m64 a)CVTPI2PS__m128 _mm_cvt_pi2ps(__m128 a, __m64 b)__m128 _mm_cvtpi32_ps(__m128 a, __m64 b)CVTPS2DQ__m128i _mm_cvtps_epi32(__m128 a)CVTPS2PD__m128d _mm_cvtps_pd(__m128 a)CVTPS2PI__m64 _mm_cvt_ps2pi(__m128 a)__m64 _mm_cvtps_pi32(__m128 a)CVTSD2SIint _mm_cvtsd_si32(__m128d a)CVTSD2SS__m128 _mm_cvtsd_ss(__m128 a, __m128d b)CVTSI2SD__m128d _mm_cvtsi32_sd(__m128d a, int b)CVTSI2SS__m128 _mm_cvt_si2ss(__m128 a, int b)__m128 _mm_cvtsi32_ss(__m128a, int b)CVTSS2SD__m128d _mm_cvtss_sd(__m128d a, __m128 b)CVTSS2SIint _mm_cvt_ss2si(__m128 a)int _mm_cvtss_si32(__m128 a)CVTTPD2DQ__m128i _mm_cvttpd_epi32(__m128d a)CVTTPD2PI__m64 _mm_cvttpd_pi32(__m128d a)CVTTPS2DQ__m128i _mm_cvttps_epi32(__m128 a)CVTTPS2PI__m64 _mm_cvtt_ps2pi(__m128 a)__m64 _mm_cvttps_pi32(__m128 a)CVTTSD2SIint _mm_cvttsd_si32(__m128d a)CVTTSS2SIint _mm_cvtt_ss2si(__m128 a)int _mm_cvttss_si32(__m128 a)__m64 _mm_cvtsi32_si64(int i)int _mm_cvtsi64_si32(__m64 m)DIVPD__m128d _mm_div_pd(__m128d a, __m128d b)DIVPS__m128 _mm_div_ps(__m128 a, __m128 b)DIVSD__m128d _mm_div_sd(__m128d a, __m128d b)DIVSS__m128 _mm_div_ss(__m128 a, __m128 b)EMMSvoid _mm_empty()HADDPD__m128d _mm_hadd_pd(__m128d a, __m128d b)HADDPS__m128 _mm_hadd_ps(__m128 a, __m128 b)Vol.
2B C-5INTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicIntrinsicHSUBPD__m128d _mm_hsub_pd(__m128d a, __m128d b)HSUBPS__m128 _mm_hsub_ps(__m128 a, __m128 b)LDDQU__m128i _mm_lddqu_si128(__m128i const *p)LDMXCSR__mm_setcsr(unsigned int i)LFENCEvoid _mm_lfence(void)MASKMOVDQUvoid _mm_maskmoveu_si128(__m128i d, __m128i n, char *p)MASKMOVQvoid _mm_maskmove_si64(__m64 d, __m64 n, char *p)MAXPD__m128d _mm_max_pd(__m128d a, __m128d b)MAXPS__m128 _mm_max_ps(__m128 a, __m128 b)MAXSD__m128d _mm_max_sd(__m128d a, __m128d b)MAXSS__m128 _mm_max_ss(__m128 a, __m128 b)MFENCEvoid _mm_mfence(void)MINPD__m128d _mm_min_pd(__m128d a, __m128d b)MINPS__m128 _mm_min_ps(__m128 a, __m128 b)MINSD__m128d _mm_min_sd(__m128d a, __m128d b)MINSS__m128 _mm_min_ss(__m128 a, __m128 b)MONITORvoid _mm_monitor(void const *p, unsigned extensions, unsigned hints)MOVAPD__m128d _mm_load_pd(double * p)MOVAPS__m128 _mm_load_ps(float * p)MOVD__m128i _mm_cvtsi32_si128(int a)void_mm_store_pd(double *p, __m128d a)void_mm_store_ps(float *p, __m128 a)int _mm_cvtsi128_si32(__m128i a)__m64 _mm_cvtsi32_si64(int a)int _mm_cvtsi64_si32(__m64 a)MOVDDUP__m128d _mm_movedup_pd(__m128d a)MOVDQA__m128i _mm_load_si128(__m128i * p)MOVDQU__m128i _mm_loadu_si128(__m128i * p)MOVDQ2Q__m64 _mm_movepi64_pi64(__m128i a)__m128d _mm_loaddup_pd(double const * dp)void_mm_store_si128(__m128i *p, __m128i a)void_mm_storeu_si128(__m128i *p, __m128i a)MOVHLPS__m128 _mm_movehl_ps(__m128 a, __m128 b)MOVHPD__m128d _mm_loadh_pd(__m128d a, double * p)void _mm_storeh_pd(double * p, __m128d a)C-6 Vol.
2BINTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicMOVHPSIntrinsic__m128 _mm_loadh_pi(__m128 a, __m64 * p)void _mm_storeh_pi(__m64 * p, __m128 a)MOVLPD__m128d _mm_loadl_pd(__m128d a, double * p)void _mm_storel_pd(double * p, __m128d a)MOVLPS__m128 _mm_loadl_pi(__m128 a, __m64 *p)void_mm_storel_pi(__m64 * p, __m128 a)MOVLHPS__m128 _mm_movelh_ps(__m128 a, __m128 b)MOVMSKPDint _mm_movemask_pd(__m128d a)MOVMSKPSint _mm_movemask_ps(__m128 a)MOVNTDQvoid_mm_stream_si128(__m128i * p, __m128i a)MOVNTPDvoid_mm_stream_pd(double * p, __m128d a)MOVNTPSvoid_mm_stream_ps(float * p, __m128 a)MOVNTIvoid_mm_stream_si32(int * p, int a)MOVNTQvoid_mm_stream_pi(__m64 * p, __m64 a)MOVQ__m128i _mm_loadl_epi64(__m128i * p)void_mm_storel_epi64(_m128i * p, __m128i a)__m128i _mm_move_epi64(__m128i a)MOVQ2DQMOVSD__m128i _mm_movpi64_epi64(__m64 a)__m128d _mm_load_sd(double * p)void_mm_store_sd(double * p, __m128d a)__m128d _mm_move_sd(__m128d a, __m128d b)MOVSHDUP__m128 _mm_movehdup_ps(__m128 a)MOVSLDUP__m128 _mm_moveldup_ps(__m128 a)MOVSS__m128 _mm_load_ss(float * p)void_mm_store_ss(float * p, __m128 a)__m128 _mm_move_ss(__m128 a, __m128 b)MOVUPD__m128d _mm_loadu_pd(double * p)void_mm_storeu_pd(double *p, __m128d a)MOVUPS__m128 _mm_loadu_ps(float * p)void_mm_storeu_ps(float *p, __m128 a)MULPD__m128d _mm_mul_pd(__m128d a, __m128d b)MULPS__m128 _mm_mul_ss(__m128 a, __m128 b)MULSD__m128d _mm_mul_sd(__m128d a, __m128d b)MULSS__m128 _mm_mul_ss(__m128 a, __m128 b)MWAITvoid _mm_mwait(unsigned extensions, unsigned hints)Vol.
2B C-7INTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicIntrinsicORPD__m128d _mm_or_pd(__m128d a, __m128d b)ORPS__m128 _mm_or_ps(__m128 a, __m128 b)PABSB__m64 _mm_abs_pi8 (__m64 a)__m128i _mm_abs_epi8 (__m128i a)PABSD__m64 _mm_abs_pi32 (__m64 a)__m128i _mm_abs_epi32 (__m128i a)PABSW__m64 _mm_abs_pi16 (__m64 a)__m128i _mm_abs_epi16 (__m128i a)PACKSSWB__m128i _mm_packs_epi16(__m128i m1, __m128i m2)PACKSSWB__m64 _mm_packs_pi16(__m64 m1, __m64 m2)PACKSSDW__m128i _mm_packs_epi32 (__m128i m1, __m128i m2)PACKSSDW__m64 _mm_packs_pi32 (__m64 m1, __m64 m2)PACKUSWB__m128i _mm_packus_epi16(__m128i m1, __m128i m2)PACKUSWB__m64 _mm_packs_pu16(__m64 m1, __m64 m2)PADDB__m128i _mm_add_epi8(__m128i m1, __m128i m2)PADDB__m64 _mm_add_pi8(__m64 m1, __m64 m2)PADDW__m128i _mm_addw_epi16(__m128i m1, __m128i m2)PADDW__m64 _mm_addw_pi16(__m64 m1, __m64 m2)PADDD__m128i _mm_add_epi32(__m128i m1, __m128i m2)PADDD__m64 _mm_add_pi32(__m64 m1, __m64 m2)PADDQ__m128i _mm_add_epi64(__m128i m1, __m128i m2)PADDQ__m64 _mm_add_si64(__m64 m1, __m64 m2)PADDSB__m128i _mm_adds_epi8(__m128i m1, __m128i m2)PADDSB__m64 _mm_adds_pi8(__m64 m1, __m64 m2)PADDSW__m128i _mm_adds_epi16(__m128i m1, __m128i m2)PADDSW__m64 _mm_adds_pi16(__m64 m1, __m64 m2)PADDUSB__m128i _mm_adds_epu8(__m128i m1, __m128i m2)PADDUSB__m64 _mm_adds_pu8(__m64 m1, __m64 m2)PADDUSW__m128i _mm_adds_epu16(__m128i m1, __m128i m2)PADDUSW__m64 _mm_adds_pu16(__m64 m1, __m64 m2)PALIGNR__m64 _mm_alignr_pi8 (__m64 a, __m64 b, int n)__m128i _mm_alignr_epi8 (__m128i a, __m128i b, int n)PAND__m128i _mm_and_si128(__m128i m1, __m128i m2)PAND__m64 _mm_and_si64(__m64 m1, __m64 m2)PANDN__m128i _mm_andnot_si128(__m128i m1, __m128i m2)C-8 Vol.
2BINTEL® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTSTable C-1. Simple Intrinsics (Contd.)MnemonicIntrinsicPANDN__m64 _mm_andnot_si64(__m64 m1, __m64 m2)PAUSEvoid _mm_pause(void)PAVGB__m128i _mm_avg_epu8(__m128i a, __m128i b)PAVGB__m64 _mm_avg_pu8(__m64 a, __m64 b)PAVGW__m128i _mm_avg_epu16(__m128i a, __m128i b)PAVGW__m64 _mm_avg_pu16(__m64 a, __m64 b)PCMPEQB__m128i _mm_cmpeq_epi8(__m128i m1, __m128i m2)PCMPEQB__m64 _mm_cmpeq_pi8(__m64 m1, __m64 m2)PCMPEQW__m128i _mm_cmpeq_epi16 (__m128i m1, __m128i m2)PCMPEQW__m64 _mm_cmpeq_pi16 (__m64 m1, __m64 m2)PCMPEQD__m128i _mm_cmpeq_epi32(__m128i m1, __m128i m2)PCMPEQD__m64 _mm_cmpeq_pi32(__m64 m1, __m64 m2)PCMPGTB__m128i _mm_cmpgt_epi8 (__m128i m1, __m128i m2)PCMPGTB__m64 _mm_cmpgt_pi8 (__m64 m1, __m64 m2)PCMPGTW__m128i _mm_cmpgt_epi16(__m128i m1, __m128i m2)PCMPGTW__m64 _mm_cmpgt_pi16 (__m64 m1, __m64 m2)PCMPGTD__m128i _mm_cmpgt_epi32(__m128i m1, __m128i m2)PCMPGTD__m64 _mm_cmpgt_pi32(__m64 m1, __m64 m2)PEXTRWint _mm_extract_epi16(__m128i a, int n)PEXTRWint _mm_extract_pi16(__m64 a, int n)PHADDD__m64 _mm_hadd_pi32 (__m64 a, __m64 b)__m128i _mm_hadd_epi32 (__m128i a, __m128i b)PHADDSW__m64 _mm_hadds_pi16 (__m64 a, __m64 b)__m128i _mm_hadds_epi16 (__m128i a, __m128i b)PHADDW__m64 _mm_hadd_pi16 (__m64 a, __m64 b)__m128i _mm_hadd_epi16 (__m128i a, __m128i b)PHSUBD__m64 _mm_hsub_pi32 (__m64 a, __m64 b)__m128i _mm_hsub_epi32 (__m128i a, __m128i b)PHSUBSW__m64 _mm_hsubs_pi16 (__m64 a, __m64 b)__m128i _mm_hsubs_epi16 (__m128i a, __m128i b)PHSUBW__m64 _mm_hsub_pi16 (__m64 a, __m64 b)__m128i _mm_hsub_epi16 (__m128i a, __m128i b)PINSRW__m128i _mm_insert_epi16(__m128i a, int d, int n)PINSRW__m64 _mm_insert_pi16(__m64 a, int d, int n)Vol.