Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Add Changelog#522

Merged
dtig merged 4 commits intomainfrom
appendix
Oct 4, 2021
Merged

Add Changelog#522
dtig merged 4 commits intomainfrom
appendix

Conversation

@rossberg
Copy link
Member

Add changelog for SIMD extensions, plus a couple of minor fixes/tweaks.

@rossberg rossberg requested a review from ngzhian September 28, 2021 10:02

* New conversion :ref:`vector instructions <syntax-instr-vec>`: :math:`\K{i}\!N\!\K{x}\!M\!\K{.extend\_}\half\K{\_i}\!N'\!\K{x}\!M'\!\K{\_}\sx`, :math:`\K{i32x4.trunc\_sat\_f32x4\_}\sx`, :math:`\K{i32x4.trunc\_sat\_f64x2\_}\sx\K{\_zero}`, :math:`\K{f32x4.convert\_i32x4\_}\sx`, :math:`\K{f32x4.demote\_f64x2\_zero}`, :math:`\K{f64x2.convert\_low\_i32x4\_}\sx`, :math:`\K{f64x2.promote\_low\_f32x4}`

* New reordering :ref:`vector instructions <syntax-instr-vec>`: :math:`\K{i8x16.shuffle}`, :math:`\K{i8x16.swizzle}`, :math:`\K{i8x16.narrow\_i16x8\_}\sx`, :math:`\K{i16x8.narrow\_i32x4\_}\sx`
Copy link
Member

Choose a reason for hiding this comment

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

not sure if narrow should be part of reordering, i think it should go into conversion (above), since it's the opposite to extend.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, I wasn't sure where else to put it. It doesn't fit with the conversion operators because unlike those it is binary, like the others here. And like these, it really just moves bytes/words around, doesn't it?

Is there a better place?

Copy link
Member

Choose a reason for hiding this comment

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

I see, yea depends on how you want to classify it. Conversion to me is for shape 1 -> shape 2, so extend and narrows fit into conversion for me. It is not just moving bytes/words around, since we will saturate values if they overflow.

Not sure if there is a clearer classification here, and maybe we don't need to be too strict about it. We could move this (and even shuffle and swizzle) to "binary vector instructions". (Although shuffles take 16 immediates, which is different from the other binary vector instructions.)

Copy link
Member

Choose a reason for hiding this comment

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

I would also expect the narrow/extend to be in the same set of instructions. Perhaps there's space for another category of lane width modification instructions that are not really conversions?

Copy link
Member Author

Choose a reason for hiding this comment

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

Fair enough. I moved extend/narrow to their own bullet and reordered bullets slightly. (I wish extend & narrow actually were inverses, but it's so much more ad-hoc than that...)

Vector instructions
...................

Added vector type and instructions that manipulate multiple numeric values in parallel (also known as *SIMD*, single instruction multiple data) [#proposal-vectype]_
Copy link
Member

Choose a reason for hiding this comment

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

Would it make sense to add text here that's representative of the lane operations that extract and replace single lanes instead of multiple values?

Copy link
Member Author

Choose a reason for hiding this comment

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

Hm, there is no such breakdown in the intro sentence of the other changelog sections either. The details are in the bullet list, this is just for the general direction.

Copy link
Member

Choose a reason for hiding this comment

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

Ack.

Copy link
Member

@ngzhian ngzhian left a comment

Choose a reason for hiding this comment

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

LGTM on my end, thanks!

@dtig dtig merged commit a3e4b05 into main Oct 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants