-
Notifications
You must be signed in to change notification settings - Fork 42
Opcode adjustments #51
Conversation
Move unary instructions before binary instructions. Fix order of floating point unary ops.
They belong with the unary ops after sqrt.
They're all at the end, right? (edit: in the MVP, I mean)
Chatted with @dtig about this -- I didn't realize that we were planning to make the SIMD shifts take an immediate shift amount. Seems like it may be worth discussing in a separate issue, since it is a pretty subtle difference from the scalar shifts. |
| | `i64x2.shr_u` | `0x94`| - | | ||
| | `f32x4.abs` | `0x95`| - | | ||
| | `f32x4.neg` | `0x96`| - | | ||
| | `f32x4.sqrt` | `0x97`| - | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's the gap here for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Experimentation with reciprocal sqrt and approximate reciprocal, as recommended by @dtig.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, cool. Sounds good!
Yes, my mistake. I saw
Either way, they are not quite the same as other unary operations (V128 -> V128) or binary operations (V128, V128 -> V128). |
I've opened #52 to figure out shift semantics, but I suggest moving them to between the unary and binary operations that way they won't need to be moved if immediates are used, but still make sense if they're not as they're different from the other binary operations. |
There really wasn't a plan, I just incorrectly assumed that's what was specified. I've opened #52 to see if there should be any changes to the way shifts are currently specified. |
Move unary instructions before binary instructions in each opcode block. Move reserved space for reciprocal sqrt and approx reciprocal to immediately after sqrt.
Unresolved questions:
Should conversion ops be left in their own section? They're mixed in with the other instructions in MVP.
Where should shifts go? They're not really unary or binary operations. They're currently at the end of the binary operation sections.