Avx512bw (#960)
This commit is contained in:
parent
f0ed8c497d
commit
8cd6f164a6
3 changed files with 1698 additions and 60 deletions
|
|
@ -25,8 +25,8 @@
|
|||
* [x] [`_mm512_mask_adds_epu8`]
|
||||
* [x] [`_mm512_maskz_adds_epu8`]
|
||||
* [x] [`_mm512_alignr_epi8`]
|
||||
* [_] [`_mm512_mask_alignr_epi8`]
|
||||
* [_] [`_mm512_maskz_alignr_epi8`]
|
||||
* [x] [`_mm512_mask_alignr_epi8`]
|
||||
* [x] [`_mm512_maskz_alignr_epi8`]
|
||||
* [x] [`_mm512_avg_epu16`]
|
||||
* [x] [`_mm512_mask_avg_epu16`]
|
||||
* [x] [`_mm512_maskz_avg_epu16`]
|
||||
|
|
@ -41,8 +41,8 @@
|
|||
* [x] [`_mm512_broadcastw_epi16`]
|
||||
* [x] [`_mm512_mask_broadcastw_epi16`]
|
||||
* [x] [`_mm512_maskz_broadcastw_epi16`]
|
||||
* [_] [`_mm512_bslli_epi128`]
|
||||
* [_] [`_mm512_bsrli_epi128`]
|
||||
* [x] [`_mm512_bslli_epi128`]
|
||||
* [x] [`_mm512_bsrli_epi128`]
|
||||
* [x] [`_mm512_cmp_epi16_mask`]
|
||||
* [x] [`_mm512_mask_cmp_epi16_mask`]
|
||||
* [x] [`_mm512_cmp_epi8_mask`]
|
||||
|
|
@ -99,41 +99,41 @@
|
|||
* [x] [`_mm512_mask_cmpneq_epu16_mask`]
|
||||
* [x] [`_mm512_cmpneq_epu8_mask`]
|
||||
* [x] [`_mm512_mask_cmpneq_epu8_mask`]
|
||||
* [_] [`_mm512_cvtepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtepi16_epi8`]
|
||||
* [_] [`_mm512_maskz_cvtepi16_epi8`]
|
||||
* [x] [`_mm512_cvtepi16_epi8`]
|
||||
* [x] [`_mm512_mask_cvtepi16_epi8`]
|
||||
* [x] [`_mm512_maskz_cvtepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtepi16_storeu_epi8`]
|
||||
* [_] [`_mm512_cvtepi8_epi16`]
|
||||
* [_] [`_mm512_mask_cvtepi8_epi16`]
|
||||
* [_] [`_mm512_maskz_cvtepi8_epi16`]
|
||||
* [_] [`_mm512_cvtepu8_epi16`]
|
||||
* [_] [`_mm512_mask_cvtepu8_epi16`]
|
||||
* [_] [`_mm512_maskz_cvtepu8_epi16`]
|
||||
* [x] [`_mm512_cvtepi8_epi16`]
|
||||
* [x] [`_mm512_mask_cvtepi8_epi16`]
|
||||
* [x] [`_mm512_maskz_cvtepi8_epi16`]
|
||||
* [x] [`_mm512_cvtepu8_epi16`]
|
||||
* [x] [`_mm512_mask_cvtepu8_epi16`]
|
||||
* [x] [`_mm512_maskz_cvtepu8_epi16`]
|
||||
* [_] [`_cvtmask32_u32`]
|
||||
* [_] [`_cvtmask64_u64`]
|
||||
* [_] [`_mm512_cvtsepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtsepi16_epi8`]
|
||||
* [_] [`_mm512_maskz_cvtsepi16_epi8`]
|
||||
* [x] [`_mm512_cvtsepi16_epi8`]
|
||||
* [x] [`_mm512_mask_cvtsepi16_epi8`]
|
||||
* [x] [`_mm512_maskz_cvtsepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtsepi16_storeu_epi8`]
|
||||
* [_] [`_cvtu32_mask32`]
|
||||
* [_] [`_cvtu64_mask64`]
|
||||
* [_] [`_mm512_cvtusepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtusepi16_epi8`]
|
||||
* [_] [`_mm512_maskz_cvtusepi16_epi8`]
|
||||
* [x] [`_mm512_cvtusepi16_epi8`]
|
||||
* [x] [`_mm512_mask_cvtusepi16_epi8`]
|
||||
* [x] [`_mm512_maskz_cvtusepi16_epi8`]
|
||||
* [_] [`_mm512_mask_cvtusepi16_storeu_epi8`]
|
||||
* [_] [`_mm512_dbsad_epu8`]
|
||||
* [_] [`_mm512_mask_dbsad_epu8`]
|
||||
* [_] [`_mm512_maskz_dbsad_epu8`]
|
||||
* [_] [`_kadd_mask32`]
|
||||
* [_] [`_kadd_mask64`]
|
||||
* [_] [`_kand_mask32`]
|
||||
* [_] [`_kand_mask64`]
|
||||
* [_] [`_kandn_mask32`]
|
||||
* [_] [`_kandn_mask64`]
|
||||
* [_] [`_knot_mask32`]
|
||||
* [_] [`_knot_mask64`]
|
||||
* [_] [`_kor_mask32`]
|
||||
* [_] [`_kor_mask64`]
|
||||
* [x] [`_mm512_dbsad_epu8`]
|
||||
* [x] [`_mm512_mask_dbsad_epu8`]
|
||||
* [x] [`_mm512_maskz_dbsad_epu8`]
|
||||
* [x] [`_kadd_mask32`]
|
||||
* [x] [`_kadd_mask64`]
|
||||
* [x] [`_kand_mask32`]
|
||||
* [x] [`_kand_mask64`]
|
||||
* [x] [`_kandn_mask32`]
|
||||
* [x] [`_kandn_mask64`]
|
||||
* [x] [`_knot_mask32`]
|
||||
* [x] [`_knot_mask64`]
|
||||
* [x] [`_kor_mask32`]
|
||||
* [x] [`_kor_mask64`]
|
||||
* [_] [`_kortest_mask32_u8`]
|
||||
* [_] [`_kortest_mask64_u8`]
|
||||
* [_] [`_kortestc_mask32_u8`]
|
||||
|
|
@ -152,12 +152,12 @@
|
|||
* [_] [`_ktestz_mask64_u8`]
|
||||
* [_] [`_mm512_kunpackd`]
|
||||
* [_] [`_mm512_kunpackw`]
|
||||
* [_] [`_kxnor_mask32`]
|
||||
* [_] [`_kxnor_mask64`]
|
||||
* [_] [`_kxor_mask32`]
|
||||
* [_] [`_kxor_mask64`]
|
||||
* [_] [`_load_mask32`]
|
||||
* [_] [`_load_mask64`]
|
||||
* [x] [`_kxnor_mask32`]
|
||||
* [x] [`_kxnor_mask64`]
|
||||
* [x] [`_kxor_mask32`]
|
||||
* [x] [`_kxor_mask64`]
|
||||
* [x] [`_load_mask32`]
|
||||
* [x] [`_load_mask64`]
|
||||
* [x] [`_mm512_loadu_epi16`]
|
||||
* [_] [`_mm512_mask_loadu_epi16`]
|
||||
* [_] [`_mm512_maskz_loadu_epi16`]
|
||||
|
|
@ -198,10 +198,10 @@
|
|||
* [x] [`_mm512_maskz_mov_epi16`]
|
||||
* [x] [`_mm512_mask_mov_epi8`]
|
||||
* [x] [`_mm512_maskz_mov_epi8`]
|
||||
* [_] [`_mm512_movepi16_mask`]
|
||||
* [_] [`_mm512_movepi8_mask`]
|
||||
* [_] [`_mm512_movm_epi16`]
|
||||
* [_] [`_mm512_movm_epi8`]
|
||||
* [x] [`_mm512_movepi16_mask`]
|
||||
* [x] [`_mm512_movepi8_mask`]
|
||||
* [x] [`_mm512_movm_epi16`]
|
||||
* [x] [`_mm512_movm_epi8`]
|
||||
* [x] [`_mm512_mask_mulhi_epi16`]
|
||||
* [x] [`_mm512_maskz_mulhi_epi16`]
|
||||
* [x] [`_mm512_mulhi_epi16`]
|
||||
|
|
@ -233,14 +233,14 @@
|
|||
* [x] [`_mm512_mask_permutexvar_epi16`]
|
||||
* [x] [`_mm512_maskz_permutexvar_epi16`]
|
||||
* [x] [`_mm512_permutexvar_epi16`]
|
||||
* [_] [`_mm512_sad_epu8`]
|
||||
* [x] [`_mm512_sad_epu8`]
|
||||
* [x] [`_mm512_mask_set1_epi16`]
|
||||
* [x] [`_mm512_maskz_set1_epi16`]
|
||||
* [x] [`_mm512_mask_set1_epi8`]
|
||||
* [x] [`_mm512_maskz_set1_epi8`]
|
||||
* [_] [`_mm512_mask_shuffle_epi8`]
|
||||
* [_] [`_mm512_maskz_shuffle_epi8`]
|
||||
* [_] [`_mm512_shuffle_epi8`]
|
||||
* [x] [`_mm512_mask_shuffle_epi8`]
|
||||
* [x] [`_mm512_maskz_shuffle_epi8`]
|
||||
* [x] [`_mm512_shuffle_epi8`]
|
||||
* [x] [`_mm512_mask_shufflehi_epi16`]
|
||||
* [x] [`_mm512_maskz_shufflehi_epi16`]
|
||||
* [x] [`_mm512_shufflehi_epi16`]
|
||||
|
|
@ -274,8 +274,8 @@
|
|||
* [x] [`_mm512_mask_srlv_epi16`]
|
||||
* [x] [`_mm512_maskz_srlv_epi16`]
|
||||
* [x] [`_mm512_srlv_epi16`]
|
||||
* [_] [`_store_mask32`]
|
||||
* [_] [`_store_mask64`]
|
||||
* [x] [`_store_mask32`]
|
||||
* [x] [`_store_mask64`]
|
||||
* [_] [`_mm512_mask_storeu_epi16`]
|
||||
* [x] [`_mm512_storeu_epi16`]
|
||||
* [_] [`_mm512_mask_storeu_epi8`]
|
||||
|
|
@ -298,14 +298,14 @@
|
|||
* [x] [`_mm512_mask_subs_epu8`]
|
||||
* [x] [`_mm512_maskz_subs_epu8`]
|
||||
* [x] [`_mm512_subs_epu8`]
|
||||
* [_] [`_mm512_mask_test_epi16_mask`]
|
||||
* [_] [`_mm512_test_epi16_mask`]
|
||||
* [_] [`_mm512_mask_test_epi8_mask`]
|
||||
* [_] [`_mm512_test_epi8_mask`]
|
||||
* [_] [`_mm512_mask_testn_epi16_mask`]
|
||||
* [_] [`_mm512_testn_epi16_mask`]
|
||||
* [_] [`_mm512_mask_testn_epi8_mask`]
|
||||
* [_] [`_mm512_testn_epi8_mask`]
|
||||
* [x] [`_mm512_mask_test_epi16_mask`]
|
||||
* [x] [`_mm512_test_epi16_mask`]
|
||||
* [x] [`_mm512_mask_test_epi8_mask`]
|
||||
* [x] [`_mm512_test_epi8_mask`]
|
||||
* [x] [`_mm512_mask_testn_epi16_mask`]
|
||||
* [x] [`_mm512_testn_epi16_mask`]
|
||||
* [x] [`_mm512_mask_testn_epi8_mask`]
|
||||
* [x] [`_mm512_testn_epi8_mask`]
|
||||
* [x] [`_mm512_mask_unpackhi_epi16`]
|
||||
* [x] [`_mm512_maskz_unpackhi_epi16`]
|
||||
* [x] [`_mm512_unpackhi_epi16`]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -689,6 +689,10 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
|
|||
(&Type::M512, "__m512") => {}
|
||||
(&Type::M512I, "__m512i") => {}
|
||||
(&Type::M512D, "__m512d") => {}
|
||||
(&Type::MMASK64, "__mmask64") => {}
|
||||
(&Type::MMASK32, "__mmask32") => {}
|
||||
(&Type::MMASK16, "__mmask16") => {}
|
||||
(&Type::MMASK8, "__mmask8") => {}
|
||||
|
||||
(&Type::MutPtr(&Type::PrimFloat(32)), "float*") => {}
|
||||
(&Type::MutPtr(&Type::PrimFloat(64)), "double*") => {}
|
||||
|
|
@ -706,6 +710,8 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
|
|||
(&Type::MutPtr(&Type::PrimUnsigned(32)), "unsigned int*") => {}
|
||||
(&Type::MutPtr(&Type::PrimUnsigned(64)), "unsigned __int64*") => {}
|
||||
(&Type::MutPtr(&Type::PrimUnsigned(8)), "void*") => {}
|
||||
(&Type::MutPtr(&Type::PrimUnsigned(32)), "__mmask32*") => {}
|
||||
(&Type::MutPtr(&Type::PrimUnsigned(64)), "__mmask64*") => {}
|
||||
(&Type::MutPtr(&Type::M64), "__m64*") => {}
|
||||
(&Type::MutPtr(&Type::M128), "__m128*") => {}
|
||||
(&Type::MutPtr(&Type::M128I), "__m128i*") => {}
|
||||
|
|
@ -733,6 +739,7 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
|
|||
(&Type::ConstPtr(&Type::PrimUnsigned(32)), "unsigned int const*") => {}
|
||||
(&Type::ConstPtr(&Type::PrimUnsigned(64)), "unsigned __int64 const*") => {}
|
||||
(&Type::ConstPtr(&Type::PrimUnsigned(8)), "void const*") => {}
|
||||
(&Type::ConstPtr(&Type::PrimUnsigned(32)), "void const*") => {}
|
||||
(&Type::ConstPtr(&Type::M64), "__m64 const*") => {}
|
||||
(&Type::ConstPtr(&Type::M128), "__m128 const*") => {}
|
||||
(&Type::ConstPtr(&Type::M128I), "__m128i const*") => {}
|
||||
|
|
@ -743,11 +750,9 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
|
|||
(&Type::ConstPtr(&Type::M512), "__m512 const*") => {}
|
||||
(&Type::ConstPtr(&Type::M512I), "__m512i const*") => {}
|
||||
(&Type::ConstPtr(&Type::M512D), "__m512d const*") => {}
|
||||
(&Type::ConstPtr(&Type::PrimUnsigned(32)), "__mmask32*") => {}
|
||||
(&Type::ConstPtr(&Type::PrimUnsigned(64)), "__mmask64*") => {}
|
||||
|
||||
(&Type::MMASK8, "__mmask8") => {}
|
||||
(&Type::MMASK16, "__mmask16") => {}
|
||||
(&Type::MMASK32, "__mmask32") => {}
|
||||
(&Type::MMASK64, "__mmask64") => {}
|
||||
(&Type::MM_CMPINT_ENUM, "_MM_CMPINT_ENUM") => {}
|
||||
(&Type::MM_MANTISSA_NORM_ENUM, "_MM_MANTISSA_NORM_ENUM") => {}
|
||||
(&Type::MM_MANTISSA_SIGN_ENUM, "_MM_MANTISSA_SIGN_ENUM") => {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue