cranelift: Fix shifts and implement rotates in interpreter#4519
Conversation
jameysharp
left a comment
There was a problem hiding this comment.
I don't feel qualified to review the x64 ISLE rules here, so I think @cfallin (or perhaps @abrown or @elliottt?) should glance at this. That said, the new tests look comprehensive to me, and they pass in CI, which gives me good confidence that the lowering changes are correct. The interpreter implementation also looks plausible.
Unfortunately we've changed CI configuration since you opened this PR, so you'll need to rebase to get the new CI actions to run before we can merge this.
|
|
||
|
|
||
| ;; This is a regression test for rotates on x64 | ||
| ;; See: https://github.com/bytecodealliance/wasmtime/pull/3610 |
There was a problem hiding this comment.
I really appreciate that you not only tracked down where these particular tests came from, but also left a link here in case anybody else wonders!
afb00aa to
32cda80
Compare
cfallin
left a comment
There was a problem hiding this comment.
This is great -- the 8/16-bit cases becoming simpler is something I hadn't anticipated, but I double-checked and we do indeed generate the 8/16-bit variants of the instructions, so we get the correct semantics for tree. Thanks!
These were moved to the main shifts file in bytecodealliance#4519 but this file was accidentaly left in tree. It also fixes the missing sshr_i8_i8 testcase
These were moved to the main shifts file in bytecodealliance#4519 but this file was accidentaly left in tree. It also fixes the missing sshr_i8_i8 testcase
* cranelift: Remove shifts-small-types runtests These were moved to the main shifts file in #4519 but this file was accidentaly left in tree. It also fixes the missing sshr_i8_i8 testcase * cranelift: Add shifts to fuzzer * cranelift: Add extends to fuzzer
👋 Hey,
This PR fixes some issues with shifts in the interpreter and implements rotates.
It also fixes some issues with the x64 implementation where some type combinations for
rotl/rotrwere not lowered.cc: @jameysharp @cfallin