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

unrecognized platform-specific intrinsic function #57940

Closed
Mark-Simulacrum opened this issue Jan 28, 2019 · 4 comments
Closed

unrecognized platform-specific intrinsic function #57940

Mark-Simulacrum opened this issue Jan 28, 2019 · 4 comments
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@Mark-Simulacrum
Copy link
Member

A set of intrinsics are no longer present it seems (perhaps in LLVM?); see log in https://crater-reports.s3.amazonaws.com/beta-1.33-1/beta-2019-01-22/reg/basic_dsp-0.6.0/log.txt.

cc @rust-lang/libs @liebharc

@Mark-Simulacrum Mark-Simulacrum added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Jan 28, 2019
@hanna-kruppe
Copy link
Contributor

hanna-kruppe commented Jan 28, 2019

This is an unstable feature removed in #57416. It appears the simd crate (which basic_dsp uses) sets RUSTC_BOOTSTRAP to use unstable features on stable/beta ☹️

@liebharc
Copy link

For basic_dsp users: simd is an optional dependency of basic_dsp. So as a workaround people should still be able to compile it with --no-default-features --std.

At the time basic_dsp was created the simd crate was the only explicit SIMD support in Rust. I haven't followed SIMD development in Rust that closely in the last year, but it seems that there are alternatives to simd. So that would be a possibility for me to address this.

Please let me know how you would like to proceed with this issue.

@alexcrichton
Copy link
Member

Looks like @rkruppe is right and I believe the bug here is not in @liebharc's basic_dsp crater but rather the dependency on simd. Setting RUSTC_BOOTSTRAP is definitely not covered by our stability policy, which I believe is already known, so I'm going to close this.

@alexcrichton
Copy link
Member

alexcrichton commented Jan 28, 2019

@liebharc in the meantime if you'd like to remove the dependency on simd the recommendations are:

  • Ideally use std::arch if functionality is already implemented there
  • If you're willing and it's not there, add such functionality to std::arch via the stdsimd repository
  • Falling back to inline assembly compiled assembly via the cc crate
  • If none of that is appropriate, using simd but understanding that it's nightly only for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants