aheejin accepted this revision. aheejin added a comment. This revision is now accepted and ready to land.
> To improve hygiene, consistency, and usability, it would be good to replace > all > the macro intrinsics in wasm_simd128.h with functions. The reason for using > macros in the first place was to enforce the use of constants for some > arguments > using `_Static_assert` with `__builtin_constant_p`. This commit switches to > using functions and uses the `__diagnose_if__` attribute rather than > `_Static_assert` to enforce constantness. So what prevented us from using functions when we were using `_Static_assert` and why is it now possible to use functions? > The remaining macro intrinsics cannot be made into functions until the builtin > functions they are implemented with can be replaced with normal code patterns > because the builtin functions themselves require that their arguments are > constants. Why can't we also use `__REQUIRE_CONSTANT` there? Can't we call `__REQUIRE_CONSTANT` before we call builtins within intrinsic functions? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102018/new/ https://reviews.llvm.org/D102018 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits