Implement missing AVX512 intrinsics
This PR, along with #1602, completes the AVX512 intrinsics.
- [x]
AVX512F - [x]
AVX512_BF16 - [x]
VEXvariants- [x]
AVX-VNNI - [x]
AVX-VNNI-INT8 - [x]
AVX-NE-CONVERT - [x]
AVX-IFMA - [x]
AVX-VNNI-INT16
- [x]
This introduces a new bf16 type in core_arch::x86. This is gated by stdarch_x86_avx512_bf16 (rust-lang/rust#127356) and is used by 4 intrinsics in avx512bf16 and avxneconvert
Some intrinsics in avxneconvert couldn't be implemented due to no f16
Some intrinsics use inline asm due to lack of i1 and bfloat16 type in Rust
r? @Amanieu
rustbot has assigned @Amanieu. They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.
Use r? to explicitly pick a reviewer
:umbrella: The latest upstream changes (presumably 5ccd76c1a389fffa70cd082eb6b6e4a30c6fc48c) made this pull request unmergeable. Please resolve the merge conflicts.
:umbrella: The latest upstream changes (presumably 165996e6359fd57e16770c01c8c85ff443520ccf) made this pull request unmergeable. Please resolve the merge conflicts.
I've opened up #1602 to finish AVX512BW.
So I am starting the VEX variants.