rust-lang / compiler-team

A home for compiler team planning documents, meeting minutes, and other such things.
https://rust-lang.github.io/compiler-team/
Apache License 2.0
385 stars 67 forks source link

Add `evex512` target feature for AVX10 #778

Open sayantn opened 2 weeks ago

sayantn commented 2 weeks ago

Proposal

Intel has introduced the new AVX10.N-256 instruction set, which enables use of only the 256-bit instructions of the avx512 set. LLVM uses the evex512 feature flag to differentiate between avx512-avx10.N-512 and avx10.N-256. Due to rust-lang/rust#121088, the avx512 target features auto-enable evex512, making it impossible for Rust to use avx10.N-256. A solution will be to

After this change,

(Known) Problems associated with this approach

For reference, the Zulip thread is AVX10 target feature (re) organization

Alternatives

Mentors or Reviewers

If you have a reviewer or mentor in mind for this work, mention them here. You can put your own name here if you are planning to mentor the work.

Process

The main points of the Major Change Process are as follows:

You can read more about Major Change Proposals on forge.

Comments

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

rustbot commented 2 weeks ago

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

Concerns or objections to the proposal should be discussed on Zulip and formally registered here by adding a comment with the following syntax:

 @rustbot concern reason-for-concern 
 <description of the concern> 

Concerns can be lifted with:

 @rustbot resolve reason-for-concern 

See documentation at https://forge.rust-lang.org

cc @rust-lang/compiler @rust-lang/compiler-contributors