diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-23 16:19:57 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-23 16:20:08 -0800 |
commit | a8f29286f99b8cde3dbb4656d5ac24a0ec2bdf5c (patch) | |
tree | 0873feb805a1d24a90029c3b45cc38e957267f0a /src/wasm-interpreter.h | |
parent | 5ae3515596921ca5721a540d9aeb74fdf1af87ae (diff) | |
download | binaryen-a8f29286f99b8cde3dbb4656d5ac24a0ec2bdf5c.tar.gz binaryen-a8f29286f99b8cde3dbb4656d5ac24a0ec2bdf5c.tar.bz2 binaryen-a8f29286f99b8cde3dbb4656d5ac24a0ec2bdf5c.zip |
ensure proper literal type for popcnt results
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 7752f5356..012c1c347 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -368,7 +368,7 @@ private: if (v == 0) return Literal(32); return Literal(CountTrailingZeroes((uint32_t)v)); } - case Popcnt: return Literal(PopCount((uint32_t)v)); + case Popcnt: return Literal((int32_t)PopCount((uint32_t)v)); case ReinterpretInt: { float v = value.reinterpretf32(); if (isnan(v)) { @@ -397,7 +397,7 @@ private: if (low == 0) return Literal(32+(int64_t)CountTrailingZeroes((uint32_t)high)); return Literal((int64_t)CountTrailingZeroes((uint32_t)low)); } - case Popcnt: return Literal(PopCount((uint64_t)v)); + case Popcnt: return Literal((int64_t)PopCount((uint64_t)v)); case WrapInt64: return Literal(int32_t(value.geti64())); case ReinterpretInt: { return Literal(value.reinterpretf64()); |