summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-08-03 13:48:10 -0700
committerGitHub <noreply@github.com>2020-08-03 13:48:10 -0700
commitdaa442b40f92ee5117c9c7c391171c3304abc67e (patch)
treed4533e9f8d3564e20bc6b1c006e74f4b32d3dcca /src/tools
parent79f2fe4eb4197b3f2a1f8ad0c3a34bf9c28149a1 (diff)
downloadbinaryen-daa442b40f92ee5117c9c7c391171c3304abc67e.tar.gz
binaryen-daa442b40f92ee5117c9c7c391171c3304abc67e.tar.bz2
binaryen-daa442b40f92ee5117c9c7c391171c3304abc67e.zip
Implement prototype v128.load{32,64}_zero instructions (#3011)
Specified in https://github.com/WebAssembly/simd/pull/237. Since these are just prototypes necessary for benchmarking, this PR does not add support for these instructions to the fuzzer or the C or JS APIs. This PR also renumbers the QFMA instructions that previously used the opcodes for these new instructions. The renumbering matches the renumbering in V8 and LLVM.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/fuzzing.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index 51e9300af..95ccf2613 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -2544,6 +2544,7 @@ private:
}
Expression* makeSIMDLoad() {
+ // TODO: add Load{32,64}Zero if merged to proposal
SIMDLoadOp op = pick(LoadSplatVec8x16,
LoadSplatVec16x8,
LoadSplatVec32x4,
@@ -2575,6 +2576,9 @@ private:
case LoadExtUVec32x2ToVecI64x2:
align = pick(1, 2, 4, 8);
break;
+ case Load32Zero:
+ case Load64Zero:
+ WASM_UNREACHABLE("Unexpected SIMD loads");
}
Expression* ptr = makePointer();
return builder.makeSIMDLoad(op, offset, align, ptr);