-
Notifications
You must be signed in to change notification settings - Fork 275
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
Bye bye MMX! #890
Bye bye MMX! #890
Conversation
r? @Amanieu (rust_highfive has picked a reviewer for you, use r? to override) |
There is also special casing in the compiler to give the mmx vector type the right LLVM type. That should also be removed. |
@bjorn3 sure, after this is merged I'm going to grep |
I'm a bit concerned about the number of functions we're removing from SSE, SSE2, etc. Are we sure that all of these are MMX-only? EDIT: Apparently just removing anything that uses
|
302286c
to
1065844
Compare
I wasn't sure whether we want to just remove MMX instructions or all the instructions involving MMX registers. |
Make sure to tag with relnotes when updating the submodule in rust-lang/rust. |
Hmm actually this is only unstable code, so we don't want it in the release notes. |
It would appear that this change has broken compilation of rust-lang/packed_simd (see referenced issues). I assume that it was this pull that broke things as the "_mm_movemask_pi8" macro appears to have been removed? Could someone who is more versed in this than I perhaps take a look? @Amanieu It would appear that your concerns were well founded. Edit:
@Amanieu I'm not sure it's a good idea for a programming language to reference another programming language's documentation unless it's written in that language.... (Correct me if I'm wrong but Rust is written in Rust?) Perhaps the best reference on what is and is not supported by x86 would be: https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html PDF: https://software.intel.com/content/www/us/en/develop/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html (5000! pages! wow!) |
Remove MMX from Rust Follow-up to rust-lang/stdarch#890 This removes most of MMX from Rust (tests pass with small changes), keeping stable `is_x86_feature_detected!("mmx")` working.
This has to be done, because `_mm_movemask_pi8` got removed from stdarch in rust-lang/stdarch#890
Fixes #823