summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2023-02-23 10:07:43 -0800
committerGitHub <noreply@github.com>2023-02-23 10:07:43 -0800
commit5a0aef47cda663b312c34454857601ee78d77ab6 (patch)
tree7912acd8f63f64c5cad51078af33534bee818000 /src
parente929b9c23cced499d08630c25a2991391cabdabb (diff)
downloadbinaryen-5a0aef47cda663b312c34454857601ee78d77ab6.tar.gz
binaryen-5a0aef47cda663b312c34454857601ee78d77ab6.tar.bz2
binaryen-5a0aef47cda663b312c34454857601ee78d77ab6.zip
[wasm-ctor-eval] Add v128 load/store support (#5512)
Diffstat (limited to 'src')
-rw-r--r--src/tools/wasm-ctor-eval.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp
index 1002c9914..561b08cfc 100644
--- a/src/tools/wasm-ctor-eval.cpp
+++ b/src/tools/wasm-ctor-eval.cpp
@@ -366,6 +366,9 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface {
uint64_t load64u(Address addr, Name memoryName) override {
return doLoad<uint64_t>(addr, memoryName);
}
+ std::array<uint8_t, 16> load128(Address addr, Name memoryName) override {
+ return doLoad<std::array<uint8_t, 16>>(addr, memoryName);
+ }
void store8(Address addr, int8_t value, Name memoryName) override {
doStore<int8_t>(addr, value, memoryName);
@@ -379,6 +382,11 @@ struct CtorEvalExternalInterface : EvallingModuleRunner::ExternalInterface {
void store64(Address addr, int64_t value, Name memoryName) override {
doStore<int64_t>(addr, value, memoryName);
}
+ void store128(Address addr,
+ const std::array<uint8_t, 16>& value,
+ Name memoryName) override {
+ doStore<std::array<uint8_t, 16>>(addr, value, memoryName);
+ }
bool growMemory(Name memoryName,
Address /*oldSize*/,