[clang] [llvm] [WebAssembly] Implement prototype f32.store_f16 instruction. (PR #91545)
Heejin Ahn via cfe-commits
cfe-commits at lists.llvm.org
Thu May 9 11:25:48 PDT 2024
================
@@ -192,6 +192,7 @@ TARGET_BUILTIN(__builtin_wasm_relaxed_dot_bf16x8_add_f32_f32x4, "V4fV8UsV8UsV4f"
// Half-Precision (fp16)
TARGET_BUILTIN(__builtin_wasm_loadf16_f32, "fh*", "nU", "half-precision")
+TARGET_BUILTIN(__builtin_wasm_storef16_f32, "vfh*", "nU", "half-precision")
----------------
aheejin wrote:
I'm not exactly sure about the definition, but Builtins.def says it should be in sync with `Builtin::Context` class:
https://github.com/llvm/llvm-project/blob/b942c24845a39e6161c8623b1efc4e2083d879e9/clang/include/clang/Basic/Builtins.def#L67-L68
And `Builtin::Context` says this:
https://github.com/llvm/llvm-project/blob/b942c24845a39e6161c8623b1efc4e2083d879e9/clang/include/clang/Basic/Builtins.h#L115-L118
So I guess stores cannot be considered as pure, because they have side effects.
https://github.com/llvm/llvm-project/pull/91545
More information about the cfe-commits
mailing list