-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Add the AVX10 target features #139675
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 and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add the AVX10 target features #139675
Conversation
This comment has been minimized.
This comment has been minimized.
"avx512vl", | ||
"avx512vnni", | ||
"avx512vpopcntdq", | ||
"gfni", // This is a deviation from LLVM, but it is more consistent with the Intel specification |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this known by LLVM folks? Is there an llvm issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have opened llvm/llvm-project#135394, I will file an issue in GCC bugtracker too. Also cc @rust-lang/wg-llvm ig
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok this is an issue on LLVM side, and a PR has been sent to fix this. So should we add these target features now, or when the LLVM fix lands? Imo it is not a problem if we add it now, it will just stop implying vaes
and vpclmulqdq
after the fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The LLVM fix was merged and is scheduled to be backported to LLVM20
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update this will be fixed after #140502 🎉
r? compiler |
r? @Amanieu |
@bors r+ |
Add the AVX10 target features Parent rust-lang#138843 Adds the `avx10_target_feature` feature gate, and `avx10.1` and `avx10.2` target features. It is confirmed that Intel is dropping AVX10/256 (see [this comment](rust-lang#111137 (comment))), so this should be safe to implement now. The LLVM fix for llvm/llvm-project#135394 was merged, and has been backported to LLVM20, and the patch has also been propagated to rustc in rust-lang#140502 `@rustbot` label O-x86_64 O-x86_32 A-target-feature A-SIMD
Rollup of 7 pull requests Successful merges: - rust-lang#139675 (Add the AVX10 target features) - rust-lang#140286 (Check if format argument is identifier to avoid error err-emit) - rust-lang#140456 (Fix test simd/extract-insert-dyn on s390x) - rust-lang#140551 (Move some tests out of tests/ui) - rust-lang#140588 (Adjust some ui tests re. target-dependent errors) - rust-lang#140617 (Report the `unsafe_attr_outside_unsafe` lint at the closest node) - rust-lang#140626 (allow `#[rustfmt::skip]` in combination with `#[naked]`) r? `@ghost` `@rustbot` modify labels: rollup
Parent #138843
Adds the
avx10_target_feature
feature gate, andavx10.1
andavx10.2
target features.It is confirmed that Intel is dropping AVX10/256 (see this comment), so this should be safe to implement now.
The LLVM fix for llvm/llvm-project#135394 was merged, and has been backported to LLVM20, and the patch has also been propagated to rustc in #140502
@rustbot label O-x86_64 O-x86_32 A-target-feature A-SIMD