Add x86 shuffle implemention#974
Conversation
e90f9a3 to
b961937
Compare
bnjbvr
left a comment
There was a problem hiding this comment.
I only looked at the first commit. I wanted to ask about the second one: why do we need all these new encodings for boolean types?
Looking great otherwise, this is on the right track. (Bonus points if you can split the Immediate -> Constant renaming from the first patch, to make it slightly easier to review; don't worry if this is too much hassle.)
b961937 to
27d809a
Compare
|
I added the boolean encodings solely in order to write a binary shuffle test: https://github.com/CraneStation/cranelift/blob/27d809a444c6030f4f929153c9e9d5f7456c98a2/filetests/isa/x86/shuffle-run.clif#L47-L58. I can move that to a separate PR but I guess I felt at the time I wrote this that because the binary encodings exactly matched the pre-existing integer encodings the change was relatively safe. |
bnjbvr
left a comment
There was a problem hiding this comment.
Looks great, thank you very much! Thanks for explaining the boolean encodings, it makes sense.
Includes and, or, xor, not, and regmove; TODO re-factor PerCpuModeEncodings to avoid code duplication
27d809a to
ae00af1
Compare
This uses work pending review in #943 and adds some encodings for boolean comparisons in order to allow more complete testing of the
shuffleimplementation.