Skip to content

Semantics on top of profiles #115

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 31 commits into from
Mar 2, 2023
Merged

Semantics on top of profiles #115

merged 31 commits into from
Mar 2, 2023

Conversation

ngzhian
Copy link
Member

@ngzhian ngzhian commented Jan 20, 2023

No description provided.

Copy link
Member

@rossberg rossberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay!

.. math::
\frac{
}{
C \vdashinstr \shape\K{.}\vternop : [\V128~\V128~\V128] \to [\V128]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vternop -> RELAXEDLANESELECT.

Though, can this not actually be modelled as a ternop?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can for validation, but it doesn't match the usual ternop semantics, because it's not a lane-wise operation.
So if we group RELAXEDLANESELECT into vternop, it matches the vternop semantics, which is wrong.

@rossberg
Copy link
Member

Oh, another thing I forgot: please add a suitable subsection to the Changes appendix, probably as part of a new Version 2.1 section.

@ngzhian ngzhian changed the title WIP Semantics on top of profiles Semantics on top of profiles Feb 14, 2023
@ngzhian
Copy link
Member Author

ngzhian commented Feb 14, 2023

Oh, another thing I forgot: please add a suitable subsection to the Changes appendix, probably as part of a new Version 2.1 section.

Done.

relaxed dot allows the intermediate 16-bit to be saturated (if the
underlying host uses signed * unsigned 8 bit, the dot product, 8-bit *
8-bit + 8-bit * -bit) overflows.
@ngzhian
Copy link
Member Author

ngzhian commented Mar 1, 2023

Ping

@rossberg
Copy link
Member

rossberg commented Mar 2, 2023

The force-push screwed up the review history. :(

@ngzhian
Copy link
Member Author

ngzhian commented Mar 2, 2023

Thanks for the review!
Should I just merge this in as it is with all the commits (without squashing?). The first couple of commits are from the profiles repository, so it could be a good idea to keep the commits there.

@rossberg
Copy link
Member

rossberg commented Mar 2, 2023

Yes, makes sense.

@ngzhian ngzhian merged commit a9ef2e4 into WebAssembly:main Mar 2, 2023
\EXPROFDET & \relaxedmadd_N(z_1, z_2, z_3) &=& [ \fadd_N(\fmul_N(z_1, z_2), z_3), \fma_N(z_1, z_2, z_3) ] \\
& \relaxedmadd_N(z_1, z_2, z_3) &=& \fma_N(z_1, z_2, z_3) \\
\\
& \fma_N(z_1, z_2, z_3) &=& \ieee_N(z_1 \cdot z_2 + z_3) \\
Copy link
Member

@rossberg rossberg Mar 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, sorry, I was a bit quick to approve. This of course needs to specify all the cases for NaNs and infinities, in the same manner as fadd etc.

(Also, since I didn't point it out explicitly before, please don't forget that all the definitions here still need a proper prose counterpart.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, I missed it too, ptal #135.

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.

3 participants