-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
rustc: Remove platform intrinsics crate #57416
rustc: Remove platform intrinsics crate #57416
Conversation
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
|
cc @nagisa |
cc @rust-lang/compiler just so it does not go through without anybody noticing. @bors r+ |
📌 Commit 22481e603766ac42f3bf07940205e42029005c22 has been approved by |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
22481e6
to
f00f9eb
Compare
@bors: r=nagisa |
📌 Commit f00f9ebe8e12c68de01ed83fa06224ca9007b81c has been approved by |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
f00f9eb
to
3ddfdb8
Compare
@bors: r=nagisa |
📌 Commit 3ddfdb8a5d8c1fc1b96c24d850d4890c1f354b14 has been approved by |
☔ The latest upstream changes (presumably #51487) made this pull request unmergeable. Please resolve the merge conflicts. |
This was originally attempted in rust-lang#57048 but it was realized that we could fully remove the crate via the `"unadjusted"` ABI on intrinsics. This means that all intrinsics in stdsimd are implemented directly against LLVM rather than using the abstraction layer provided here. That ends up meaning that this crate is no longer used at all. This crate developed long ago to implement the SIMD intrinsics, but we didn't end up using it in the long run. In that case let's remove it!
3ddfdb8
to
7616daa
Compare
@bors: r=nagisa |
📌 Commit 7616daa has been approved by |
⌛ Testing commit 7616daa with merge 2b32ed1289c57a3bb1516c6afbba868a066adbce... |
@bors: retry |
⌛ Testing commit 7616daa with merge 99dbd8b6c7131e112a93f6aa5514d5dce481d89e... |
💔 Test failed - status-appveyor |
@bors: retry |
⌛ Testing commit 7616daa with merge 7077898d88b9a69ffd3e56497a677a9b489ca5ff... |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
rustc: Remove platform intrinsics crate This was originally attempted in #57048 but it was realized that we could fully remove the crate via the `"unadjusted"` ABI on intrinsics. This means that all intrinsics in stdsimd are implemented directly against LLVM rather than using the abstraction layer provided here. That ends up meaning that this crate is no longer used at all. This crate developed long ago to implement the SIMD intrinsics, but we didn't end up using it in the long run. In that case let's remove it!
☀️ Test successful - checks-travis, status-appveyor |
It's really sad to me that we've made this step backwards from a somewhat-declarative notion of platform intrinsics to hardcoding LLVM's particular interface to them.
RLS, to some extent, also suffers from similar effects, but it doesn't directly feed back into the language itself, like cc @rust-lang/compiler @rust-lang/core |
This was originally attempted in #57048 but it was realized that we
could fully remove the crate via the
"unadjusted"
ABI on intrinsics.This means that all intrinsics in stdsimd are implemented directly
against LLVM rather than using the abstraction layer provided here. That
ends up meaning that this crate is no longer used at all.
This crate developed long ago to implement the SIMD intrinsics, but we
didn't end up using it in the long run. In that case let's remove it!