aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemcc6
-rw-r--r--src/settings.js2
-rw-r--r--tools/shared.py1
3 files changed, 3 insertions, 6 deletions
diff --git a/emcc b/emcc
index bb1a2496..ace14ece 100755
--- a/emcc
+++ b/emcc
@@ -140,12 +140,10 @@ Options that are modified or new in %s include:
optimizations, and no runtime assertions
or C++ exception catching (to re-enable
C++ exception catching, use
- -s DISABLE_EXCEPTION_CATCHING=0 ). 32-bit
- multiplication is done in JS doubles which
- is fast but imprecise for high values.
+ -s DISABLE_EXCEPTION_CATCHING=0 ).
(For details on the affects of different
opt levels, see apply_opt_level() in
- tools/shared.py)
+ tools/shared.py and also src/settings.js.)
Note: Optimizations are only done when
compiling to JavaScript, not to intermediate
bitcode.
diff --git a/src/settings.js b/src/settings.js
index 110cc246..cf329568 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -79,7 +79,7 @@ var PRECISE_I64_MATH = 1; // If enabled, i64 addition etc. is emulated - which i
// Note that we do not catch 32-bit multiplication by default (which must be done in
// 64 bits for high values for full precision) - you must manually set PRECISE_I32_MUL
// for that.
-var PRECISE_I32_MUL = 1; // If enabled, i64 math is done in i32 multiplication. This is necessary if the values
+var PRECISE_I32_MUL = 0; // If enabled, i64 math is done in i32 multiplication. This is necessary if the values
// exceed the JS double-integer limit of ~52 bits. This option can normally be disabled
// because generally i32 multiplication works ok without it, and enabling it has a big
// impact on performance.
diff --git a/tools/shared.py b/tools/shared.py
index 57541077..672a1a18 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -413,7 +413,6 @@ class Settings:
if opt_level >= 1:
Settings.ASSERTIONS = 0
Settings.DISABLE_EXCEPTION_CATCHING = 1
- Settings.PRECISE_I32_MUL = 0
if opt_level >= 2:
Settings.RELOOP = 1
if opt_level >= 3: