summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-stack.cpp
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-10-27 08:58:36 -0700
committerGitHub <noreply@github.com>2020-10-27 08:58:36 -0700
commitca16f7cdc57549333474d7042128d2007bc35fad (patch)
treec42bffa8027099b9d4f5cb6c2283571bd06950c5 /src/wasm/wasm-stack.cpp
parent91ac3be4364e6f9763d6ccff35c83fab0692ef5c (diff)
downloadbinaryen-ca16f7cdc57549333474d7042128d2007bc35fad.tar.gz
binaryen-ca16f7cdc57549333474d7042128d2007bc35fad.tar.bz2
binaryen-ca16f7cdc57549333474d7042128d2007bc35fad.zip
Implement i8x16.popcnt (#3286)
As proposed in https://github.com/WebAssembly/simd/pull/379. Since this instruction is still being evaluated for inclusion in the SIMD proposal, this PR does not add support for it to the C/JS APIs or to the fuzzer. This PR also performs a drive-by fix for unrelated instructions in c-api-kitchen-sink.c
Diffstat (limited to 'src/wasm/wasm-stack.cpp')
-rw-r--r--src/wasm/wasm-stack.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp
index 13ce700a5..2ec156eea 100644
--- a/src/wasm/wasm-stack.cpp
+++ b/src/wasm/wasm-stack.cpp
@@ -971,6 +971,10 @@ void BinaryInstWriter::visitUnary(Unary* curr) {
o << int8_t(BinaryConsts::SIMDPrefix)
<< U32LEB(BinaryConsts::I8x16Bitmask);
break;
+ case PopcntVecI8x16:
+ o << int8_t(BinaryConsts::SIMDPrefix)
+ << U32LEB(BinaryConsts::I8x16Popcnt);
+ break;
case AbsVecI16x8:
o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I16x8Abs);
break;