[WebAssembly] Prototype extending multiplication SIMD instructions
authorThomas Lively <tlively@google.com>
Wed, 28 Oct 2020 16:38:59 +0000 (09:38 -0700)
committerThomas Lively <tlively@google.com>
Wed, 28 Oct 2020 16:38:59 +0000 (09:38 -0700)
commit31e944556f5464b5a488c42f1d727d5b27734169
tree8e697b0d273bc12ebab7c6fe82ae6a4234f66a53
parent9d72065cf6e0d02f748671d872d891f36ceda257
[WebAssembly] Prototype extending multiplication SIMD instructions

As proposed in https://github.com/WebAssembly/simd/pull/376. This commit
implements new builtin functions and intrinsics for these instructions, but does
not yet add them to wasm_simd128.h because they have not yet been merged to the
proposal. These are the first instructions with opcodes greater than 0xff, so
this commit updates the MC layer and disassembler to handle that correctly.

Differential Revision: https://reviews.llvm.org/D90253
clang/include/clang/Basic/BuiltinsWebAssembly.def
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/builtins-wasm.c
llvm/include/llvm/IR/IntrinsicsWebAssembly.td
llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
llvm/test/MC/WebAssembly/simd-encodings.s
llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp