diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-02-03 11:17:30 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-02-03 11:17:30 -0800 |
commit | 1ceff1c7ede8014782cae7170e75ce6cd3a52a16 (patch) | |
tree | 6478c33dc3adec74b462b7bbac15cf5e069376b9 /src/wasm2asm.h | |
parent | ff497f7a261331b3aa6a1e7a1f8a5e476f856d3c (diff) | |
parent | b1ba1b81ae7a382018f5b5769e25d9431fd462b9 (diff) | |
download | binaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.tar.gz binaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.tar.bz2 binaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.zip |
Merge pull request #152 from WebAssembly/float-refactor
Float refactoring and nan comparison change
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r-- | src/wasm2asm.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h index 76ccbf8b6..c87e81eec 100644 --- a/src/wasm2asm.h +++ b/src/wasm2asm.h @@ -915,21 +915,21 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) { } Ref visitConst(Const *curr) { switch (curr->type) { - case i32: return ValueBuilder::makeInt(curr->value.i32); + case i32: return ValueBuilder::makeInt(curr->value.geti32()); case f32: { Ref ret = ValueBuilder::makeCall(MATH_FROUND); Const fake; - fake.value = Literal(double(curr->value.f32)); + fake.value = Literal(double(curr->value.getf32())); fake.type = f64; ret[2]->push_back(visitConst(&fake)); return ret; } case f64: { - double d = curr->value.f64; + double d = curr->value.getf64(); if (d == 0 && std::signbit(d)) { // negative zero return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeUnary(MINUS, ValueBuilder::makeDouble(0))); } - return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeDouble(curr->value.f64)); + return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeDouble(curr->value.getf64())); } default: abort(); } |