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

Conversation

@tlively
Copy link
Member

@tlively tlively commented Nov 7, 2018

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.

Move unary instructions before binary instructions. Fix order of
floating point unary ops.
They belong with the unary ops after sqrt.
@tlively tlively requested review from binji and dtig November 7, 2018 01:21
@binji
Copy link
Member

binji commented Nov 7, 2018

Should conversion ops be left in their own section? They're mixed in with the other instructions in MVP.

They're all at the end, right? (edit: in the MVP, I mean)

Where should shifts go? They're not really unary or binary operations. They're currently at the end of the binary operation sections.

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`| - |
Copy link
Member

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?

Copy link
Member Author

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.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, cool. Sounds good!

@tlively
Copy link
Member Author

tlively commented Nov 7, 2018

Should conversion ops be left in their own section? They're mixed in with the other instructions in MVP.

They're all at the end, right?

Yes, my mistake. I saw f32.trunc and thought it was a conversion op.

Where should shifts go? They're not really unary or binary operations. They're currently at the end of the binary operation sections.

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.

Either way, they are not quite the same as other unary operations (V128 -> V128) or binary operations (V128, V128 -> V128).

@dtig
Copy link
Member

dtig commented Nov 8, 2018

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.

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.

@dtig
Copy link
Member

dtig commented Nov 8, 2018

Should conversion ops be left in their own section? They're mixed in with the other instructions in MVP.

They're all at the end, right? (edit: in the MVP, I mean)

Where should shifts go? They're not really unary or binary operations. They're currently at the end of the binary operation sections.

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.

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.

@tlively tlively merged commit 36bbc08 into master Nov 8, 2018
@binji binji deleted the tlively-opcodes branch November 8, 2018 19:29
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.

4 participants