abrown requested bnjbvr for a review on PR #1905.
abrown opened PR #1905 from legalize-fmin-fmax-slow to master:
This is identical to #1821 but without the guarantee flags.
abrown updated PR #1905 from legalize-fmin-fmax-slow to master:
This is identical to #1821 but without the guarantee flags.
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
Can you use
expand_minmax? If not, the reason is not clear from the doc comment onexpand_minmax_vector.
bjorn3 edited PR Review Comment.
abrown submitted PR Review.
abrown created PR Review Comment:
Oh, good point: the documentation doesn't make sense (copied from the
narrow_avxinstructions). I'll change it.However, it still might make sense to keep this as a separate function from a code clarity perspective: these are completely different codegen approaches and
expand_minmaxis already complex enough as-is.
abrown updated PR #1905 from legalize-fmin-fmax-slow to master:
This is identical to #1821 but without the guarantee flags.
bnjbvr submitted PR Review.
bnjbvr submitted PR Review.
bnjbvr created PR Review Comment:
nit: use
unimplemented!()ortodo!()here
bnjbvr created PR Review Comment:
nit: Can we get rid of
is_maxby just looking at the opcode, instead of the one use ofis_max?
bnjbvr created PR Review Comment:
Can you point in the wasm SIMD spec document (in a Github comment) where it is stated that it's to lose the NaN's sign, please? I couldn't find anything in the proposal design doc.
bnjbvr created PR Review Comment:
Can you move these definitions (as well as block comment) closer to where they're used below?
bnjbvr created PR Review Comment:
Please add more tests here too.
bnjbvr created PR Review Comment:
Can you add a few more tests, please:
- a test with only one NaN in one lane of one input (should return cNaN for this lane)
- a test with an arithmetic (non-canonical) NaN in one lane of one input (should cNaN too), hopefully our parser supports this :)
- a test with -NaN in one lane of one vector, and +1 in the same lane of the other vector?
alexcrichton edited PR #1905 from legalize-fmin-fmax-slow to main:
This is identical to #1821 but without the guarantee flags.
abrown submitted PR Review.
abrown created PR Review Comment:
We could but then it would be
let (x, y, x86_opcode, clif_opcode)and we would have to do the opcode comparison twice (once in thematchand below in the currentifusingis_max).
abrown updated PR #1905 from legalize-fmin-fmax-slow to main:
This is identical to #1821 but without the guarantee flags.
abrown submitted PR Review.
abrown created PR Review Comment:
I'm going to merge this as-is but I can make a subsequent change to
let (x, y, x86_opcode, clif_opcode)if you prefer that.
abrown submitted PR Review.
abrown created PR Review Comment:
Yeah, I added the link here and in
enc_tables.rsbut here it is as well: https://webassembly.github.io/spec/core/bikeshed/index.html#nan-propagation%E2%91%A0
abrown merged PR #1905.
Last updated: Dec 13 2025 at 19:03 UTC