abrown opened PR #1822 from trunc-sat-unsigned
to master
:
This follows from #1821 and should be merged after that PR.
Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown has marked PR #1822 as ready for review.
abrown requested bnjbvr for a review on PR #1822.
abrown updated PR #1822 from trunc-sat-unsigned
to master
:
This follows from #1821 and should be merged after that PR.
Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown updated PR #1822 from trunc-sat-unsigned
to master
:
This follows from #1821 and should be merged after that PR.
Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown edited PR #1822 from trunc-sat-unsigned
to master
:
This follows from #1821 and should be merged after that PR.[ready to review]Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown requested julian-seward1 for a review on PR #1822.
julian-seward1 submitted PR Review.
julian-seward1 submitted PR Review.
julian-seward1 created PR Review Comment:
I thought the
assert_no_nans
idea had been abandoned. And what isassert_in_bounds
?
julian-seward1 created PR Review Comment:
Is this comment current? If yes, is it the case that
x86_isa.isa_flags.use_avx512vl_simd() || x86_isa.isa_flags.use_avx512f_simd()
implies "No NaNs are possible and results don't need saturation" ?
abrown updated PR #1822 from trunc-sat-unsigned
to master
:
This follows from #1821 and should be merged after that PR.[ready to review]Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown submitted PR Review.
abrown created PR Review Comment:
Sorry, must have missed removing these comments; they are gone now.
abrown submitted PR Review.
abrown created PR Review Comment:
Same as above... fixed.
alexcrichton edited PR #1822 from trunc-sat-unsigned
to main
:
This follows from #1821 and should be merged after that PR.[ready to review]Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
julian-seward1 submitted PR Review.
julian-seward1 created PR Review Comment:
This doesn't read right; are there words missing? "a longer sequence of NaN quieting and lane otherwise."
julian-seward1 created PR Review Comment:
The values must be rounded since in most cases there will be a loss of precision (and range). Please describe how the rounding is specified here (to +inf? to -inf? to nearest? to zero? per MXCSR?)
julian-seward1 created PR Review Comment:
Are the rounding semantics of the two alternative implementations equivalent? For the short case,
vcvtps2udq
, the Intel manual says "When a conversion is inexact, the value returned is rounded according to the rounding control bits in the MXCSR register or the embedded rounding control bits." The slow path appears to usecvtt2si
(presumably, really,cvttps2pi
), and all thett
variant conversion insns are round-towards-zero: "When a conversion is inexact, a truncated (round toward zero) result is returned."
julian-seward1 submitted PR Review.
abrown updated PR #1822 from trunc-sat-unsigned
to main
:
This follows from #1821 and should be merged after that PR.[ready to review]Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown updated PR #1822 from trunc-sat-unsigned
to main
:
This follows from #1821 and should be merged after that PR.[ready to review]Along the lines of #1820, this adds the necessary legalizations and instructions for enabling the Wasm SIMD spec tests with truncation instructions.
abrown submitted PR Review.
abrown created PR Review Comment:
This is a good point: I had hoped MXCSR would have the right rounding mode but it does not. I added a
run
filetest that passes with the long sequence and fails with the AVX512 sequence: it looks like the machines running the CI have AVX512 and therefore fail. I started playing around with a new recipe that embeds the rounding control (e.g.EvexContext::RoundingRegToRegFP { rc: EvexRoundingControl::RZ }
but this didn't immediately fix the test case (the emitted bytes aren't exactly right) so I will have to play around with this a bit more.
abrown closed without merge PR #1822.
Last updated: Nov 22 2024 at 16:03 UTC