Skip to content

Conversation

@sayantn
Copy link
Contributor

@sayantn sayantn commented Jun 30, 2024

This PR, along with #1602, completes the AVX512 intrinsics.

  • AVX512F
  • AVX512_BF16
  • VEX variants
    • AVX-VNNI
    • AVX-VNNI-INT8
    • AVX-NE-CONVERT
    • AVX-IFMA
    • AVX-VNNI-INT16

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

@rustbot
Copy link
Collaborator

rustbot commented Jun 30, 2024

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

@bors
Copy link
Contributor

bors commented Jun 30, 2024

☔ The latest upstream changes (presumably 5ccd76c) made this pull request unmergeable. Please resolve the merge conflicts.

@bors
Copy link
Contributor

bors commented Jun 30, 2024

☔ The latest upstream changes (presumably 165996e) made this pull request unmergeable. Please resolve the merge conflicts.

@TDecking
Copy link
Contributor

I've opened up #1602 to finish AVX512BW.

@sayantn
Copy link
Contributor Author

sayantn commented Jun 30, 2024

So I am starting the VEX variants.

@sayantn sayantn marked this pull request as ready for review June 30, 2024 18:17
@sayantn sayantn force-pushed the completionist branch 3 times, most recently from 99eb11f to c171c7c Compare July 1, 2024 06:49
sayantn added 3 commits July 1, 2024 12:24
They should use a platform-specific address management.
Modified stdarch-test to accept VEX versions
@sayantn sayantn force-pushed the completionist branch 2 times, most recently from bcf81e8 to 36bc1ad Compare July 1, 2024 10:45
sayantn and others added 3 commits July 2, 2024 16:36
These cannot be linked with LLVM because of the lack of `bfloat16` and `i1` types in Rust. So, inline asm was the only way
@Amanieu Amanieu merged commit 3dd9579 into rust-lang:master Jul 6, 2024
@sayantn sayantn deleted the completionist branch July 6, 2024 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants