diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-02-04 11:54:12 -0500 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-02-04 11:54:12 -0500 |
commit | 71c8f19c6e63539565641b5d992ba69d27e55475 (patch) | |
tree | 6c6bad04664f37ae8e938285e61090f2d9780d65 /tools/test-js-optimizer-asm-pre.js | |
parent | 3136112a0000d94024851347b3fc03e178481add (diff) |
do not apply de-morgan's laws on floats, nans break them
Diffstat (limited to 'tools/test-js-optimizer-asm-pre.js')
-rw-r--r-- | tools/test-js-optimizer-asm-pre.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/test-js-optimizer-asm-pre.js b/tools/test-js-optimizer-asm-pre.js index 83b472d9..00ebd7d7 100644 --- a/tools/test-js-optimizer-asm-pre.js +++ b/tools/test-js-optimizer-asm-pre.js @@ -540,4 +540,14 @@ function badf2() { $9 = (HEAPF32[tempDoublePtr>>2]=$8,HEAP32[tempDoublePtr>>2]|0); HEAP32[$gep23_asptr>>2] = $9; } -// EMSCRIPTEN_GENERATED_FUNCTIONS: ["a", "b", "rett", "ret2t", "retf", "i32_8", "tempDoublePtr", "boxx", "_main", "badf", "badf2"] +function fcomp() { + // de-morgan's laws are not valid on floats, due to NaNs >:( + if (!($y < $x)) return 5; + if (!(5 < $x)) return 5; + if (!($y < 5)) return 5; + if (!(($a|0) < ($b|0))) return 5; + if (!(($a|0) < 5)) return 5; + if (!(5 < ($b|0))) return 5; + if (!(5 < 5)) return 5; +} +// EMSCRIPTEN_GENERATED_FUNCTIONS: ["a", "b", "rett", "ret2t", "retf", "i32_8", "tempDoublePtr", "boxx", "_main", "badf", "badf2", "fcomp"] |