#include "../SSEPlus_base.h"
#include "../number/SSEPlus_number_REF.h"
#include "../arithmetic/SSEPlus_arithmetic_REF.h"
#include "SSEPlus_emulation_comps_REF.h"
#include <math.h>
Go to the source code of this file.
SSE[3,4A,...,5] implemented in reference | |
#define | SSP_SATURATION(a, pos_limit, neg_limit) (a>pos_limit) ? pos_limit : ((a<neg_limit)?neg_limit:a) |
#define | SSP_SET_MIN(sd, s) sd=(sd<s)?sd:s; |
#define | SSP_SET_MAX(sd, s) sd=(sd>s)?sd:s; |
SSP_FORCEINLINE __m128d | ssp_frcz_pd_REF (__m128d a) |
SSP_FORCEINLINE __m128 | ssp_frcz_ps_REF (__m128 a) |
SSP_FORCEINLINE __m128d | ssp_frcz_sd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128 | ssp_frcz_ss_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128i | ssp_haddd_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddd_epi8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddd_epu16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddd_epu8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epi8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epu16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epu32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddq_epu8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddw_epi8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_haddw_epu8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_hsubd_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_hsubq_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_hsubw_epi8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_macc_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_macc_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128 | ssp_macc_ps_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_macc_pd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_macc_ss_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_macc_sd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128i | ssp_maccd_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_macchi_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_macclo_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maccs_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maccs_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maccsd_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maccshi_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maccslo_epi32_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maddd_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_maddsd_epi16_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128 | ssp_nmacc_ps_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_nmacc_pd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_nmacc_ss_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_nmacc_sd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_msub_ps_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_msub_pd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_msub_ss_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_msub_sd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_nmsub_ps_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_nmsub_pd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_nmsub_ss_REF (__m128 a, __m128 b, __m128 c) |
SSP_FORCEINLINE __m128d | ssp_nmsub_sd_REF (__m128d a, __m128d b, __m128d c) |
SSP_FORCEINLINE __m128 | ssp_addsub_ps_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128d | ssp_addsub_pd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128i | ssp_blend_epi16_REF (__m128i a, __m128i b, const int mask) |
SSP_FORCEINLINE __m128d | ssp_blend_pd_REF (__m128d a, __m128d b, const int mask) |
SSP_FORCEINLINE __m128 | ssp_blend_ps_REF (__m128 a, __m128 b, const int mask) |
SSP_FORCEINLINE __m128i | ssp_blendv_epi8_REF (__m128i a, __m128i b, __m128i mask) |
SSP_FORCEINLINE __m128d | ssp_blendv_pd_REF (__m128d a, __m128d b, __m128d mask) |
SSP_FORCEINLINE __m128 | ssp_blendv_ps_REF (__m128 a, __m128 b, __m128 mask) |
SSP_FORCEINLINE __m128i | ssp_cmpeq_epi64_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128d | ssp_dp_pd_REF (__m128d a, __m128d b, const int mask) |
SSP_FORCEINLINE __m128 | ssp_dp_ps_REF (__m128 a, __m128 b, const int mask) |
SSP_FORCEINLINE __m128i | ssp_maddubs_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_maddubs_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m128i | ssp_mulhrs_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_mulhrs_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE int | ssp_extract_epi8_REF (__m128i a, const int ndx) |
SSP_FORCEINLINE int | ssp_extract_epi32_REF (__m128i a, const int imm) |
SSP_FORCEINLINE ssp_s64 | ssp_extract_epi64_REF (__m128i a, const int ndx) |
SSP_FORCEINLINE int | ssp_extract_ps_REF (__m128 a, const int ndx) |
SSP_FORCEINLINE __m128i | ssp_extract_si64_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_extracti_si64_REF (__m128i a, int len, int ndx) |
SSP_FORCEINLINE __m128i | ssp_hadd_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_hadd_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_hadd_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m64 | ssp_hadd_pi32_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m128i | ssp_hadds_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_hadds_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m128 | ssp_hadd_ps_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128d | ssp_hadd_pd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128i | ssp_hsub_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_hsub_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_hsub_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m64 | ssp_hsub_pi32_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m128i | ssp_hsubs_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_hsubs_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m128 | ssp_hsub_ps_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128d | ssp_hsub_pd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128i | ssp_insert_epi8_REF (__m128i a, int b, const int ndx) |
SSP_FORCEINLINE __m128i | ssp_insert_epi32_REF (__m128i a, int b, const int ndx) |
SSP_FORCEINLINE __m128i | ssp_insert_epi64_REF (__m128i a, ssp_s64 b, const int ndx) |
SSP_FORCEINLINE __m128 | ssp_insert_ps_REF (__m128 a, __m128 b, const int sel) |
SSP_FORCEINLINE __m128i | ssp_insert_si64_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_inserti_si64_REF (__m128i a, __m128i b, int len, int ndx) |
SSP_FORCEINLINE __m128d | ssp_loaddup_pd_REF (double const *dp) |
SSP_FORCEINLINE __m128i | ssp_lddqu_si128_REF (__m128i const *p) |
SSP_FORCEINLINE __m128i | ssp_stream_load_si128_REF (__m128i *p) |
SSP_FORCEINLINE __m128i | ssp_min_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_max_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_min_epu16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_max_epu16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_min_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_max_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_min_epu32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_max_epu32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_minpos_epu16_REF (__m128i shortValues) |
SSP_FORCEINLINE __m128i | ssp_minpos_epu16_REFb (__m128i shortValues) |
SSP_FORCEINLINE __m128 | ssp_movehdup_ps_REF (__m128 a) |
SSP_FORCEINLINE __m128 | ssp_moveldup_ps_REF (__m128 a) |
SSP_FORCEINLINE __m128d | ssp_movedup_pd_REF (__m128d a) |
SSP_FORCEINLINE __m128i | ssp_mul_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_mullo_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_mpsadbw_epu8_REF (__m128i a, __m128i b, const int msk) |
SSP_FORCEINLINE __m128i | ssp_packus_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128d | ssp_ceil_pd_REF (__m128d a) |
SSP_FORCEINLINE __m128 | ssp_ceil_ps_REF (__m128 a) |
SSP_FORCEINLINE __m128d | ssp_ceil_sd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128 | ssp_ceil_ss_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128d | ssp_floor_pd_REF (__m128d a) |
SSP_FORCEINLINE __m128 | ssp_floor_ps_REF (__m128 a) |
SSP_FORCEINLINE __m128d | ssp_floor_sd_REF (__m128d a, __m128d b) |
SSP_FORCEINLINE __m128 | ssp_floor_ss_REF (__m128 a, __m128 b) |
SSP_FORCEINLINE __m128d | ssp_round_pd_REF (__m128d val, int iRoundMode) |
SSP_FORCEINLINE __m128 | ssp_round_ps_REF (__m128 val, int iRoundMode) |
SSP_FORCEINLINE __m128d | ssp_round_sd_REF (__m128d dst, __m128d val, int iRoundMode) |
SSP_FORCEINLINE __m128 | ssp_round_ss_REF (__m128 dst, __m128 val, int iRoundMode) |
SSP_FORCEINLINE int | ssp_testc_si128_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE int | ssp_testz_si128_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE int | ssp_testnzc_si128_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_cvtepi8_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepi8_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepi8_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepi16_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepi16_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepi32_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu8_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu8_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu8_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu16_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu16_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_cvtepu32_epi64_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_abs_epi8_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_abs_epi16_REF (__m128i a) |
SSP_FORCEINLINE __m128i | ssp_abs_epi32_REF (__m128i a) |
SSP_FORCEINLINE __m64 | ssp_abs_pi8_REF (__m64 a) |
SSP_FORCEINLINE __m64 | ssp_abs_pi16_REF (__m64 a) |
SSP_FORCEINLINE __m64 | ssp_abs_pi32_REF (__m64 a) |
SSP_FORCEINLINE __m128i | ssp_alignr_epi8_REF (__m128i a, __m128i b, const int ralign) |
SSP_FORCEINLINE __m64 | ssp_alignr_pi8_REF (__m64 a, __m64 b, const int ralign) |
SSP_FORCEINLINE __m128i | ssp_shuffle_epi8_REF (__m128i a, __m128i mask) |
SSP_FORCEINLINE __m64 | ssp_shuffle_pi8_REF (__m64 a, __m64 mask) |
SSP_FORCEINLINE __m128i | ssp_sign_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sign_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sign_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m64 | ssp_sign_pi8_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m64 | ssp_sign_pi16_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE __m64 | ssp_sign_pi32_REF (__m64 a, __m64 b) |
SSP_FORCEINLINE void | ssp_stream_sd_REF (double *dst, __m128d src) |
SSP_FORCEINLINE void | ssp_stream_ss_REF (float *dst, __m128 src) |
SSP_FORCEINLINE unsigned short | ssp_lzcnt16_REF (unsigned short val) |
SSP_FORCEINLINE unsigned int | ssp_lzcnt_REF (unsigned int val) |
SSP_FORCEINLINE ssp_u64 | ssp_lzcnt64_REF (ssp_u64 val) |
SSP_FORCEINLINE unsigned short | ssp_popcnt16_REF (unsigned short val) |
SSP_FORCEINLINE unsigned int | ssp_popcnt_REF (unsigned int val) |
SSP_FORCEINLINE ssp_u64 | ssp_popcnt64_REF (ssp_u64 val) |
SSP_FORCEINLINE __m128i | ssp_perm_epi8_REF (__m128i a, __m128i b, __m128i c) |
SSP_FORCEINLINE __m128 | ssp_perm_ps_REF (__m128 a, __m128 b, __m128i c) |
SSP_FORCEINLINE __m128d | ssp_perm_pd_REF (__m128d a, __m128d b, __m128i c) |
SSP_FORCEINLINE __m128i | ssp_rot_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_rot_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_rot_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_rot_epi64_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_roti_epi8_REF (__m128i a, const int b) |
SSP_FORCEINLINE __m128i | ssp_roti_epi16_REF (__m128i a, const int b) |
SSP_FORCEINLINE __m128i | ssp_roti_epi32_REF (__m128i a, const int b) |
SSP_FORCEINLINE __m128i | ssp_roti_epi64_REF (__m128i a, const int b) |
SSP_FORCEINLINE __m128i | ssp_shl_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sha_epi8_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_shl_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sha_epi16_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_shl_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sha_epi32_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_shl_epi64_REF (__m128i a, __m128i b) |
SSP_FORCEINLINE __m128i | ssp_sha_epi64_REF (__m128i a, __m128i b) |
Defines | |
#define | FN(I) |
#define FN | ( | I | ) |
Value:
if( ShortValues.u16[I] < ShortValues.u16[0] ) \
{ \
ShortValues.u16[0] = ShortValues.u16[I]; \
ShortValues.u16[1] = I; \
}