Skip to content
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

Replace platform-intrinsic with core_intrinsics #559

Merged
merged 3 commits into from
Mar 5, 2024

Conversation

sagudev
Copy link
Member

@sagudev sagudev commented Mar 2, 2024

Make pathfinder_simd work on latest nightly.

Fixes #558

@s3bk s3bk added this pull request to the merge queue Mar 5, 2024
Merged via the queue into servo:main with commit dc6034f Mar 5, 2024
2 checks passed
@fredizzimo
Copy link

Unfortunately, this broke the build on non-nightly Arm64 builds, since std::intrinsics::simd is a nightly only feature.
https://doc.rust-lang.org/std/intrinsics/simd/index.html

0.5.2 of pathfinder_simd works fine.

@sagudev
Copy link
Member Author

sagudev commented Jul 20, 2024

Unfortunately, this broke the build on non-nightly Arm64 builds, since std::intrinsics::simd is a nightly only feature.

All std::intrinsics::simd usage is hidden behind pf_rustc_nightly, so it should still compile.

@fredizzimo
Copy link

Then I'm not sure what's going on, because use std::intrinsics::simd::*; in simd/src/arm/mod.rs is included. And it's causing the following error in our CI

error[E0432]: unresolved import `std::intrinsics::simd`
  --> /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pathfinder_simd-0.5.3/src/arm/mod.rs:13:22
   |
13 | use std::intrinsics::simd::*;
   |                      ^^^^ could not find `simd` in `intrinsics`

https://github.com/neovide/neovide/actions/runs/10007814471/job/27663280524

And downgrading to 0.5.2 of pathfinder_simd fixed the issue (this commit) neovide/neovide@89448f5

Unfortunately, I don't have a mac and I did not manage to easily setup cross compilation for ARM (neither linux or apple-darwin on my Linux machine, so I'm not able to reproduce the issue by compiling this repository alone. I can probably make it to work but it requires some more effort.

@sagudev
Copy link
Member Author

sagudev commented Jul 20, 2024

https://github.com/neovide/neovide/actions/runs/10007814471/job/27663280524#step:3:78:

note that the toolchain 'nightly-2023-09-30-x86_64-apple-darwin' is currently in use (overridden by '/Users/runner/work/neovide/neovide/rust-toolchain.toml'

So actually CI uses nightly and the problem is it uses too old nightly version.

@fredizzimo
Copy link

Thanks. I thought I had deleted the rust-toolchain.toml file a long time ago, but it must have come back with some rebase or merge. Sorry for the false report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compile Error on nightly, platform_intrinsics - feature has been removed
3 participants