Skip to content

Update arm vcvt intrinsics to use llvm.fpto(su)i.sat #1194

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

Merged
merged 1 commit into from
Aug 11, 2021

Conversation

JamieCunliffe
Copy link
Contributor

Those intrinsics have the correct semantics for the desired fcvtz instruction,
without any undefined behaviour. The previous simd_cast was undefined for
infinite and NaN which could cause issues.

@rust-highfive
Copy link

r? @Amanieu

(rust-highfive has picked a reviewer for you, use r? to override)

Those intrinsics have the correct semantics for the desired fcvtz instruction,
without any undefined behaviour. The previous simd_cast was undefined for
infinite and NaN which could cause issues.
@bjorn3
Copy link
Member

bjorn3 commented Aug 11, 2021

I think simd_cast should be changed instead, probably keeping the old behavior as simd_cast_unchecked.

@Amanieu
Copy link
Member

Amanieu commented Aug 11, 2021

I'll defer the simd_cast question to @rust-lang/project-portable-simd. For now this is good enough to fix stdarch.

@Amanieu Amanieu merged commit 8fbbacd into rust-lang:master Aug 11, 2021
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.

4 participants