[PATCH] D101112: [WebAssembly] Finalize wasm_simd128.h intrinsics
Derek Schuff via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 23 10:42:13 PDT 2021
dschuff added inline comments.
================
Comment at: clang/lib/Headers/wasm_simd128.h:171
+
+#define wasm_v128_load8_lane(__ptr, __vec, __i) \
+ ((v128_t)__builtin_wasm_load8_lane((signed char *)(__ptr), (__i8x16)(__vec), \
----------------
tlively wrote:
> aheejin wrote:
> > dschuff wrote:
> > > out of curiosity, why are these macros, while all the rest (including ones that don't need declarations such as `wasm_i64x2_eq`) seem to be inline functions?
> > I was also curious about this too.
> The `i` parameter needs to be an integer constant, and I never figured out a way to enforce that for a function parameter. (But using a macro works because the codegen for the builtin functions can error out on non-constant arguments.)
Ah, that makes sense. It does make me wonder, do we have any documentation about those constraints? I guess this file itself is more-or-less what we have, right? If the constraint is violated, is the error from the compiler intelligible?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101112/new/
https://reviews.llvm.org/D101112
More information about the cfe-commits
mailing list