最終更新:2012-03-02 (金) 11:30:34 (4430d)
xmmintrin.h
Top / xmmintrin.h
Principal header file for Streaming SIMD Extensions intrinsics
命令数は70。
型
関数
FP, arithmetic
- __m128 _mm_add_ss?(__m128 _A, __m128 _B);
- __m128 _mm_add_ps(__m128 _A, __m128 _B);
- __m128 _mm_sub_ss?(__m128 _A, __m128 _B);
- __m128 _mm_sub_ps?(__m128 _A, __m128 _B);
- __m128 _mm_mul_ss?(__m128 _A, __m128 _B);
- __m128 _mm_mul_ps?(__m128 _A, __m128 _B);
- __m128 _mm_div_ss?(__m128 _A, __m128 _B);
- __m128 _mm_div_ps?(__m128 _A, __m128 _B);
- __m128 _mm_sqrt_ss?(__m128 _A);
- __m128 _mm_sqrt_ps(__m128 _A);
- __m128 _mm_rcp_ss?(__m128 _A);
- __m128 _mm_rcp_ps?(__m128 _A);
- __m128 _mm_rsqrt_ss?(__m128 _A);
- __m128 _mm_rsqrt_ps?(__m128 _A);
- __m128 _mm_min_ss?(__m128 _A, __m128 _B);
- __m128 _mm_min_ps?(__m128 _A, __m128 _B);
- __m128 _mm_max_ss?(__m128 _A, __m128 _B);
- __m128 _mm_max_ps?(__m128 _A, __m128 _B);
FP, logical
- __m128 _mm_and_ps?(__m128 _A, __m128 _B);
- __m128 _mm_andnot_ps?(__m128 _A, __m128 _B);
- __m128 _mm_or_ps?(__m128 _A, __m128 _B);
- __m128 _mm_xor_ps?(__m128 _A, __m128 _B);
FP, comparison
- __m128 _mm_cmpeq_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpeq_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmplt_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmplt_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmple_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmple_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpgt_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpgt_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpge_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpge_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpneq_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpneq_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnlt_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnlt_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnle_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnle_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpngt_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpngt_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnge_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpnge_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpord_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpord_ps?(__m128 _A, __m128 _B);
- __m128 _mm_cmpunord_ss?(__m128 _A, __m128 _B);
- __m128 _mm_cmpunord_ps?(__m128 _A, __m128 _B);
- int _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);
- int _mm_comineq_ss?(__m128 _A, __m128 _B);
- int _mm_ucomieq_ss?(__m128 _A, __m128 _B);
- int _mm_ucomilt_ss?(__m128 _A, __m128 _B);
- int _mm_ucomile_ss?(__m128 _A, __m128 _B);
- int _mm_ucomigt_ss?(__m128 _A, __m128 _B);
- int _mm_ucomige_ss?(__m128 _A, __m128 _B);
- int _mm_ucomineq_ss?(__m128 _A, __m128 _B);
FP, conversions
- int _mm_cvt_ss2si?(__m128 _A);
- __m64 _mm_cvt_ps2pi?(__m128 _A);
- int _mm_cvtt_ss2si?(__m128 _A);
- __m64 _mm_cvtt_ps2pi?(__m128 _A);
- __m128 _mm_cvt_si2ss?(__m128, int);
- __m128 _mm_cvt_pi2ps?(__m128, __m64); extern float _mm_cvtss_f32]](__m128 _A);
Support for 64-bit extension intrinsics
- __int64? _mm_cvtss_si64?(__m128 _A);
- __int64? _mm_cvttss_si64?(__m128 _A);
- __m128 _mm_cvtsi64_ss?(__m128 _A, __int64 _B);
FP, misc
- __m128 _mm_shuffle_ps?(__m128 _A, __m128 _B, unsigned int _Imm8);
- __m128 _mm_unpackhi_ps?(__m128 _A, __m128 _B);
- __m128 _mm_unpacklo_ps?(__m128 _A, __m128 _B);
- __m128 _mm_loadh_pi?(__m128, __m64 const*);
- __m128 _mm_movehl_ps?(__m128, __m128);
- __m128 _mm_movelh_ps?(__m128, __m128);
- void _mm_storeh_pi?(__m64 *, __m128);
- __m128 _mm_loadl_pi?(__m128, __m64 const*);
- void _mm_storel_pi?(__m64 *, __m128);
- int _mm_movemask_ps?(__m128 _A);
Integer extensions
- int _m_pextrw?(__m64, int);
- __m64 _m_pinsrw?(__m64, int, int);
- __m64 _m_pmaxsw?(__m64, __m64);
- __m64 _m_pmaxub?(__m64, __m64);
- __m64 _m_pminsw?(__m64, __m64);
- __m64 _m_pminub?(__m64, __m64);
- int _m_pmovmskb?(__m64);
- __m64 _m_pmulhuw?(__m64, __m64);
- __m64 _m_pshufw?(__m64, int);
- void _m_maskmovq?(__m64, __m64, char *);
- __m64 _m_pavgb?(__m64, __m64);
- __m64 _m_pavgw?(__m64, __m64);
- __m64 _m_psadbw?(__m64, __m64);
memory & initialization
- __m128 _mm_set_ss?(float _A);
- __m128 _mm_set_ps1?(float _A);
- __m128 _mm_set_ps?(float _A, float _B, float _C, float _D);
- __m128 _mm_setr_ps?(float _A, float _B, float _C, float _D);
- __m128 _mm_setzero_ps?(void);
- __m128 _mm_load_ss?(float const*_A);
- __m128 _mm_load_ps1?(float const*_A);
- __m128 _mm_load_ps(float const*_A);
- __m128 _mm_loadr_ps?(float const*_A);
- __m128 _mm_loadu_ps?(float const*_A);
- void _mm_store_ss?(float *_V, __m128 _A);
- void _mm_store_ps1?(float *_V, __m128 _A);
- void _mm_store_ps?(float *_V, __m128 _A);
- void _mm_storer_ps?(float *_V, __m128 _A);
- void _mm_storeu_ps?(float *_V, __m128 _A);
- void _mm_prefetch?(char const*_A, int _Sel);
- void _mm_stream_pi?(__m64 *, __m64);
- void _mm_stream_ps?(float *, __m128);
- __m128 _mm_move_ss?(__m128 _A, __m128 _B);
- void _mm_sfence?(void);
- unsigned int? _mm_getcsr?(void);
- void _mm_setcsr?(unsigned int);
- void* _mm_malloc?(size_t _Siz, size_t _Al);
- void _mm_free?(void *_P);
Alternate intrinsic names definition
- _mm_cvtss_si32? _mm_cvt_ss2si?
- _mm_cvtps_pi32? _mm_cvt_ps2pi?
- _mm_cvttss_si32? _mm_cvtt_ss2si?
- _mm_cvttps_pi32? _mm_cvtt_ps2pi?
- _mm_cvtsi32_ss? _mm_cvt_si2ss?
- _mm_cvtpi32_ps? _mm_cvt_pi2ps?
- _mm_extract_pi16? _m_pextrw?
- _mm_insert_pi16? _m_pinsrw?
- _mm_max_pi16? _m_pmaxsw?
- _mm_max_pu8? _m_pmaxub?
- _mm_min_pi16? _m_pminsw?
- _mm_min_pu8? _m_pminub?
- _mm_movemask_pi8? _m_pmovmskb?
- _mm_mulhi_pu16? _m_pmulhuw?
- _mm_shuffle_pi16? _m_pshufw?
- _mm_maskmove_si64? _m_maskmovq?
- _mm_avg_pu8? _m_pavgb?
- _mm_avg_pu16? _m_pavgw?
- _mm_sad_pu8? _m_psadbw?
- _mm_set1_ps _mm_set_ps1?
- _mm_load1_ps? _mm_load_ps1?
- _mm_store1_ps? _mm_store_ps1?