Avx512f avx512vl (#1010)

This commit is contained in:
minybot 2021-02-22 20:33:16 -05:00 committed by GitHub
parent f32f7cb899
commit 124b28d679
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 5632 additions and 947 deletions

View file

@ -1,34 +1,34 @@
<summary>["AVX512BW"]</summary><p>
* [x] [`_mm512_loadu_epi16`]
* [_] [`_mm512_mask_loadu_epi16`]
* [_] [`_mm512_maskz_loadu_epi16`]
* [_] [`_mm512_mask_loadu_epi16`] //need i1
* [_] [`_mm512_maskz_loadu_epi16`] //need i1
* [x] [`_mm_loadu_epi16`]
* [_] [`_mm_mask_loadu_epi16`]
* [_] [`_mm_maskz_loadu_epi16`]
* [_] [`_mm_mask_loadu_epi16`] //need i1
* [_] [`_mm_maskz_loadu_epi16`] //need i1
* [x] [`_mm256_loadu_epi16`]
* [_] [`_mm256_mask_loadu_epi16`]
* [_] [`_mm256_maskz_loadu_epi16`]
* [_] [`_mm256_mask_loadu_epi16`] //need i1
* [_] [`_mm256_maskz_loadu_epi16`] //need i1
* [x] [`_mm512_loadu_epi8`]
* [_] [`_mm512_mask_loadu_epi8`]
* [_] [`_mm512_maskz_loadu_epi8`]
* [_] [`_mm512_mask_loadu_epi8`] //need i1
* [_] [`_mm512_maskz_loadu_epi8`] //need i1
* [x] [`_mm_loadu_epi8`]
* [_] [`_mm_mask_loadu_epi8`]
* [_] [`_mm_maskz_loadu_epi8`]
* [_] [`_mm_mask_loadu_epi8`] //need i1
* [_] [`_mm_maskz_loadu_epi8`] //need i1
* [x] [`_mm256_loadu_epi8`]
* [_] [`_mm256_mask_loadu_epi8`]
* [_] [`_mm256_maskz_loadu_epi8`]
* [_] [`_mm256_mask_loadu_epi8`] //need i1
* [_] [`_mm256_maskz_loadu_epi8`] //need i1
* [_] [`_mm512_mask_storeu_epi16`]
* [x] [`_mm512_storeu_epi16`]
* [_] [`_mm_mask_storeu_epi16`]
* [_] [`_mm_mask_storeu_epi16`] //need i1
* [x] [`_mm_storeu_epi16`]
* [_] [`_mm256_mask_storeu_epi16`]
* [_] [`_mm256_mask_storeu_epi16`] //need i1
* [x] [`_mm256_storeu_epi16`]
* [_] [`_mm512_mask_storeu_epi8`]
* [_] [`_mm512_mask_storeu_epi8`] //need i1
* [x] [`_mm512_storeu_epi8`]
* [_] [`_mm_mask_storeu_epi8`]
* [_] [`_mm_mask_storeu_epi8`] //need i1
* [x] [`_mm_storeu_epi8`]
* [_] [`_mm256_mask_storeu_epi8`]
* [_] [`_mm256_mask_storeu_epi8`] //need i1
* [x] [`_mm256_storeu_epi8`]
* [x] [`_mm512_abs_epi16`]
* [x] [`_mm512_mask_abs_epi16`]

View file

@ -1,5 +1,5 @@
<summary>["AVX512F"]</summary><p>
* [x] [`_mm512_abs_epi32`]
* [x] [`_mm512_mask_abs_epi32`]
* [x] [`_mm512_maskz_abs_epi32`]
@ -2025,165 +2025,314 @@
* [x] [`_mm_maskz_cvtepi8_epi32`]
* [x] [`_mm256_mask_cvtepi8_epi32`]
* [x] [`_mm256_maskz_cvtepi8_epi32`]
* [x] [`_mm512_mask_cvtsepi64_epi32`]
* [x] [`_mm512_mask_cvtsepi64_epi8`]
* [ ] [`_mm512_mask_cvtsepi64_storeu_epi16`]
* [ ] [`_mm512_mask_cvtsepi64_storeu_epi32`]
* [ ] [`_mm512_mask_cvtsepi64_storeu_epi8`]
* [x] [`_mm512_cvt_roundepi32_ps`]
* [x] [`_mm512_cvt_roundepu32_ps`]
* [x] [`_mm512_cvt_roundpd_epi32`]
* [x] [`_mm512_cvt_roundpd_epu32`]
* [x] [`_mm512_cvt_roundpd_ps`]
* [x] [`_mm512_cvt_roundph_ps`]
* [x] [`_mm512_cvt_roundps_epi32`]
* [x] [`_mm512_cvt_roundps_epu32`]
* [x] [`_mm512_cvt_roundps_pd`]
* [x] [`_mm512_mask_cvtsepi64_epi16`]
* [x] [`_mm512_cvtepi8_epi64`]
* [x] [`_mm512_cvtepu16_epi32`]
* [x] [`_mm512_cvtepu16_epi64`]
* [x] [`_mm512_cvtepu32_epi64`]
* [x] [`_mm512_cvtepu32_pd`]
* [x] [`_mm512_cvtepu32_ps`]
* [x] [`_mm512_cvtepu32lo_pd`]
* [x] [`_mm512_cvtepu8_epi32`]
* [x] [`_mm512_cvtepu8_epi64`]
* [x] [`_mm512_cvtpd_epi32`]
* [x] [`_mm512_cvtpd_epu32`]
* [x] [`_mm512_cvtpd_ps`]
* [x] [`_mm512_cvtpd_pslo`]
* [x] [`_mm512_cvtph_ps`]
* [x] [`_mm512_cvtps_epi32`]
* [x] [`_mm512_cvtps_epu32`]
* [x] [`_mm512_cvtps_pd`]
* [x] [`_mm512_cvtps_ph`]
* [x] [`_mm512_cvtpslo_pd`]
* [x] [`_mm512_cvtsepi32_epi16`]
* [x] [`_mm512_cvtsepi32_epi8`]
* [x] [`_mm512_cvtsepi64_epi16`]
* [x] [`_mm512_cvtsepi64_epi32`]
* [x] [`_mm512_cvtsepi64_epi8`]
* [x] [`_mm512_cvtt_roundpd_epi32`]
* [x] [`_mm512_cvtt_roundpd_epu32`]
* [x] [`_mm512_cvtt_roundps_epi32`]
* [x] [`_mm512_cvtt_roundps_epu32`]
* [x] [`_mm512_cvttpd_epi32`]
* [x] [`_mm512_cvttpd_epu32`]
* [x] [`_mm512_cvttps_epi32`]
* [x] [`_mm512_cvttps_epu32`]
* [x] [`_mm512_cvtusepi32_epi16`]
* [x] [`_mm512_cvtusepi32_epi8`]
* [x] [`_mm512_cvtusepi64_epi16`]
* [x] [`_mm512_cvtusepi64_epi32`]
* [x] [`_mm512_cvtusepi64_epi8`]
* [x] [`_mm512_int2mask`]
* [x] [`_mm512_kand`]
* [x] [`_mm512_kandn`]
* [x] [`_mm512_kmov`]
* [x] [`_mm512_knot`]
* [x] [`_mm512_kor`]
* [x] [`_mm512_kortestc`]
* [ ] [`_mm512_kortestz`]
* [x] [`_mm512_kunpackb`]
* [x] [`_mm512_kxnor`]
* [x] [`_mm512_kxor`]
* [x] [`_mm512_mask2int`]
* [x] [`_mm512_mask_cvt_roundepi32_ps`]
* [x] [`_mm512_mask_cvt_roundepu32_ps`]
* [x] [`_mm512_mask_cvt_roundpd_epi32`]
* [x] [`_mm512_mask_cvt_roundpd_epu32`]
* [x] [`_mm512_mask_cvt_roundpd_ps`]
* [x] [`_mm512_mask_cvt_roundph_ps`]
* [x] [`_mm512_mask_cvt_roundps_epi32`]
* [x] [`_mm512_mask_cvt_roundps_epu32`]
* [x] [`_mm512_mask_cvt_roundps_pd`]
* [x] [`_mm512_mask_cvtepi8_epi64`]
* [x] [`_mm512_mask_cvtepu16_epi32`]
* [x] [`_mm512_mask_cvtepu16_epi64`]
* [x] [`_mm512_mask_cvtepu32_epi64`]
* [x] [`_mm512_mask_cvtepu32_pd`]
* [x] [`_mm512_mask_cvtepu32_ps`]
* [x] [`_mm512_mask_cvtepu32lo_pd`]
* [x] [`_mm512_mask_cvtepu8_epi32`]
* [x] [`_mm512_mask_cvtepu8_epi64`]
* [x] [`_mm512_mask_cvtpd_epi32`]
* [x] [`_mm512_mask_cvtpd_epu32`]
* [x] [`_mm512_mask_cvtpd_ps`]
* [x] [`_mm512_mask_cvtpd_pslo`]
* [x] [`_mm512_mask_cvtph_ps`]
* [x] [`_mm512_mask_cvtps_epi32`]
* [x] [`_mm512_mask_cvtps_epu32`]
* [x] [`_mm512_mask_cvtps_pd`]
* [x] [`_mm512_mask_cvtps_ph`]
* [x] [`_mm512_mask_cvtpslo_pd`]
* [x] [`_mm512_mask_cvtsepi32_epi16`]
* [x] [`_mm512_mask_cvtsepi32_epi8`]
* [ ] [`_mm512_mask_cvtsepi32_storeu_epi16`]
* [ ] [`_mm512_mask_cvtsepi32_storeu_epi8`]
* [x] [`_mm512_mask_cvtt_roundpd_epi32`]
* [x] [`_mm512_mask_cvtt_roundpd_epu32`]
* [x] [`_mm512_mask_cvtt_roundps_epi32`]
* [x] [`_mm512_mask_cvtt_roundps_epu32`]
* [x] [`_mm512_mask_cvttpd_epi32`]
* [x] [`_mm512_mask_cvttpd_epu32`]
* [x] [`_mm512_mask_cvttps_epi32`]
* [x] [`_mm512_mask_cvttps_epu32`]
* [x] [`_mm512_mask_cvtusepi32_epi16`]
* [x] [`_mm512_mask_cvtusepi32_epi8`]
* [ ] [`_mm512_mask_cvtusepi32_storeu_epi16`]
* [ ] [`_mm512_mask_cvtusepi32_storeu_epi8`]
* [x] [`_mm512_mask_cvtusepi64_epi16`]
* [x] [`_mm512_mask_cvtusepi64_epi32`]
* [x] [`_mm512_mask_cvtusepi64_epi8`]
* [ ] [`_mm512_mask_cvtusepi64_storeu_epi16`]
* [ ] [`_mm512_mask_cvtusepi64_storeu_epi32`]
* [ ] [`_mm512_mask_cvtusepi64_storeu_epi8`]
* [x] [`_mm512_maskz_cvt_roundepi32_ps`]
* [x] [`_mm512_maskz_cvt_roundepu32_ps`]
* [x] [`_mm512_maskz_cvt_roundpd_epi32`]
* [x] [`_mm512_maskz_cvt_roundpd_epu32`]
* [x] [`_mm512_maskz_cvt_roundpd_ps`]
* [x] [`_mm512_maskz_cvt_roundph_ps`]
* [x] [`_mm512_maskz_cvt_roundps_epi32`]
* [x] [`_mm512_maskz_cvt_roundps_epu32`]
* [x] [`_mm512_maskz_cvt_roundps_pd`]
* [x] [`_mm512_maskz_cvtepi8_epi64`]
* [x] [`_mm_mask_cvtepi8_epi64`]
* [x] [`_mm_maskz_cvtepi8_epi64`]
* [x] [`_mm256_mask_cvtepi8_epi64`]
* [x] [`_mm256_maskz_cvtepi8_epi64`]
* [x] [`_mm512_cvtepu16_epi32`]
* [x] [`_mm512_mask_cvtepu16_epi32`]
* [x] [`_mm512_maskz_cvtepu16_epi32`]
* [x] [`_mm_mask_cvtepu16_epi32`]
* [x] [`_mm_maskz_cvtepu16_epi32`]
* [x] [`_mm256_mask_cvtepu16_epi32`]
* [x] [`_mm256_maskz_cvtepu16_epi32`]
* [x] [`_mm512_cvtepu16_epi64`]
* [x] [`_mm512_mask_cvtepu16_epi64`]
* [x] [`_mm512_maskz_cvtepu16_epi64`]
* [x] [`_mm_mask_cvtepu16_epi64`]
* [x] [`_mm_maskz_cvtepu16_epi64`]
* [x] [`_mm256_mask_cvtepu16_epi64`]
* [x] [`_mm256_maskz_cvtepu16_epi64`]
* [x] [`_mm512_cvtepu32_epi64`]
* [x] [`_mm512_mask_cvtepu32_epi64`]
* [x] [`_mm512_maskz_cvtepu32_epi64`]
* [x] [`_mm512_maskz_cvtepu32_pd`]
* [x] [`_mm_mask_cvtepu32_epi64`]
* [x] [`_mm_maskz_cvtepu32_epi64`]
* [x] [`_mm256_mask_cvtepu32_epi64`]
* [x] [`_mm256_maskz_cvtepu32_epi64`]
* [x] [`_mm512_cvtepu32_ps`]
* [x] [`_mm512_mask_cvtepu32_ps`]
* [x] [`_mm512_maskz_cvtepu32_ps`]
* [x] [`_mm512_cvtepu32_pd`]
* [x] [`_mm512_mask_cvtepu32_pd`]
* [x] [`_mm512_maskz_cvtepu32_pd`]
* [x] [`_mm_cvtepu32_pd`]
* [x] [`_mm_mask_cvtepu32_pd`]
* [x] [`_mm_maskz_cvtepu32_pd`]
* [x] [`_mm256_cvtepu32_pd`]
* [x] [`_mm256_mask_cvtepu32_pd`]
* [x] [`_mm256_maskz_cvtepu32_pd`]
* [x] [`_mm512_cvtepu32lo_pd`]
* [x] [`_mm512_mask_cvtepu32lo_pd`]
* [x] [`_mm512_cvtepu8_epi32`]
* [x] [`_mm512_mask_cvtepu8_epi32`]
* [x] [`_mm512_maskz_cvtepu8_epi32`]
* [x] [`_mm_mask_cvtepu8_epi32`]
* [x] [`_mm_maskz_cvtepu8_epi32`]
* [x] [`_mm256_mask_cvtepu8_epi32`]
* [x] [`_mm256_maskz_cvtepu8_epi32`]
* [x] [`_mm512_cvtepu8_epi64`]
* [x] [`_mm512_mask_cvtepu8_epi64`]
* [x] [`_mm512_maskz_cvtepu8_epi64`]
* [x] [`_mm_mask_cvtepu8_epi64`]
* [x] [`_mm_maskz_cvtepu8_epi64`]
* [x] [`_mm256_mask_cvtepu8_epi64`]
* [x] [`_mm256_maskz_cvtepu8_epi64`]
* [x] [`_mm512_cvtpd_epi32`]
* [x] [`_mm512_mask_cvtpd_epi32`]
* [x] [`_mm512_maskz_cvtpd_epi32`]
* [x] [`_mm_mask_cvtpd_epi32`]
* [x] [`_mm_maskz_cvtpd_epi32`]
* [x] [`_mm256_mask_cvtpd_epi32`]
* [x] [`_mm256_maskz_cvtpd_epi32`]
* [x] [`_mm512_cvtpd_epu32`]
* [x] [`_mm512_mask_cvtpd_epu32`]
* [x] [`_mm512_maskz_cvtpd_epu32`]
* [x] [`_mm_cvtpd_epu32`]
* [x] [`_mm_mask_cvtpd_epu32`]
* [x] [`_mm_maskz_cvtpd_epu32`]
* [x] [`_mm256_cvtpd_epu32`]
* [x] [`_mm256_mask_cvtpd_epu32`]
* [x] [`_mm256_maskz_cvtpd_epu32`]
* [x] [`_mm512_cvtpd_ps`]
* [x] [`_mm512_mask_cvtpd_ps`]
* [x] [`_mm512_maskz_cvtpd_ps`]
* [x] [`_mm_mask_cvtpd_ps`]
* [x] [`_mm_maskz_cvtpd_ps`]
* [x] [`_mm256_mask_cvtpd_ps`]
* [x] [`_mm256_maskz_cvtpd_ps`]
* [x] [`_mm512_cvtpd_pslo`]
* [x] [`_mm512_mask_cvtpd_pslo`]
* [x] [`_mm512_cvtph_ps`]
* [x] [`_mm512_mask_cvtph_ps`]
* [x] [`_mm512_maskz_cvtph_ps`]
* [x] [`_mm_mask_cvtph_ps`]
* [x] [`_mm_maskz_cvtph_ps`]
* [x] [`_mm256_mask_cvtph_ps`]
* [x] [`_mm256_maskz_cvtph_ps`]
* [x] [`_mm512_cvtps_epi32`]
* [x] [`_mm512_mask_cvtps_epi32`]
* [x] [`_mm512_maskz_cvtps_epi32`]
* [x] [`_mm_mask_cvtps_epi32`]
* [x] [`_mm_maskz_cvtps_epi32`]
* [x] [`_mm256_mask_cvtps_epi32`]
* [x] [`_mm256_maskz_cvtps_epi32`]
* [x] [`_mm512_cvtps_epu32`]
* [x] [`_mm512_mask_cvtps_epu32`]
* [x] [`_mm512_maskz_cvtps_epu32`]
* [x] [`_mm_cvtps_epu32`]
* [x] [`_mm_mask_cvtps_epu32`]
* [x] [`_mm_maskz_cvtps_epu32`]
* [x] [`_mm256_cvtps_epu32`]
* [x] [`_mm256_mask_cvtps_epu32`]
* [x] [`_mm256_maskz_cvtps_epu32`]
* [x] [`_mm512_cvtps_pd`]
* [x] [`_mm512_mask_cvtps_pd`]
* [x] [`_mm512_maskz_cvtps_pd`]
* [x] [`_mm512_cvtps_ph`]
* [x] [`_mm512_mask_cvtps_ph`]
* [x] [`_mm512_maskz_cvtps_ph`]
* [x] [`_mm_mask_cvtps_ph`]
* [x] [`_mm_maskz_cvtps_ph`]
* [x] [`_mm256_mask_cvtps_ph`]
* [x] [`_mm256_maskz_cvtps_ph`]
* [x] [`_mm512_cvtpslo_pd`]
* [x] [`_mm512_mask_cvtpslo_pd`]
* [x] [`_mm512_cvtsepi32_epi16`]
* [x] [`_mm512_mask_cvtsepi32_epi16`]
* [x] [`_mm512_maskz_cvtsepi32_epi16`]
* [x] [`_mm_cvtsepi32_epi16`]
* [x] [`_mm_mask_cvtsepi32_epi16`]
* [x] [`_mm_maskz_cvtsepi32_epi16`]
* [x] [`_mm256_cvtsepi32_epi16`]
* [x] [`_mm256_mask_cvtsepi32_epi16`]
* [x] [`_mm256_maskz_cvtsepi32_epi16`]
* [x] [`_mm512_cvtsepi32_epi8`]
* [x] [`_mm512_mask_cvtsepi32_epi8`]
* [x] [`_mm512_maskz_cvtsepi32_epi8`]
* [x] [`_mm_cvtsepi32_epi8`]
* [x] [`_mm_mask_cvtsepi32_epi8`]
* [x] [`_mm_maskz_cvtsepi32_epi8`]
* [x] [`_mm256_cvtsepi32_epi8`]
* [x] [`_mm256_mask_cvtsepi32_epi8`]
* [x] [`_mm256_maskz_cvtsepi32_epi8`]
* [x] [`_mm512_mask_cvtsepi32_storeu_epi16`]
* [x] [`_mm_mask_cvtsepi32_storeu_epi16`]
* [x] [`_mm256_mask_cvtsepi32_storeu_epi16`]
* [x] [`_mm512_mask_cvtsepi32_storeu_epi8`]
* [x] [`_mm_mask_cvtsepi32_storeu_epi8`]
* [x] [`_mm256_mask_cvtsepi32_storeu_epi8`]
* [x] [`_mm512_cvtsepi64_epi16`]
* [x] [`_mm512_mask_cvtsepi64_epi16`]
* [x] [`_mm512_maskz_cvtsepi64_epi16`]
* [x] [`_mm_cvtsepi64_epi16`]
* [x] [`_mm_mask_cvtsepi64_epi16`]
* [x] [`_mm_maskz_cvtsepi64_epi16`]
* [x] [`_mm256_cvtsepi64_epi16`]
* [x] [`_mm256_mask_cvtsepi64_epi16`]
* [x] [`_mm256_maskz_cvtsepi64_epi16`]
* [x] [`_mm512_cvtsepi64_epi32`]
* [x] [`_mm512_mask_cvtsepi64_epi32`]
* [x] [`_mm512_maskz_cvtsepi64_epi32`]
* [x] [`_mm_cvtsepi64_epi32`]
* [x] [`_mm_mask_cvtsepi64_epi32`]
* [x] [`_mm_maskz_cvtsepi64_epi32`]
* [x] [`_mm256_cvtsepi64_epi32`]
* [x] [`_mm256_mask_cvtsepi64_epi32`]
* [x] [`_mm256_maskz_cvtsepi64_epi32`]
* [x] [`_mm512_cvtsepi64_epi8`]
* [x] [`_mm512_mask_cvtsepi64_epi8`]
* [x] [`_mm512_maskz_cvtsepi64_epi8`]
* [x] [`_mm512_maskz_cvtt_roundpd_epi32`]
* [x] [`_mm512_maskz_cvtt_roundpd_epu32`]
* [x] [`_mm512_maskz_cvtt_roundps_epi32`]
* [x] [`_mm512_maskz_cvtt_roundps_epu32`]
* [x] [`_mm512_maskz_cvttpd_epi32`]
* [x] [`_mm512_maskz_cvttpd_epu32`]
* [x] [`_mm512_maskz_cvttps_epi32`]
* [x] [`_mm512_maskz_cvttps_epu32`]
* [x] [`_mm_cvtsepi64_epi8`]
* [x] [`_mm_mask_cvtsepi64_epi8`]
* [x] [`_mm_maskz_cvtsepi64_epi8`]
* [x] [`_mm256_cvtsepi64_epi8`]
* [x] [`_mm256_mask_cvtsepi64_epi8`]
* [x] [`_mm256_maskz_cvtsepi64_epi8`]
* [x] [`_mm512_mask_cvtsepi64_storeu_epi16`]
* [x] [`_mm_mask_cvtsepi64_storeu_epi16`]
* [x] [`_mm256_mask_cvtsepi64_storeu_epi16`]
* [x] [`_mm512_mask_cvtsepi64_storeu_epi32`]
* [x] [`_mm_mask_cvtsepi64_storeu_epi32`]
* [x] [`_mm256_mask_cvtsepi64_storeu_epi32`]
* [x] [`_mm512_mask_cvtsepi64_storeu_epi8`]
* [x] [`_mm_mask_cvtsepi64_storeu_epi8`]
* [x] [`_mm256_mask_cvtsepi64_storeu_epi8`]
* [x] [`_mm512_cvtusepi32_epi16`]
* [x] [`_mm512_mask_cvtusepi32_epi16`]
* [x] [`_mm512_maskz_cvtusepi32_epi16`]
* [x] [`_mm_cvtusepi32_epi16`]
* [x] [`_mm_mask_cvtusepi32_epi16`]
* [x] [`_mm_maskz_cvtusepi32_epi16`]
* [x] [`_mm256_cvtusepi32_epi16`]
* [x] [`_mm256_mask_cvtusepi32_epi16`]
* [x] [`_mm256_maskz_cvtusepi32_epi16`]
* [x] [`_mm512_cvtusepi32_epi8`]
* [x] [`_mm512_mask_cvtusepi32_epi8`]
* [x] [`_mm512_maskz_cvtusepi32_epi8`]
* [x] [`_mm_cvtusepi32_epi8`]
* [x] [`_mm_mask_cvtusepi32_epi8`]
* [x] [`_mm_maskz_cvtusepi32_epi8`]
* [x] [`_mm256_cvtusepi32_epi8`]
* [x] [`_mm256_mask_cvtusepi32_epi8`]
* [x] [`_mm256_maskz_cvtusepi32_epi8`]
* [x] [`_mm512_mask_cvtusepi32_storeu_epi16`]
* [x] [`_mm_mask_cvtusepi32_storeu_epi16`]
* [x] [`_mm256_mask_cvtusepi32_storeu_epi16`]
* [x] [`_mm512_mask_cvtusepi32_storeu_epi8`]
* [x] [`_mm_mask_cvtusepi32_storeu_epi8`]
* [x] [`_mm256_mask_cvtusepi32_storeu_epi8`]
* [x] [`_mm512_cvtusepi64_epi16`]
* [x] [`_mm512_mask_cvtusepi64_epi16`]
* [x] [`_mm512_maskz_cvtusepi64_epi16`]
* [x] [`_mm_cvtusepi64_epi16`]
* [x] [`_mm_mask_cvtusepi64_epi16`]
* [x] [`_mm_maskz_cvtusepi64_epi16`]
* [x] [`_mm256_cvtusepi64_epi16`]
* [x] [`_mm256_mask_cvtusepi64_epi16`]
* [x] [`_mm256_maskz_cvtusepi64_epi16`]
* [x] [`_mm512_cvtusepi64_epi32`]
* [x] [`_mm512_mask_cvtusepi64_epi32`]
* [x] [`_mm512_maskz_cvtusepi64_epi32`]
* [x] [`_mm_cvtusepi64_epi32`]
* [x] [`_mm_mask_cvtusepi64_epi32`]
* [x] [`_mm_maskz_cvtusepi64_epi32`]
* [x] [`_mm256_cvtusepi64_epi32`]
* [x] [`_mm256_mask_cvtusepi64_epi32`]
* [x] [`_mm256_maskz_cvtusepi64_epi32`]
* [x] [`_mm512_cvtusepi64_epi8`]
* [x] [`_mm512_mask_cvtusepi64_epi8`]
* [x] [`_mm512_maskz_cvtusepi64_epi8`]
* [x] [`_mm_cvtusepi64_epi8`]
* [x] [`_mm_mask_cvtusepi64_epi8`]
* [x] [`_mm_maskz_cvtusepi64_epi8`]
* [x] [`_mm256_cvtusepi64_epi8`]
* [x] [`_mm256_mask_cvtusepi64_epi8`]
* [x] [`_mm256_maskz_cvtusepi64_epi8`]
* [x] [`_mm512_mask_cvtusepi64_storeu_epi16`]
* [x] [`_mm_mask_cvtusepi64_storeu_epi16`]
* [x] [`_mm256_mask_cvtusepi64_storeu_epi16`]
* [x] [`_mm512_mask_cvtusepi64_storeu_epi32`]
* [x] [`_mm_mask_cvtusepi64_storeu_epi32`]
* [x] [`_mm256_mask_cvtusepi64_storeu_epi32`]
* [x] [`_mm512_mask_cvtusepi64_storeu_epi8`]
* [x] [`_mm_mask_cvtusepi64_storeu_epi8`]
* [x] [`_mm256_mask_cvtusepi64_storeu_epi8`]
* [x] [`_mm512_cvtsi512_si32`]
* [x] [`_mm512_cvttpd_epi32`]
* [x] [`_mm512_mask_cvttpd_epi32`]
* [x] [`_mm512_maskz_cvttpd_epi32`]
* [x] [`_mm_mask_cvttpd_epi32`]
* [x] [`_mm_maskz_cvttpd_epi32`]
* [x] [`_mm256_mask_cvttpd_epi32`]
* [x] [`_mm256_maskz_cvttpd_epi32`]
* [x] [`_mm512_cvttpd_epu32`]
* [x] [`_mm512_mask_cvttpd_epu32`]
* [x] [`_mm512_maskz_cvttpd_epu32`]
* [x] [`_mm_cvttpd_epu32`]
* [x] [`_mm_mask_cvttpd_epu32`]
* [x] [`_mm_maskz_cvttpd_epu32`]
* [x] [`_mm256_cvttpd_epu32`]
* [x] [`_mm256_mask_cvttpd_epu32`]
* [x] [`_mm256_maskz_cvttpd_epu32`]
* [x] [`_mm512_cvttps_epi32`]
* [x] [`_mm512_mask_cvttps_epi32`]
* [x] [`_mm512_maskz_cvttps_epi32`]
* [x] [`_mm_mask_cvttps_epi32`]
* [x] [`_mm_maskz_cvttps_epi32`]
* [x] [`_mm256_mask_cvttps_epi32`]
* [x] [`_mm256_maskz_cvttps_epi32`]
* [x] [`_mm512_cvttps_epu32`]
* [x] [`_mm512_mask_cvttps_epu32`]
* [x] [`_mm512_maskz_cvttps_epu32`]
* [x] [`_mm_cvttps_epu32`]
* [x] [`_mm_mask_cvttps_epu32`]
* [x] [`_mm_maskz_cvttps_epu32`]
* [x] [`_mm256_cvttps_epu32`]
* [x] [`_mm256_mask_cvttps_epu32`]
* [x] [`_mm256_maskz_cvttps_epu32`]
* [x] [`_mm512_cvt_roundepi32_ps`]
* [x] [`_mm512_mask_cvt_roundepi32_ps`]
* [x] [`_mm512_maskz_cvt_roundepi32_ps`]
* [x] [`_mm512_cvt_roundepu32_ps`]
* [x] [`_mm512_mask_cvt_roundepu32_ps`]
* [x] [`_mm512_maskz_cvt_roundepu32_ps`]
* [x] [`_mm512_cvt_roundpd_epi32`]
* [x] [`_mm512_mask_cvt_roundpd_epi32`]
* [x] [`_mm512_maskz_cvt_roundpd_epi32`]
* [x] [`_mm512_cvt_roundpd_epu32`]
* [x] [`_mm512_mask_cvt_roundpd_epu32`]
* [x] [`_mm512_maskz_cvt_roundpd_epu32`]
* [x] [`_mm512_cvt_roundpd_ps`]
* [x] [`_mm512_mask_cvt_roundpd_ps`]
* [x] [`_mm512_maskz_cvt_roundpd_ps`]
* [x] [`_mm512_cvt_roundph_ps`]
* [x] [`_mm512_mask_cvt_roundph_ps`]
* [x] [`_mm512_maskz_cvt_roundph_ps`]
* [x] [`_mm512_cvt_roundps_epi32`]
* [x] [`_mm512_mask_cvt_roundps_epi32`]
* [x] [`_mm512_maskz_cvt_roundps_epi32`]
* [x] [`_mm512_cvt_roundps_epu32`]
* [x] [`_mm512_mask_cvt_roundps_epu32`]
* [x] [`_mm512_maskz_cvt_roundps_epu32`]
* [x] [`_mm512_cvt_roundps_pd`]
* [x] [`_mm512_mask_cvt_roundps_pd`]
* [x] [`_mm512_maskz_cvt_roundps_pd`]
* [x] [`_mm512_cvtt_roundpd_epi32`]
* [x] [`_mm512_mask_cvtt_roundpd_epi32`]
* [x] [`_mm512_maskz_cvtt_roundpd_epi32`]
* [x] [`_mm512_cvtt_roundpd_epu32`]
* [x] [`_mm512_mask_cvtt_roundpd_epu32`]
* [x] [`_mm512_maskz_cvtt_roundpd_epu32`]
* [x] [`_mm512_cvtt_roundps_epi32`]
* [x] [`_mm512_mask_cvtt_roundps_epi32`]
* [x] [`_mm512_maskz_cvtt_roundps_epi32`]
* [x] [`_mm512_cvtt_roundps_epu32`]
* [x] [`_mm512_mask_cvtt_roundps_epu32`]
* [x] [`_mm512_maskz_cvtt_roundps_epu32`]
* [x] [`_mm_add_round_sd`]
* [x] [`_mm_add_round_ss`]
* [x] [`_mm_cmp_round_sd_mask`]
@ -2193,60 +2342,60 @@
* [x] [`_mm_comi_round_sd`]
* [x] [`_mm_comi_round_ss`]
* [x] [`_mm_cvt_roundi32_ss`]
* [ ] [`_mm_cvt_roundi64_sd`]
* [ ] [`_mm_cvt_roundi64_ss`]
* [x] [`_mm_cvt_roundi64_sd`]
* [x] [`_mm_cvt_roundi64_ss`]
* [x] [`_mm_cvt_roundsd_i32`]
* [ ] [`_mm_cvt_roundsd_i64`]
* [x] [`_mm_cvt_roundsd_i64`]
* [x] [`_mm_cvt_roundsd_si32`]
* [ ] [`_mm_cvt_roundsd_si64`]
* [x] [`_mm_cvt_roundsd_si64`]
* [x] [`_mm_cvt_roundsd_ss`]
* [x] [`_mm_cvt_roundsd_u32`]
* [ ] [`_mm_cvt_roundsd_u64`]
* [x] [`_mm_cvt_roundsd_u64`]
* [x] [`_mm_cvt_roundsi32_ss`]
* [ ] [`_mm_cvt_roundsi64_sd`]
* [ ] [`_mm_cvt_roundsi64_ss`]
* [x] [`_mm_cvt_roundsi64_sd`]
* [x] [`_mm_cvt_roundsi64_ss`]
* [x] [`_mm_cvt_roundss_i32`]
* [ ] [`_mm_cvt_roundss_i64`]
* [x] [`_mm_cvt_roundss_i64`]
* [x] [`_mm_cvt_roundss_sd`]
* [x] [`_mm_cvt_roundss_si32`]
* [ ] [`_mm_cvt_roundss_si64`]
* [x] [`_mm_cvt_roundss_si64`]
* [x] [`_mm_cvt_roundss_u32`]
* [ ] [`_mm_cvt_roundss_u64`]
* [x] [`_mm_cvt_roundss_u64`]
* [x] [`_mm_cvt_roundu32_ss`]
* [ ] [`_mm_cvt_roundu64_sd`]
* [ ] [`_mm_cvt_roundu64_ss`]
* [x] [`_mm_cvt_roundu64_sd`]
* [x] [`_mm_cvt_roundu64_ss`]
* [x] [`_mm_cvti32_sd`]
* [x] [`_mm_cvti32_ss`]
* [ ] [`_mm_cvti64_sd`]
* [ ] [`_mm_cvti64_ss`]
* [x] [`_mm_cvti64_sd`]
* [x] [`_mm_cvti64_ss`]
* [x] [`_mm_cvtsd_i32`]
* [ ] [`_mm_cvtsd_i64`]
* [x] [`_mm_cvtsd_i64`]
* [x] [`_mm_cvtsd_u32`]
* [ ] [`_mm_cvtsd_u64`]
* [x] [`_mm_cvtsd_u64`]
* [x] [`_mm_cvtss_i32`]
* [ ] [`_mm_cvtss_i64`]
* [x] [`_mm_cvtss_i64`]
* [x] [`_mm_cvtss_u32`]
* [ ] [`_mm_cvtss_u64`]
* [x] [`_mm_cvtss_u64`]
* [x] [`_mm_cvtt_roundsd_i32`]
* [x] [`_mm_cvtt_roundsd_i64`]
* [x] [`_mm_cvtt_roundsd_si32`]
* [ ] [`_mm_cvtt_roundsd_si64`]
* [x] [`_mm_cvtt_roundsd_si64`]
* [x] [`_mm_cvtt_roundsd_u32`]
* [ ] [`_mm_cvtt_roundsd_u64`]
* [x] [`_mm_cvtt_roundsd_u64`]
* [x] [`_mm_cvtt_roundss_i32`]
* [ ] [`_mm_cvtt_roundss_i64`]
* [x] [`_mm_cvtt_roundss_i64`]
* [x] [`_mm_cvtt_roundss_si32`]
* [ ] [`_mm_cvtt_roundss_si64`]
* [x] [`_mm_cvtt_roundss_si64`]
* [x] [`_mm_cvtt_roundss_u32`]
* [ ] [`_mm_cvtt_roundss_u64`]
* [x] [`_mm_cvtt_roundss_u64`]
* [x] [`_mm_cvttsd_i32`]
* [ ] [`_mm_cvttsd_i64`]
* [x] [`_mm_cvttsd_i64`]
* [x] [`_mm_cvttsd_u32`]
* [ ] [`_mm_cvttsd_u64`]
* [x] [`_mm_cvttsd_u64`]
* [x] [`_mm_cvttss_i32`]
* [ ] [`_mm_cvttss_i64`]
* [x] [`_mm_cvttss_i64`]
* [x] [`_mm_cvttss_u32`]
* [ ] [`_mm_cvttss_u64`]
* [x] [`_mm_cvttss_u64`]
* [x] [`_mm_cvtu32_sd`]
* [x] [`_mm_cvtu32_ss`]
* [x] [`_mm_cvtu64_sd`]
@ -2333,8 +2482,8 @@
* [x] [`_mm_mask_getmant_round_ss`]
* [x] [`_mm_mask_getmant_sd`]
* [x] [`_mm_mask_getmant_ss`]
* [ ] [`_mm_mask_load_sd`]
* [ ] [`_mm_mask_load_ss`]
* [ ] [`_mm_mask_load_sd`] //need i1
* [ ] [`_mm_mask_load_ss`] //need i1
* [x] [`_mm_mask_max_round_sd`]
* [x] [`_mm_mask_max_round_ss`]
* [x] [`_mm_mask_max_sd`]
@ -2365,8 +2514,8 @@
* [x] [`_mm_mask_sqrt_round_ss`]
* [x] [`_mm_mask_sqrt_sd`]
* [x] [`_mm_mask_sqrt_ss`]
* [ ] [`_mm_mask_store_sd`]
* [ ] [`_mm_mask_store_ss`]
* [ ] [`_mm_mask_store_sd`] //need i1
* [ ] [`_mm_mask_store_ss`] //need i1
* [x] [`_mm_mask_sub_round_sd`]
* [x] [`_mm_mask_sub_round_ss`]
* [x] [`_mm_mask_sub_sd`]
@ -2411,8 +2560,8 @@
* [x] [`_mm_maskz_getmant_round_ss`]
* [x] [`_mm_maskz_getmant_sd`]
* [x] [`_mm_maskz_getmant_ss`]
* [ ] [`_mm_maskz_load_sd`]
* [ ] [`_mm_maskz_load_ss`]
* [ ] [`_mm_maskz_load_sd`] //need i1
* [ ] [`_mm_maskz_load_ss`] //need i1
* [x] [`_mm_maskz_max_round_sd`]
* [x] [`_mm_maskz_max_round_ss`]
* [x] [`_mm_maskz_max_sd`]
@ -2469,4 +2618,16 @@
* [x] [`_mm_sqrt_round_ss`]
* [x] [`_mm_sub_round_sd`]
* [x] [`_mm_sub_round_ss`]
* [x] [`_mm512_int2mask`]
* [x] [`_mm512_kand`]
* [x] [`_mm512_kandn`]
* [x] [`_mm512_kmov`]
* [x] [`_mm512_knot`]
* [x] [`_mm512_kor`]
* [x] [`_mm512_kortestc`]
* [ ] [`_mm512_kortestz`] //not sure
* [x] [`_mm512_kunpackb`]
* [x] [`_mm512_kxnor`]
* [x] [`_mm512_kxor`]
* [x] [`_mm512_mask2int`]
</p>

View file

@ -12,12 +12,12 @@
* [x] [`_mm256_maskz_compress_epi8`]
* [x] [`_mm512_mask_compress_epi8`]
* [x] [`_mm512_maskz_compress_epi8`]
* [_] [`_mm_mask_compressstoreu_epi16`]
* [_] [`_mm256_mask_compressstoreu_epi16`]
* [_] [`_mm512_mask_compressstoreu_epi16`]
* [_] [`_mm_mask_compressstoreu_epi8`]
* [_] [`_mm256_mask_compressstoreu_epi8`]
* [_] [`_mm512_mask_compressstoreu_epi8`]
* [_] [`_mm_mask_compressstoreu_epi16`] //need i1
* [_] [`_mm256_mask_compressstoreu_epi16`] //need i1
* [_] [`_mm512_mask_compressstoreu_epi16`] //need i1
* [_] [`_mm_mask_compressstoreu_epi8`] //need i1
* [_] [`_mm256_mask_compressstoreu_epi8`] //need i1
* [_] [`_mm512_mask_compressstoreu_epi8`] //need i1
* [x] [`_mm_mask_expand_epi16`]
* [x] [`_mm_maskz_expand_epi16`]
* [x] [`_mm256_mask_expand_epi16`]
@ -30,18 +30,18 @@
* [x] [`_mm256_maskz_expand_epi8`]
* [x] [`_mm512_mask_expand_epi8`]
* [x] [`_mm512_maskz_expand_epi8`]
* [_] [`_mm_mask_expandloadu_epi16`]
* [_] [`_mm_maskz_expandloadu_epi16`]
* [_] [`_mm256_mask_expandloadu_epi16`]
* [_] [`_mm256_maskz_expandloadu_epi16`]
* [_] [`_mm512_mask_expandloadu_epi16`]
* [_] [`_mm512_maskz_expandloadu_epi16`]
* [_] [`_mm_mask_expandloadu_epi8`]
* [_] [`_mm_maskz_expandloadu_epi8`]
* [_] [`_mm256_mask_expandloadu_epi8`]
* [_] [`_mm256_maskz_expandloadu_epi8`]
* [_] [`_mm512_mask_expandloadu_epi8`]
* [_] [`_mm512_maskz_expandloadu_epi8`]
* [_] [`_mm_mask_expandloadu_epi16`] //need i1
* [_] [`_mm_maskz_expandloadu_epi16`] //need i1
* [_] [`_mm256_mask_expandloadu_epi16`] //need i1
* [_] [`_mm256_maskz_expandloadu_epi16`] //need i1
* [_] [`_mm512_mask_expandloadu_epi16`] //need i1
* [_] [`_mm512_maskz_expandloadu_epi16`] //need i1
* [_] [`_mm_mask_expandloadu_epi8`] //need i1
* [_] [`_mm_maskz_expandloadu_epi8`] //need i1
* [_] [`_mm256_mask_expandloadu_epi8`] //need i1
* [_] [`_mm256_maskz_expandloadu_epi8`] //need i1
* [_] [`_mm512_mask_expandloadu_epi8`] //need i1
* [_] [`_mm512_maskz_expandloadu_epi8`] //need i1
* [x] [`_mm_mask_shldi_epi16`]
* [x] [`_mm_maskz_shldi_epi16`]
* [x] [`_mm_shldi_epi16`]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
//! Utility macros.
// For round instructions, the only valid values for rounding are 4, 8, 9, 10 and 11.
// This macro enforces that.
#[allow(unused)]
macro_rules! constify_imm4_round {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111 {
4 => $expand!(4),
8 => $expand!(8),
9 => $expand!(9),
10 => $expand!(10),
11 => $expand!(11),
_ => panic!("Invalid round value"),
}
};
}
// For sae instructions, the only valid values for sae are 4 and 8.
// This macro enforces that.
#[allow(unused)]
macro_rules! constify_imm4_sae {
($imm8:expr, $expand:ident) => {
#[allow(overflowing_literals)]
match ($imm8) & 0b1111 {
4 => $expand!(4),
8 => $expand!(8),
_ => panic!("Invalid sae value"),
}
};
}

View file

@ -1,5 +1,8 @@
//! `x86_64` intrinsics
#[macro_use]
mod macros;
mod fxsr;
pub use self::fxsr::*;