Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates
_mm_cvtps_epi32
,_mm_cvtsd_si32
,_mm_cvtpd_epi32
to performexplict bounds checks, avoiding machine-specific behaviour.
Unlike the previous change (#22893) we cannot used
__builtin_wasm_trunc_xx
operations here since these functions are not defined a truncating (unlike
_mm_cvttpd_epi32
,_mm_cvttsd_si32
and_mm_cvttsd_si64
which weremodified in that PR.
See https://web.mit.edu/rust-lang_v1.26.0/arch/amd64_ubuntu1404/share/doc/rust/html/core/arch/x86_64/fn._mm_cvtpd_epi32.html
And https://web.mit.edu/rust-lang_v1.26.0/arch/amd64_ubuntu1404/share/doc/rust/html/core/arch/x86_64/fn._mm_cvttpd_epi32.html
It seems the extra
t
in the function names means "with truncation".