[WebAssembly] Implement prototype SIMD rounding instructions
authorThomas Lively <tlively@google.com>
Tue, 9 Jun 2020 17:14:14 +0000 (10:14 -0700)
committerThomas Lively <tlively@google.com>
Tue, 9 Jun 2020 17:14:14 +0000 (10:14 -0700)
commitb7d369280ba6073a285811733f90cf7f2e0066be
treea7d4c67104b68d3d3b338837cdb28dce3fcb2e96
parent9c2e770034d04a0966b84cac14a9e3fb3b0d4ab7
[WebAssembly] Implement prototype SIMD rounding instructions

Summary:
As specified in https://github.com/WebAssembly/simd/pull/232. These
instructions are implemented as LLVM intrinsics for now rather than
normal ISel patterns to make these instructions opt-in. Once the
instructions are merged to the spec proposal, the intrinsics will be
replaced with proper ISel patterns.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D81222
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/WebAssemblyInstrSIMD.td
llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
llvm/test/MC/WebAssembly/simd-encodings.s