-
Notifications
You must be signed in to change notification settings - Fork 254
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
Update simd.rs to Rust 1.58 #414
Conversation
…md functions are now stable
…dlib This removes the last usage of stdsimd feature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is much-appreciated maintenance--thank you! We generally need to audit our emitted code and see what has been stabilized and what the MSRV of transpiled code can now look like, and this helps toward that goal.
There are a couple small changes I'd like:
- I'd rather not introduce use of
failure::bail
, changing the return type ofimplicit_vector_default
. It would be preferable to keep this code better aligned with surrounding idioms: we have our own (unrelated)bail!
macro elsewhere in the codebase, no other usages offailure::bail
, and return types generally useResult<_, TranslationError>
. - Could you clarify in your commit message that
_mm_cvtph_ps
is now implemented (cf._mm_loadu_si64
, which is now removed)?
Sorry for the long delay. I have decided to close this PR, since testing has uncovered a bug in the current support of SIMD intrinsics, which means that the feature flag still cannot be removed even on x86/x86_64. With regards to #[derive(Clone, Eq, PartialEq, Debug)]
pub enum TranslationErrorKind {
Generic,
// Not enough simd intrinsics are available in LLVM < 7
OldLLVMSimd,
// We are waiting for va_copy support to land in rustc
VaCopyNotImplemented,
// Clang AST exported by AST-exporter was not valid
InvalidClangAst(ClangAstParseErrorKind),
} only I don't know whether I should discuss it here, or open a separate issue. |
Thanks for following up. Whenever the rustc bug gets fixed we should revive this push. The error refactoring does sound like it would be worthwhile--I just want to keep things internally consistent, so we should address it as a unit across the codebase. An issue for that would also be great. Thanks for your time! |
Regarding error handling, there are currently a lot of |
Removed stabilized intrinsics from the list of missing functions, added hard error on removed
__m64
intrinsics, removed unused feature flag.