diff options
Diffstat (limited to 'test/wasm2asm/float_misc.2asm.js')
-rw-r--r-- | test/wasm2asm/float_misc.2asm.js | 84 |
1 files changed, 38 insertions, 46 deletions
diff --git a/test/wasm2asm/float_misc.2asm.js b/test/wasm2asm/float_misc.2asm.js index 71ba6e79b..6b78f6108 100644 --- a/test/wasm2asm/float_misc.2asm.js +++ b/test/wasm2asm/float_misc.2asm.js @@ -199,52 +199,44 @@ function asmFunc(global, env, buffer) { return +Math_max(x, y); } - function __wasm_nearest_f32($0) { - $0 = Math_fround($0); - var $2 = Math_fround(0), $1 = Math_fround(0), $3 = Math_fround(0), $34 = Math_fround(0), $32 = Math_fround(0), $4 = Math_fround(0), $28 = Math_fround(0); - $1 = Math_fround(Math_ceil($0)); - $2 = Math_fround(Math_floor($0)); - $3 = Math_fround($0 - $2); - if ($3 < Math_fround(.5)) $34 = $2; else { - if ($3 > Math_fround(.5)) $32 = $1; else { - $4 = Math_fround($2 / Math_fround(2.0)); - if (Math_fround($4 - Math_fround(Math_floor($4))) == Math_fround(0.0)) $28 = $2; else $28 = $1; - $32 = $28; - } - $34 = $32; - } - return Math_fround($34); - } - - function __wasm_nearest_f64($0) { - $0 = +$0; - var $2 = 0.0, $1 = 0.0, $3 = 0.0, $34 = 0.0, $32 = 0.0, $4 = 0.0, $28 = 0.0; - $1 = Math_ceil($0); - $2 = Math_floor($0); - $3 = $0 - $2; - if ($3 < .5) $34 = $2; else { - if ($3 > .5) $32 = $1; else { - $4 = $2 / 2.0; - if ($4 - Math_floor($4) == 0.0) $28 = $2; else $28 = $1; - $32 = $28; - } - $34 = $32; - } - return +$34; - } - - function __wasm_trunc_f32($0) { - $0 = Math_fround($0); - var $7 = Math_fround(0); - if ($0 < Math_fround(0.0)) $7 = Math_fround(Math_ceil($0)); else $7 = Math_fround(Math_floor($0)); - return Math_fround($7); - } - - function __wasm_trunc_f64($0) { - $0 = +$0; - var $7 = 0.0; - if ($0 < 0.0) $7 = Math_ceil($0); else $7 = Math_floor($0); - return +$7; + function __wasm_nearest_f32(var$0) { + var$0 = Math_fround(var$0); + var var$1 = Math_fround(0), var$2 = Math_fround(0), wasm2asm_f32$0 = Math_fround(0), wasm2asm_f32$1 = Math_fround(0), wasm2asm_i32$0 = 0; + var$1 = Math_fround(Math_floor(var$0)); + var$2 = Math_fround(var$0 - var$1); + if ((var$2 < Math_fround(.5) | 0) == (0 | 0)) block : { + var$0 = Math_fround(Math_ceil(var$0)); + if (var$2 > Math_fround(.5)) return Math_fround(var$0); + var$2 = Math_fround(var$1 * Math_fround(.5)); + var$1 = (wasm2asm_i32$0 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0), wasm2asm_f32$0 = var$1, wasm2asm_f32$1 = var$0, wasm2asm_i32$0 ? wasm2asm_f32$0 : wasm2asm_f32$1); + }; + return Math_fround(var$1); + } + + function __wasm_nearest_f64(var$0) { + var$0 = +var$0; + var var$1 = 0.0, var$2 = 0.0, wasm2asm_f64$0 = 0.0, wasm2asm_f64$1 = 0.0, wasm2asm_i32$0 = 0; + var$1 = Math_floor(var$0); + var$2 = var$0 - var$1; + if ((var$2 < .5 | 0) == (0 | 0)) block : { + var$0 = Math_ceil(var$0); + if (var$2 > .5) return +var$0; + var$2 = var$1 * .5; + var$1 = (wasm2asm_i32$0 = var$2 - Math_floor(var$2) == 0.0, wasm2asm_f64$0 = var$1, wasm2asm_f64$1 = var$0, wasm2asm_i32$0 ? wasm2asm_f64$0 : wasm2asm_f64$1); + }; + return +var$1; + } + + function __wasm_trunc_f32(var$0) { + var$0 = Math_fround(var$0); + var wasm2asm_f32$0 = Math_fround(0), wasm2asm_f32$1 = Math_fround(0), wasm2asm_i32$0 = 0; + return Math_fround((wasm2asm_i32$0 = var$0 < Math_fround(0.0), wasm2asm_f32$0 = Math_fround(Math_ceil(var$0)), wasm2asm_f32$1 = Math_fround(Math_floor(var$0)), wasm2asm_i32$0 ? wasm2asm_f32$0 : wasm2asm_f32$1)); + } + + function __wasm_trunc_f64(var$0) { + var$0 = +var$0; + var wasm2asm_f64$0 = 0.0, wasm2asm_f64$1 = 0.0, wasm2asm_i32$0 = 0; + return +(wasm2asm_i32$0 = var$0 < 0.0, wasm2asm_f64$0 = Math_ceil(var$0), wasm2asm_f64$1 = Math_floor(var$0), wasm2asm_i32$0 ? wasm2asm_f64$0 : wasm2asm_f64$1); } return { |