[WebAssembly] Prototype `f32x4.relaxed_dot_bf16x8_add_f32`
authorThomas Lively <tlively@google.com>
Thu, 8 Sep 2022 15:07:48 +0000 (08:07 -0700)
committerThomas Lively <tlively@google.com>
Thu, 8 Sep 2022 15:07:49 +0000 (08:07 -0700)
commitac3b8df8f2f433193827b8c0396ba8d41d1af565
tree3823a2b0d225efa971ee52df30df69006d2c3ef3
parent5e96cea1db0623a833d5376c9ea2ce4528771f97
[WebAssembly] Prototype `f32x4.relaxed_dot_bf16x8_add_f32`

As proposed in https://github.com/WebAssembly/relaxed-simd/issues/77. Only an
LLVM intrinsic and a clang builtin are implemented. Since there is no bfloat16
type, use u16 to represent the bfloats in the builtin function arguments.

Differential Revision: https://reviews.llvm.org/D133428
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