[PATCH] D53251: [WebAssembly] Custom lower i64x2 constant shifts to avoid wrap

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 19 15:16:49 PDT 2018


tlively marked an inline comment as done.
tlively added a comment.

In https://reviews.llvm.org/D53251#1267945, @aheejin wrote:

> - Why do we need to do this? If there is an i64 that's stored in an i32 register, shouldn't we have `wrap` in that case?


That wrap shouldn't be necessary if the i64 is a constant. This change just optimizes out such wraps.

> - Some unrelated question: If the shift amount operand is not a splat vector, I think you said isel just crashes, right? Shouldn't we bail out to lower them in scalar operations?

Yes, I have that in my list of things to do.


Repository:
  rL LLVM

https://reviews.llvm.org/D53251





More information about the llvm-commits mailing list