[PATCH] D83737: [WebAssembly] Implement v128.select

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 19:52:44 PDT 2020


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

Although the SIMD spec proposal does not specifically include a
select instruction, the select instruction in MVP WebAssembly is
polymorphic over the selected types, so it is able to work on v128
values when they are enabled. This patch introduces a new variant of
the select instruction for each legal vector type. Additional ISel
patterns are adapted from the SELECT_I32 and SELECT_I64 patterns.

Depends on D83736 <https://reviews.llvm.org/D83736>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83737

Files:
  llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
  llvm/test/CodeGen/WebAssembly/simd-select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83737.277643.patch
Type: text/x-patch
Size: 14317 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200714/2aa0bc8a/attachment.bin>


More information about the llvm-commits mailing list