Skip to content

Commit

Permalink
avx512vbmi2 (rust-lang#979)
Browse files Browse the repository at this point in the history
  • Loading branch information
minybot authored Jan 11, 2021
1 parent 0000457 commit 3447076
Show file tree
Hide file tree
Showing 6 changed files with 3,639 additions and 5 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
- mips64-unknown-linux-gnuabi64
- mips64el-unknown-linux-gnuabi64
- s390x-unknown-linux-gnu
- wasm32-wasi
#- wasm32-wasi
- i586-unknown-linux-gnu
- x86_64-linux-android
- arm-linux-androideabi
Expand Down Expand Up @@ -130,8 +130,8 @@ jobs:
disable_assert_instr: true
- target: s390x-unknown-linux-gnu
os: ubuntu-latest
- target: wasm32-wasi
os: ubuntu-latest
#- target: wasm32-wasi
# os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-apple-darwin
Expand Down
153 changes: 153 additions & 0 deletions crates/core_arch/avx512vbmi2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
<summary>["AVX512_VBMI2"]</summary><p>

* [x] [`_mm_mask_compress_epi16`]
* [x] [`_mm_maskz_compress_epi16`]
* [x] [`_mm256_mask_compress_epi16`]
* [x] [`_mm256_maskz_compress_epi16`]
* [x] [`_mm512_mask_compress_epi16`]
* [x] [`_mm512_maskz_compress_epi16`]
* [x] [`_mm_mask_compress_epi8`]
* [x] [`_mm_maskz_compress_epi8`]
* [x] [`_mm256_mask_compress_epi8`]
* [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`]
* [x] [`_mm_mask_expand_epi16`]
* [x] [`_mm_maskz_expand_epi16`]
* [x] [`_mm256_mask_expand_epi16`]
* [x] [`_mm256_maskz_expand_epi16`]
* [x] [`_mm512_mask_expand_epi16`]
* [x] [`_mm512_maskz_expand_epi16`]
* [x] [`_mm_mask_expand_epi8`]
* [x] [`_mm_maskz_expand_epi8`]
* [x] [`_mm256_mask_expand_epi8`]
* [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`]
* [x] [`_mm_mask_shldi_epi16`]
* [x] [`_mm_maskz_shldi_epi16`]
* [x] [`_mm_shldi_epi16`]
* [x] [`_mm256_mask_shldi_epi16`]
* [x] [`_mm256_maskz_shldi_epi16`]
* [x] [`_mm256_shldi_epi16`]
* [x] [`_mm512_mask_shldi_epi16`]
* [x] [`_mm512_maskz_shldi_epi16`]
* [x] [`_mm512_shldi_epi16`]
* [x] [`_mm_mask_shldi_epi32`]
* [x] [`_mm_maskz_shldi_epi32`]
* [x] [`_mm_shldi_epi32`]
* [x] [`_mm256_mask_shldi_epi32`]
* [x] [`_mm256_maskz_shldi_epi32`]
* [x] [`_mm256_shldi_epi32`]
* [x] [`_mm512_mask_shldi_epi32`]
* [x] [`_mm512_maskz_shldi_epi32`]
* [x] [`_mm512_shldi_epi32`]
* [x] [`_mm_mask_shldi_epi64`]
* [x] [`_mm_maskz_shldi_epi64`]
* [x] [`_mm_shldi_epi64`]
* [x] [`_mm256_mask_shldi_epi64`]
* [x] [`_mm256_maskz_shldi_epi64`]
* [x] [`_mm256_shldi_epi64`]
* [x] [`_mm512_mask_shldi_epi64`]
* [x] [`_mm512_maskz_shldi_epi64`]
* [x] [`_mm512_shldi_epi64`]
* [x] [`_mm_mask_shldv_epi16`]
* [x] [`_mm_maskz_shldv_epi16`]
* [x] [`_mm_shldv_epi16`]
* [x] [`_mm256_mask_shldv_epi16`]
* [x] [`_mm256_maskz_shldv_epi16`]
* [x] [`_mm256_shldv_epi16`]
* [x] [`_mm512_mask_shldv_epi16`]
* [x] [`_mm512_maskz_shldv_epi16`]
* [x] [`_mm512_shldv_epi16`]
* [x] [`_mm_mask_shldv_epi32`]
* [x] [`_mm_maskz_shldv_epi32`]
* [x] [`_mm_shldv_epi32`]
* [x] [`_mm256_mask_shldv_epi32`]
* [x] [`_mm256_maskz_shldv_epi32`]
* [x] [`_mm256_shldv_epi32`]
* [x] [`_mm512_mask_shldv_epi32`]
* [x] [`_mm512_maskz_shldv_epi32`]
* [x] [`_mm512_shldv_epi32`]
* [x] [`_mm_mask_shldv_epi64`]
* [x] [`_mm_maskz_shldv_epi64`]
* [x] [`_mm_shldv_epi64`]
* [x] [`_mm256_mask_shldv_epi64`]
* [x] [`_mm256_maskz_shldv_epi64`]
* [x] [`_mm256_shldv_epi64`]
* [x] [`_mm512_mask_shldv_epi64`]
* [x] [`_mm512_maskz_shldv_epi64`]
* [x] [`_mm512_shldv_epi64`]
* [x] [`_mm_mask_shrdi_epi16`]
* [x] [`_mm_maskz_shrdi_epi16`]
* [x] [`_mm_shrdi_epi16`]
* [x] [`_mm256_mask_shrdi_epi16`]
* [x] [`_mm256_maskz_shrdi_epi16`]
* [x] [`_mm256_shrdi_epi16`]
* [x] [`_mm512_mask_shrdi_epi16`]
* [x] [`_mm512_maskz_shrdi_epi16`]
* [x] [`_mm512_shrdi_epi16`]
* [x] [`_mm_mask_shrdi_epi32`]
* [x] [`_mm_maskz_shrdi_epi32`]
* [x] [`_mm_shrdi_epi32`]
* [x] [`_mm256_mask_shrdi_epi32`]
* [x] [`_mm256_maskz_shrdi_epi32`]
* [x] [`_mm256_shrdi_epi32`]
* [x] [`_mm512_mask_shrdi_epi32`]
* [x] [`_mm512_maskz_shrdi_epi32`]
* [x] [`_mm512_shrdi_epi32`]
* [x] [`_mm_mask_shrdi_epi64`]
* [x] [`_mm_maskz_shrdi_epi64`]
* [x] [`_mm_shrdi_epi64`]
* [x] [`_mm256_mask_shrdi_epi64`]
* [x] [`_mm256_maskz_shrdi_epi64`]
* [x] [`_mm256_shrdi_epi64`]
* [x] [`_mm512_mask_shrdi_epi64`]
* [x] [`_mm512_maskz_shrdi_epi64`]
* [x] [`_mm512_shrdi_epi64`]
* [x] [`_mm_mask_shrdv_epi16`]
* [x] [`_mm_maskz_shrdv_epi16`]
* [x] [`_mm_shrdv_epi16`]
* [x] [`_mm256_mask_shrdv_epi16`]
* [x] [`_mm256_maskz_shrdv_epi16`]
* [x] [`_mm256_shrdv_epi16`]
* [x] [`_mm512_mask_shrdv_epi16`]
* [x] [`_mm512_maskz_shrdv_epi16`]
* [x] [`_mm512_shrdv_epi16`]
* [x] [`_mm_mask_shrdv_epi32`]
* [x] [`_mm_maskz_shrdv_epi32`]
* [x] [`_mm_shrdv_epi32`]
* [x] [`_mm256_mask_shrdv_epi32`]
* [x] [`_mm256_maskz_shrdv_epi32`]
* [x] [`_mm256_shrdv_epi32`]
* [x] [`_mm512_mask_shrdv_epi32`]
* [x] [`_mm512_maskz_shrdv_epi32`]
* [x] [`_mm512_shrdv_epi32`]
* [x] [`_mm_mask_shrdv_epi64`]
* [x] [`_mm_maskz_shrdv_epi64`]
* [x] [`_mm_shrdv_epi64`]
* [x] [`_mm256_mask_shrdv_epi64`]
* [x] [`_mm256_maskz_shrdv_epi64`]
* [x] [`_mm256_shrdv_epi64`]
* [x] [`_mm512_mask_shrdv_epi64`]
* [x] [`_mm512_maskz_shrdv_epi64`]
* [x] [`_mm512_shrdv_epi64`]
</p>
2 changes: 0 additions & 2 deletions crates/core_arch/src/x86/avx512vbmi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -438,8 +438,6 @@ mod tests {
use stdarch_test::simd_test;

use crate::core_arch::x86::*;
//use crate::hint::black_box;
//use crate::mem::{self};

#[simd_test(enable = "avx512vbmi")]
unsafe fn test_mm512_permutex2var_epi8() {
Expand Down
Loading

0 comments on commit 3447076

Please sign in to comment.