summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-12-06 17:58:04 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-12-06 17:58:04 -0800
commit79d04e7fd2fc6a09f2318e227b1d68bfd3bc0325 (patch)
treef8f963dec56a11396c388a3b89012bd4593bb5af /src
parent095de9bebfff3e609cfeddd57248a0b6f74b5663 (diff)
downloadbinaryen-79d04e7fd2fc6a09f2318e227b1d68bfd3bc0325.tar.gz
binaryen-79d04e7fd2fc6a09f2318e227b1d68bfd3bc0325.tar.bz2
binaryen-79d04e7fd2fc6a09f2318e227b1d68bfd3bc0325.zip
sign eq and ne in wasm2asm
Diffstat (limited to 'src')
-rw-r--r--src/wasm2asm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index f0bc201a0..6a27337a8 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -841,8 +841,8 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
case Div: ret = ValueBuilder::makeBinary(left, DIV, right); break;
case Min: ret = ValueBuilder::makeCall(MATH_MIN, left, right); break;
case Max: ret = ValueBuilder::makeCall(MATH_MAX, left, right); break;
- case Eq: return ValueBuilder::makeBinary(left, EQ, right);
- case Ne: return ValueBuilder::makeBinary(left, NE, right);
+ case Eq: return ValueBuilder::makeBinary(makeSigning(left, ASM_SIGNED), EQ, makeSigning(right, ASM_SIGNED));
+ case Ne: return ValueBuilder::makeBinary(makeSigning(left, ASM_SIGNED), NE, makeSigning(right, ASM_SIGNED));
case LtS: return ValueBuilder::makeBinary(makeSigning(left, ASM_SIGNED), LT, makeSigning(right, ASM_SIGNED));
case LtU: return ValueBuilder::makeBinary(makeSigning(left, ASM_UNSIGNED), LT, makeSigning(right, ASM_UNSIGNED));
case LeS: return ValueBuilder::makeBinary(makeSigning(left, ASM_SIGNED), LE, makeSigning(right, ASM_SIGNED));