-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Winch: implement v128
neg
and shifts for x64
#10170
Winch: implement v128
neg
and shifts for x64
#10170
Conversation
815adb6
to
e89fc86
Compare
Subscribe to Label Action
This issue or pull request has been labeled: "wasmtime:api", "wasmtime:docs", "winch"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
Passing the review baton again to Saúl -- thanks! |
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.
Looks reasonable to me, thanks!
The failure is because in main |
@saulecabrera rebased |
e89fc86
to
63ac43e
Compare
implements the following instructions for winch x64 backend:
i8x16.neg
i16x8.neg
i32x4.neg
i64x2.neg
i8x16.shl
i16x8.shl
i32x4.shl
i64x2.shl
i8x16.shr_s
i16x8.shr_s
i32x4.shr_s
i64x2.shr_s
i8x16.shr_u
i16x8.shr_u
i32x4.shr_u
i64x2.shr_u
One thing that we may improve is the handling of constants: My initial implementation introduced
WellKnown
addresses, because this is how cranelift implemented shifts. I revised that later on, to keep things simple, and used the constant infrastructure already present in winch. The use of well known constant addresses may be more efficient, if we decided to use them. Happy to do that in a followup.#8093