summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-27 20:10:27 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-27 20:10:27 -0800
commita6c2f37ca6b0f1031ca706904766a836e1ea5668 (patch)
treead20fd4b50aeae9ccfb2d3b2d8b8c66b9e474d53
parent8ac3bc71809fddadf14bb9cbedcd2d9f87fcb09c (diff)
downloadbinaryen-a6c2f37ca6b0f1031ca706904766a836e1ea5668.tar.gz
binaryen-a6c2f37ca6b0f1031ca706904766a836e1ea5668.tar.bz2
binaryen-a6c2f37ca6b0f1031ca706904766a836e1ea5668.zip
wasm2asm progress
-rw-r--r--src/wasm2asm.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index 01f3758d4..c5fb08e3d 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -606,13 +606,15 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
}
case f64: {
switch (curr->op) {
- case Neg: return ValueBuilder::makeBinary(ValueBuilder::makeDouble(0), MINUS, value);
- case Abs: return ValueBuilder::makeCall(MATH_ABS, value);
- case Ceil: return ValueBuilder::makeCall(MATH_CEIL, value);
- case Floor: return ValueBuilder::makeCall(MATH_FLOOR, value);
- case Trunc: return ValueBuilder::makeCall(MATH_TRUNC, value);
- case Nearest: return ValueBuilder::makeCall(MATH_NEAREST, value);
- case Sqrt: return ValueBuilder::makeCall(MATH_SQRT, value);
+ case Neg: return ValueBuilder::makeBinary(ValueBuilder::makeDouble(0), MINUS, value);
+ case Abs: return ValueBuilder::makeCall(MATH_ABS, value);
+ case Ceil: return ValueBuilder::makeCall(MATH_CEIL, value);
+ case Floor: return ValueBuilder::makeCall(MATH_FLOOR, value);
+ case Trunc: return ValueBuilder::makeCall(MATH_TRUNC, value);
+ case Nearest: return ValueBuilder::makeCall(MATH_NEAREST, value);
+ case Sqrt: return ValueBuilder::makeCall(MATH_SQRT, value);
+ case TruncSFloat32: return ValueBuilder::makePrefix(BNOT, ValueBuilder::makePrefix(BNOT, value));
+ case ConvertSInt32: return ValueBuilder::makePrefix(PLUS, value);
default: abort();
}
}
@@ -621,10 +623,6 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
}
void visitBinary(Binary *curr) override {
}
- void visitCompare(Compare *curr) override {
- }
- void visitConvert(Convert *curr) override {
- }
void visitSelect(Select *curr) override {
}
void visitHost(Host *curr) override {