diff options
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r-- | src/wasm2asm.h | 2 |
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(); |