[WebAssembly] Prototype prefetch instructions
authorThomas Lively <tlively@google.com>
Tue, 5 Jan 2021 19:32:03 +0000 (11:32 -0800)
committerThomas Lively <tlively@google.com>
Tue, 5 Jan 2021 19:32:03 +0000 (11:32 -0800)
commit497026c90233e82ffd3ce2438c5f9567be6dabe7
tree8bd73bed0fcb38e6ff3a17520f3af9481e8cddf9
parentf111cf992df4ec00acfdd026eac12b36c3831999
[WebAssembly] Prototype prefetch instructions

As proposed in https://github.com/WebAssembly/simd/pull/352 and using the
opcodes used in the V8 prototype:
https://chromium-review.googlesource.com/c/v8/v8/+/2543167. These instructions
are only usable via intrinsics and clang builtins to make them opt-in while they
are being benchmarked.

Differential Revision: https://reviews.llvm.org/D93883
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/AsmParser/WebAssemblyAsmParser.cpp
llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
llvm/test/CodeGen/WebAssembly/simd-prefetch-offset.ll [new file with mode: 0644]
llvm/test/MC/WebAssembly/simd-encodings.s