[PATCH] D63615: [WebAssembly] Omit wrap on i64x2.{shl, shr*} ISel when possible

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 10:19:34 PDT 2019


tlively created this revision.
tlively added reviewers: dschuff, aheejin.
Herald added subscribers: llvm-commits, sunfish, hiraditya, jgravelle-google, sbc100.
Herald added a project: LLVM.

Since the WebAssembly SIMD shift instructions take i32 operands, we
truncate the i64 operand to <2 x i64> shifts during ISel. When the i64
operand is sign extended from i32, this CL makes it so the sign
extension is dropped instead of a wrap instruction added.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D63615

Files:
  llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
  llvm/test/CodeGen/WebAssembly/simd-arith.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63615.205856.patch
Type: text/x-patch
Size: 5020 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190620/4da47d36/attachment.bin>


More information about the llvm-commits mailing list