Implement AVX512_FP16 by sayantn · Pull Request #1605 · rust-lang/stdarch (original) (raw)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation7 Commits11 Checks30 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

sayantn

This PR adds the AVX512_FP16 intrinsics in Rust. These intrinsics will be behind the feature gate #[feature(stdarch_x86_avx512_f16)] (rust-lang/rust#127213).

Progress:

This also adds some missing inlining in avx512ifma and updates the x86-intel.xml file to v3.6.9

The set1_pch intrinsics were not implemented due to a lack of complex number type.
cmpph and fpclassph intrinsics use inline asm because of no i1 support yet.

@rustbot

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

@tgross35

Have you run into any weird behavior with these, or do things seem to be working smoothly? (ignoring the ABI issue for system function calls, that is)

@sayantn

No problems yet, just that simd_fabs doesn't accept a f16 argument, so i will just use an and operation. I am actively avoiding doing f16 operations in rust, but that's not a blocker for sure.

@bors

@sayantn sayantn marked this pull request as ready for review

July 17, 2024 13:18

@sayantn

Amanieu

@sayantn

@sayantn

Add-Sub-Mul-Div, Load-Store-Move, comi, set

@sayantn

@sayantn

@sayantn

Reciprocal, RSqrt, Sqrt, Max, Min

@sayantn

getexp, getmant, roundscale, scalef, reduce

@sayantn

cmpph, fpclass, reduce, blend, permutex

@sayantn

@sayantn

@sayantn

@sayantn

Add #[inline] to avx512ifma intrinsics Fix the test equality. Remove the stability attributes in simd types and test functions