This commit is contained in:
minybot 2020-11-22 10:10:25 -05:00 committed by GitHub
parent fd99d973dc
commit ea5a0d01d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 7007 additions and 9 deletions

View file

@ -0,0 +1,322 @@
<summary>["AVX512BW"]</summary><p>
* [x] [`_mm512_abs_epi16`]
* [x] [`_mm512_mask_abs_epi16`]
* [x] [`_mm512_maskz_abs_epi16`]
* [x] [`_mm512_abs_epi8`]
* [x] [`_mm512_mask_abs_epi8`]
* [x] [`_mm512_maskz_abs_epi8`]
* [x] [`_mm512_add_epi16`]
* [x] [`_mm512_mask_add_epi16`]
* [x] [`_mm512_maskz_add_epi16`]
* [x] [`_mm512_add_epi8`]
* [x] [`_mm512_mask_add_epi8`]
* [x] [`_mm512_maskz_add_epi8`]
* [x] [`_mm512_adds_epi16`]
* [x] [`_mm512_mask_adds_epi16`]
* [x] [`_mm512_maskz_adds_epi16`]
* [x] [`_mm512_adds_epi8`]
* [x] [`_mm512_mask_adds_epi8`]
* [x] [`_mm512_maskz_adds_epi8`]
* [x] [`_mm512_adds_epu16`]
* [x] [`_mm512_mask_adds_epu16`]
* [x] [`_mm512_maskz_adds_epu16`]
* [x] [`_mm512_adds_epu8`]
* [x] [`_mm512_mask_adds_epu8`]
* [x] [`_mm512_maskz_adds_epu8`]
* [x] [`_mm512_alignr_epi8`]
* [_] [`_mm512_mask_alignr_epi8`]
* [_] [`_mm512_maskz_alignr_epi8`]
* [x] [`_mm512_avg_epu16`]
* [x] [`_mm512_mask_avg_epu16`]
* [x] [`_mm512_maskz_avg_epu16`]
* [x] [`_mm512_avg_epu8`]
* [x] [`_mm512_mask_avg_epu8`]
* [x] [`_mm512_maskz_avg_epu8`]
* [x] [`_mm512_mask_blend_epi16`]
* [x] [`_mm512_mask_blend_epi8`]
* [x] [`_mm512_broadcastb_epi8`]
* [x] [`_mm512_mask_broadcastb_epi8`]
* [x] [`_mm512_maskz_broadcastb_epi8`]
* [x] [`_mm512_broadcastw_epi16`]
* [x] [`_mm512_mask_broadcastw_epi16`]
* [x] [`_mm512_maskz_broadcastw_epi16`]
* [_] [`_mm512_bslli_epi128`]
* [_] [`_mm512_bsrli_epi128`]
* [x] [`_mm512_cmp_epi16_mask`]
* [x] [`_mm512_mask_cmp_epi16_mask`]
* [x] [`_mm512_cmp_epi8_mask`]
* [x] [`_mm512_mask_cmp_epi8_mask`]
* [x] [`_mm512_cmp_epu16_mask`]
* [x] [`_mm512_mask_cmp_epu16_mask`]
* [x] [`_mm512_cmp_epu8_mask`]
* [x] [`_mm512_mask_cmp_epu8_mask`]
* [x] [`_mm512_cmpeq_epi16_mask`]
* [x] [`_mm512_mask_cmpeq_epi16_mask`]
* [x] [`_mm512_cmpeq_epi8_mask`]
* [x] [`_mm512_mask_cmpeq_epi8_mask`]
* [x] [`_mm512_cmpeq_epu16_mask`]
* [x] [`_mm512_mask_cmpeq_epu16_mask`]
* [x] [`_mm512_cmpeq_epu8_mask`]
* [x] [`_mm512_mask_cmpeq_epu8_mask`]
* [x] [`_mm512_cmpge_epi16_mask`]
* [x] [`_mm512_mask_cmpge_epi16_mask`]
* [x] [`_mm512_cmpge_epi8_mask`]
* [x] [`_mm512_mask_cmpge_epi8_mask`]
* [x] [`_mm512_cmpge_epu16_mask`]
* [x] [`_mm512_mask_cmpge_epu16_mask`]
* [x] [`_mm512_cmpge_epu8_mask`]
* [x] [`_mm512_mask_cmpge_epu8_mask`]
* [x] [`_mm512_cmpgt_epi16_mask`]
* [x] [`_mm512_mask_cmpgt_epi16_mask`]
* [x] [`_mm512_cmpgt_epi8_mask`]
* [x] [`_mm512_mask_cmpgt_epi8_mask`]
* [x] [`_mm512_cmpgt_epu16_mask`]
* [x] [`_mm512_mask_cmpgt_epu16_mask`]
* [x] [`_mm512_cmpgt_epu8_mask`]
* [x] [`_mm512_mask_cmpgt_epu8_mask`]
* [x] [`_mm512_cmple_epi16_mask`]
* [x] [`_mm512_mask_cmple_epi16_mask`]
* [x] [`_mm512_cmple_epi8_mask`]
* [x] [`_mm512_mask_cmple_epi8_mask`]
* [x] [`_mm512_cmple_epu16_mask`]
* [x] [`_mm512_mask_cmple_epu16_mask`]
* [x] [`_mm512_cmple_epu8_mask`]
* [x] [`_mm512_mask_cmple_epu8_mask`]
* [x] [`_mm512_cmplt_epi16_mask`]
* [x] [`_mm512_mask_cmplt_epi16_mask`]
* [x] [`_mm512_cmplt_epi8_mask`]
* [x] [`_mm512_mask_cmplt_epi8_mask`]
* [x] [`_mm512_cmplt_epu16_mask`]
* [x] [`_mm512_mask_cmplt_epu16_mask`]
* [x] [`_mm512_cmplt_epu8_mask`]
* [x] [`_mm512_mask_cmplt_epu8_mask`]
* [x] [`_mm512_cmpneq_epi16_mask`]
* [x] [`_mm512_mask_cmpneq_epi16_mask`]
* [x] [`_mm512_cmpneq_epi8_mask`]
* [x] [`_mm512_mask_cmpneq_epi8_mask`]
* [x] [`_mm512_cmpneq_epu16_mask`]
* [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`]
* [_] [`_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`]
* [_] [`_cvtmask32_u32`]
* [_] [`_cvtmask64_u64`]
* [_] [`_mm512_cvtsepi16_epi8`]
* [_] [`_mm512_mask_cvtsepi16_epi8`]
* [_] [`_mm512_maskz_cvtsepi16_epi8`]
* [_] [`_mm512_mask_cvtsepi16_storeu_epi8`]
* [_] [`_cvtu32_mask32`]
* [_] [`_cvtu64_mask64`]
* [_] [`_mm512_cvtusepi16_epi8`]
* [_] [`_mm512_mask_cvtusepi16_epi8`]
* [_] [`_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`]
* [_] [`_kortest_mask32_u8`]
* [_] [`_kortest_mask64_u8`]
* [_] [`_kortestc_mask32_u8`]
* [_] [`_kortestc_mask64_u8`]
* [_] [`_kortestz_mask32_u8`]
* [_] [`_kortestz_mask64_u8`]
* [_] [`_kshiftli_mask32`]
* [_] [`_kshiftli_mask64`]
* [_] [`_kshiftri_mask32`]
* [_] [`_kshiftri_mask64`]
* [_] [`_ktest_mask32_u8`]
* [_] [`_ktest_mask64_u8`]
* [_] [`_ktestc_mask32_u8`]
* [_] [`_ktestc_mask64_u8`]
* [_] [`_ktestz_mask32_u8`]
* [_] [`_ktestz_mask64_u8`]
* [_] [`_mm512_kunpackd`]
* [_] [`_mm512_kunpackw`]
* [_] [`_kxnor_mask32`]
* [_] [`_kxnor_mask64`]
* [_] [`_kxor_mask32`]
* [_] [`_kxor_mask64`]
* [_] [`_load_mask32`]
* [_] [`_load_mask64`]
* [x] [`_mm512_loadu_epi16`]
* [_] [`_mm512_mask_loadu_epi16`]
* [_] [`_mm512_maskz_loadu_epi16`]
* [x] [`_mm512_loadu_epi8`]
* [_] [`_mm512_mask_loadu_epi8`]
* [_] [`_mm512_maskz_loadu_epi8`]
* [x] [`_mm512_madd_epi16`]
* [x] [`_mm512_mask_madd_epi16`]
* [x] [`_mm512_maskz_madd_epi16`]
* [x] [`_mm512_maddubs_epi16`]
* [x] [`_mm512_mask_maddubs_epi16`]
* [x] [`_mm512_maskz_maddubs_epi16`]
* [x] [`_mm512_mask_max_epi16`]
* [x] [`_mm512_maskz_max_epi16`]
* [x] [`_mm512_max_epi16`]
* [x] [`_mm512_mask_max_epi8`]
* [x] [`_mm512_maskz_max_epi8`]
* [x] [`_mm512_max_epi8`]
* [x] [`_mm512_mask_max_epu16`]
* [x] [`_mm512_maskz_max_epu16`]
* [x] [`_mm512_max_epu16`]
* [x] [`_mm512_mask_max_epu8`]
* [x] [`_mm512_maskz_max_epu8`]
* [x] [`_mm512_max_epu8`]
* [x] [`_mm512_mask_min_epi16`]
* [x] [`_mm512_maskz_min_epi16`]
* [x] [`_mm512_min_epi16`]
* [x] [`_mm512_mask_min_epi8`]
* [x] [`_mm512_maskz_min_epi8`]
* [x] [`_mm512_min_epi8`]
* [x] [`_mm512_mask_min_epu16`]
* [x] [`_mm512_maskz_min_epu16`]
* [x] [`_mm512_min_epu16`]
* [x] [`_mm512_mask_min_epu8`]
* [x] [`_mm512_maskz_min_epu8`]
* [x] [`_mm512_min_epu8`]
* [x] [`_mm512_mask_mov_epi16`]
* [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_mask_mulhi_epi16`]
* [x] [`_mm512_maskz_mulhi_epi16`]
* [x] [`_mm512_mulhi_epi16`]
* [x] [`_mm512_mask_mulhi_epu16`]
* [x] [`_mm512_maskz_mulhi_epu16`]
* [x] [`_mm512_mulhi_epu16`]
* [x] [`_mm512_mask_mulhrs_epi16`]
* [x] [`_mm512_maskz_mulhrs_epi16`]
* [x] [`_mm512_mulhrs_epi16`]
* [x] [`_mm512_mask_mullo_epi16`]
* [x] [`_mm512_maskz_mullo_epi16`]
* [x] [`_mm512_mullo_epi16`]
* [x] [`_mm512_mask_packs_epi16`]
* [x] [`_mm512_maskz_packs_epi16`]
* [x] [`_mm512_packs_epi16`]
* [x] [`_mm512_mask_packs_epi32`]
* [x] [`_mm512_maskz_packs_epi32`]
* [x] [`_mm512_packs_epi32`]
* [x] [`_mm512_mask_packus_epi16`]
* [x] [`_mm512_maskz_packus_epi16`]
* [x] [`_mm512_packus_epi16`]
* [x] [`_mm512_mask_packus_epi32`]
* [x] [`_mm512_maskz_packus_epi32`]
* [x] [`_mm512_packus_epi32`]
* [x] [`_mm512_mask_permutex2var_epi16`]
* [x] [`_mm512_mask2_permutex2var_epi16`]
* [x] [`_mm512_maskz_permutex2var_epi16`]
* [x] [`_mm512_permutex2var_epi16`]
* [x] [`_mm512_mask_permutexvar_epi16`]
* [x] [`_mm512_maskz_permutexvar_epi16`]
* [x] [`_mm512_permutexvar_epi16`]
* [_] [`_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_shufflehi_epi16`]
* [x] [`_mm512_maskz_shufflehi_epi16`]
* [x] [`_mm512_shufflehi_epi16`]
* [x] [`_mm512_mask_shufflelo_epi16`]
* [x] [`_mm512_maskz_shufflelo_epi16`]
* [x] [`_mm512_shufflelo_epi16`]
* [x] [`_mm512_mask_sll_epi16`]
* [x] [`_mm512_maskz_sll_epi16`]
* [x] [`_mm512_sll_epi16`]
* [x] [`_mm512_mask_slli_epi16`]
* [x] [`_mm512_maskz_slli_epi16`]
* [x] [`_mm512_slli_epi16`]
* [x] [`_mm512_mask_sllv_epi16`]
* [x] [`_mm512_maskz_sllv_epi16`]
* [x] [`_mm512_sllv_epi16`]
* [x] [`_mm512_mask_sra_epi16`]
* [x] [`_mm512_maskz_sra_epi16`]
* [x] [`_mm512_sra_epi16`]
* [x] [`_mm512_mask_srai_epi16`]
* [x] [`_mm512_maskz_srai_epi16`]
* [x] [`_mm512_srai_epi16`]
* [x] [`_mm512_mask_srav_epi16`]
* [x] [`_mm512_maskz_srav_epi16`]
* [x] [`_mm512_srav_epi16`]
* [x] [`_mm512_mask_srl_epi16`]
* [x] [`_mm512_maskz_srl_epi16`]
* [x] [`_mm512_srl_epi16`]
* [x] [`_mm512_mask_srli_epi16`]
* [x] [`_mm512_maskz_srli_epi16`]
* [x] [`_mm512_srli_epi16`]
* [x] [`_mm512_mask_srlv_epi16`]
* [x] [`_mm512_maskz_srlv_epi16`]
* [x] [`_mm512_srlv_epi16`]
* [_] [`_store_mask32`]
* [_] [`_store_mask64`]
* [_] [`_mm512_mask_storeu_epi16`]
* [x] [`_mm512_storeu_epi16`]
* [_] [`_mm512_mask_storeu_epi8`]
* [x] [`_mm512_storeu_epi8`]
* [x] [`_mm512_mask_sub_epi16`]
* [x] [`_mm512_maskz_sub_epi16`]
* [x] [`_mm512_sub_epi16`]
* [x] [`_mm512_mask_sub_epi8`]
* [x] [`_mm512_maskz_sub_epi8`
* [x] [`_mm512_sub_epi8`]
* [x] [`_mm512_mask_subs_epi16`]
* [x] [`_mm512_maskz_subs_epi16`]
* [x] [`_mm512_subs_epi16`]
* [x] [`_mm512_mask_subs_epi8`]
* [x] [`_mm512_maskz_subs_epi8`]
* [x] [`_mm512_subs_epi8`]
* [x] [`_mm512_mask_subs_epu16`]
* [x] [`_mm512_maskz_subs_epu16`]
* [x] [`_mm512_subs_epu16`]
* [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_unpackhi_epi16`]
* [x] [`_mm512_maskz_unpackhi_epi16`]
* [x] [`_mm512_unpackhi_epi16`]
* [x] [`_mm512_mask_unpackhi_epi8`]
* [x] [`_mm512_maskz_unpackhi_epi8`]
* [x] [`_mm512_unpackhi_epi8`]
* [x] [`_mm512_mask_unpacklo_epi16`]
* [x] [`_mm512_maskz_unpacklo_epi16`]
* [x] [`_mm512_unpacklo_epi16`]
* [x] [`_mm512_mask_unpacklo_epi8`]
* [x] [`_mm512_maskz_unpacklo_epi8`]
* [x] [`_mm512_unpacklo_epi8`]
</p>

View file

@ -685,6 +685,136 @@ simd_ty!(
x63
);
simd_ty!(
u8x64[u8]: u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8,
u8 | x0,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
x9,
x10,
x11,
x12,
x13,
x14,
x15,
x16,
x17,
x18,
x19,
x20,
x21,
x22,
x23,
x24,
x25,
x26,
x27,
x28,
x29,
x30,
x31,
x32,
x33,
x34,
x35,
x36,
x37,
x38,
x39,
x40,
x41,
x42,
x43,
x44,
x45,
x46,
x47,
x48,
x49,
x50,
x51,
x52,
x53,
x54,
x55,
x56,
x57,
x58,
x59,
x60,
x61,
x62,
x63
);
simd_ty!(
i16x32[i16]: i16,
i16,
@ -751,6 +881,72 @@ simd_ty!(
x31
);
simd_ty!(
u16x32[u16]: u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16,
u16 | x0,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
x9,
x10,
x11,
x12,
x13,
x14,
x15,
x16,
x17,
x18,
x19,
x20,
x21,
x22,
x23,
x24,
x25,
x26,
x27,
x28,
x29,
x30,
x31
);
simd_ty!(
i32x16[i32]: i32,
i32,

File diff suppressed because it is too large Load diff

View file

@ -9033,10 +9033,10 @@ pub unsafe fn _mm512_set_epi8(
e0: i8,
) -> __m512i {
let r = i8x64(
e63, e62, e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46,
e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28,
e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10,
e9, e8, e7, e6, e5, e4, e3, e2, e1, e0,
e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19,
e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37,
e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55,
e56, e57, e58, e59, e60, e61, e62, e63,
);
transmute(r)
}
@ -9081,8 +9081,8 @@ pub unsafe fn _mm512_set_epi16(
e0: i16,
) -> __m512i {
let r = i16x32(
e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14,
e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0,
e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19,
e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31,
);
transmute(r)
}

View file

@ -298,6 +298,14 @@ types! {
pub struct __m512d(f64, f64, f64, f64, f64, f64, f64, f64);
}
/// The `__mmask64` type used in AVX-512 intrinsics, a 64-bit integer
#[allow(non_camel_case_types)]
pub type __mmask64 = u64;
/// The `__mmask32` type used in AVX-512 intrinsics, a 32-bit integer
#[allow(non_camel_case_types)]
pub type __mmask32 = u32;
/// The `__mmask16` type used in AVX-512 intrinsics, a 16-bit integer
#[allow(non_camel_case_types)]
pub type __mmask16 = u16;
@ -492,11 +500,21 @@ impl m256Ext for __m256 {
pub(crate) trait m512iExt: Sized {
fn as_m512i(self) -> __m512i;
#[inline]
fn as_u8x64(self) -> crate::core_arch::simd::u8x64 {
unsafe { transmute(self.as_m512i()) }
}
#[inline]
fn as_i8x64(self) -> crate::core_arch::simd::i8x64 {
unsafe { transmute(self.as_m512i()) }
}
#[inline]
fn as_u16x32(self) -> crate::core_arch::simd::u16x32 {
unsafe { transmute(self.as_m512i()) }
}
#[inline]
fn as_i16x32(self) -> crate::core_arch::simd::i16x32 {
unsafe { transmute(self.as_m512i()) }
@ -648,6 +666,9 @@ pub unsafe fn ud2() -> ! {
mod avx512f;
pub use self::avx512f::*;
mod avx512bw;
pub use self::avx512bw::*;
mod avx512ifma;
pub use self::avx512ifma::*;

View file

@ -147,6 +147,8 @@ fn to_type(t: &syn::Type) -> proc_macro2::TokenStream {
"__m512i" => quote! { &M512I },
"__mmask8" => quote! { &MMASK8 },
"__mmask16" => quote! { &MMASK16 },
"__mmask32" => quote! { &MMASK32 },
"__mmask64" => quote! { &MMASK64 },
"_MM_CMPINT_ENUM" => quote! { &MM_CMPINT_ENUM },
"_MM_MANTISSA_NORM_ENUM" => quote! { &MM_MANTISSA_NORM_ENUM },
"_MM_MANTISSA_SIGN_ENUM" => quote! { &MM_MANTISSA_SIGN_ENUM },

View file

@ -32,15 +32,15 @@ struct Function {
static F32: Type = Type::PrimFloat(32);
static F64: Type = Type::PrimFloat(64);
static I8: Type = Type::PrimSigned(8);
static I16: Type = Type::PrimSigned(16);
static I32: Type = Type::PrimSigned(32);
static I64: Type = Type::PrimSigned(64);
static I8: Type = Type::PrimSigned(8);
static U8: Type = Type::PrimUnsigned(8);
static U16: Type = Type::PrimUnsigned(16);
static U32: Type = Type::PrimUnsigned(32);
static U64: Type = Type::PrimUnsigned(64);
static U128: Type = Type::PrimUnsigned(128);
static U8: Type = Type::PrimUnsigned(8);
static ORDERING: Type = Type::Ordering;
static M64: Type = Type::M64;
@ -55,6 +55,8 @@ static M512I: Type = Type::M512I;
static M512D: Type = Type::M512D;
static MMASK8: Type = Type::MMASK8;
static MMASK16: Type = Type::MMASK16;
static MMASK32: Type = Type::MMASK32;
static MMASK64: Type = Type::MMASK64;
static MM_CMPINT_ENUM: Type = Type::MM_CMPINT_ENUM;
static MM_MANTISSA_NORM_ENUM: Type = Type::MM_MANTISSA_NORM_ENUM;
static MM_MANTISSA_SIGN_ENUM: Type = Type::MM_MANTISSA_SIGN_ENUM;
@ -83,6 +85,8 @@ enum Type {
M512I,
MMASK8,
MMASK16,
MMASK32,
MMASK64,
MM_CMPINT_ENUM,
MM_MANTISSA_NORM_ENUM,
MM_MANTISSA_SIGN_ENUM,
@ -691,6 +695,8 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
(&Type::MutPtr(&Type::PrimFloat(32)), "void*") => {}
(&Type::MutPtr(&Type::PrimFloat(64)), "void*") => {}
(&Type::MutPtr(&Type::PrimSigned(32)), "void*") => {}
(&Type::MutPtr(&Type::PrimSigned(16)), "void*") => {}
(&Type::MutPtr(&Type::PrimSigned(8)), "void*") => {}
(&Type::MutPtr(&Type::PrimSigned(32)), "int*") => {}
(&Type::MutPtr(&Type::PrimSigned(32)), "__int32*") => {}
(&Type::MutPtr(&Type::PrimSigned(64)), "void*") => {}
@ -717,9 +723,11 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
(&Type::ConstPtr(&Type::PrimFloat(64)), "void const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(32)), "int const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(32)), "__int32 const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(8)), "void const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(16)), "void const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(32)), "void const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(64)), "__int64 const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(64)), "void const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(64)), "__int64 const*") => {}
(&Type::ConstPtr(&Type::PrimSigned(8)), "char const*") => {}
(&Type::ConstPtr(&Type::PrimUnsigned(16)), "unsigned short const*") => {}
(&Type::ConstPtr(&Type::PrimUnsigned(32)), "unsigned int const*") => {}
@ -738,6 +746,8 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
(&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") => {}