Stream: git-wasmtime

Topic: wasmtime / PR #2581 Fix simd flt nan bug for #2432


view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 02:47):

jlb6740 edited PR #2581 from fix-simd-flt-nan-bug-for-2432 to main:

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 03:01):

jlb6740 updated PR #2581 from fix-simd-flt-nan-bug-for-2432 to main:

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 03:18):

cfallin submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 03:44):

jlb6740 merged PR #2581.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 16:56):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 16:56):

abrown created PR Review Comment:

Looks like this should have been FloatCC::UnorderedOrGreaterThanOrEqual which uses FcmpImm::UnorderedOrGreaterThanOrEqual to encode to the 0x05 immediate. Using that might avoid the extra XORPS.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 16:59):

abrown created PR Review Comment:

In the old backend we were using PCMPEQB to generate the "all ones vector" so this wasn't a problem, but I think in this new backend we should check around and make sure no more of the "all ones vectors" we create will have this same issue. Before Christmas I was working on a PR to simplify constant emission so that we only have one place to check... looks like I should have finished that.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 16:59):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 17:55):

cfallin submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 17:55):

cfallin created PR Review Comment:

Yes, my understanding (after some more reading) is that the i8x16 (pcmpeqb) variant is more canonical; would prefer that over reasoning about FP comparison edge cases. +1 to centralizing this logic!

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:01):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:01):

jlb6740 created PR Review Comment:

UnorderedOrGreaterThanOrEqual

Yes, I suppose any unordered instruction that also checks for equality should work. Just depends on what that actually lowers to and the supported CPU feature. That encoding to 0x05 ( NLT_US) looks good except it signals. Not really sure what that means for cranelift .. maybe @cfallin @abrown you have comment. Perhaps instead we'd want to encode as 0x15 or NLT_UQ which does not signal.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:01):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:01):

jlb6740 created PR Review Comment:

https://www.felixcloutier.com/x86/cmppd#tbl-3-1

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:47):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 14 2021 at 18:47):

abrown created PR Review Comment:

That does look better :+1:


Last updated: Oct 23 2024 at 20:03 UTC