summaryrefslogtreecommitdiff
path: root/src/wasm2asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r--src/wasm2asm.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index ba52b1878..c48834085 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -892,7 +892,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
case Sqrt: ret = ValueBuilder::makeCall(MATH_SQRT, value); break;
case TruncSFloat32: ret = ValueBuilder::makePrefix(B_NOT, ValueBuilder::makePrefix(B_NOT, value)); break;
case PromoteFloat32:
- case ConvertSInt32: ret = ValueBuilder::makePrefix(PLUS, value); break;
+ case ConvertSInt32: ret = ValueBuilder::makePrefix(PLUS, ValueBuilder::makeBinary(value, OR, ValueBuilder::makeNum(0))); break;
case ConvertUInt32: ret = ValueBuilder::makePrefix(PLUS, ValueBuilder::makeBinary(value, TRSHIFT, ValueBuilder::makeNum(0))); break;
case DemoteFloat64: ret = value; break;
default: std::cerr << curr << '\n'; abort();