[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle
Thomas Lively via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 8 11:16:34 PDT 2019
tlively marked an inline comment as done.
tlively added a comment.
In D68531#1699855 <https://reviews.llvm.org/D68531#1699855>, @aheejin wrote:
> > LLVM produces a poison value if the dynamic swizzle indices are greater than the vector size, but the WebAssembly instruction sets the corresponding output lane to zero.
>
> Where do we set those undef or poison lanes to zero?
We don't do that in the toolchain. It's the runtime semantics implemented in engines that set the output lanes to zero.
================
Comment at: clang/include/clang/Basic/BuiltinsWebAssembly.def:63
// SIMD builtins
+TARGET_BUILTIN(__builtin_wasm_swizzle_v8x16, "V16cV16cV16c", "nc", "unimplemented-simd128")
+
----------------
aheejin wrote:
> Is the second indices vector always v8x16 too?
Yes, that's the only version of swizzling we have for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68531/new/
https://reviews.llvm.org/D68531
More information about the llvm-commits
mailing list