summaryrefslogtreecommitdiff
path: root/src/wasm2js.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm2js.h')
-rw-r--r--src/wasm2js.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/wasm2js.h b/src/wasm2js.h
index 7dd6c4a41..5adcdb740 100644
--- a/src/wasm2js.h
+++ b/src/wasm2js.h
@@ -1464,6 +1464,22 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m,
TRSHIFT,
ValueBuilder::makeNum(0));
}
+ case ExtendS8Int32: {
+ return ValueBuilder::makeBinary(
+ ValueBuilder::makeBinary(visit(curr->value, EXPRESSION_RESULT),
+ LSHIFT,
+ ValueBuilder::makeNum(24)),
+ RSHIFT,
+ ValueBuilder::makeNum(24));
+ }
+ case ExtendS16Int32: {
+ return ValueBuilder::makeBinary(
+ ValueBuilder::makeBinary(visit(curr->value, EXPRESSION_RESULT),
+ LSHIFT,
+ ValueBuilder::makeNum(16)),
+ RSHIFT,
+ ValueBuilder::makeNum(16));
+ }
default: {
std::cerr << "Unhandled unary i32 operator: " << curr
<< std::endl;