summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/asmjs/shared-constants.cpp3
-rw-r--r--src/asmjs/shared-constants.h5
-rw-r--r--src/passes/RemoveNonJSOps.cpp7
-rw-r--r--src/passes/wasm-intrinsics.wat34
-rw-r--r--src/wasm2js.h8
-rw-r--r--test/binaryen.js/emit_asmjs.js.txt1
-rw-r--r--test/passes/remove-non-js-ops.txt32
-rw-r--r--test/wasm2js.asserts.js1
-rw-r--r--test/wasm2js.traps.js1
-rw-r--r--test/wasm2js/add_div.2asm.js1
-rw-r--r--test/wasm2js/add_div.2asm.js.opt1
-rw-r--r--test/wasm2js/atomic_fence.2asm.js1
-rw-r--r--test/wasm2js/atomic_fence.2asm.js.opt1
-rw-r--r--test/wasm2js/atomics_32.2asm.js1
-rw-r--r--test/wasm2js/atomics_32.2asm.js.opt1
-rw-r--r--test/wasm2js/base64.2asm.js1
-rw-r--r--test/wasm2js/base64.2asm.js.opt1
-rw-r--r--test/wasm2js/br.2asm.js1
-rw-r--r--test/wasm2js/br_table.2asm.js1
-rw-r--r--test/wasm2js/br_table_hoisting.2asm.js1
-rw-r--r--test/wasm2js/br_table_hoisting.2asm.js.opt1
-rw-r--r--test/wasm2js/br_table_temp.2asm.js1
-rw-r--r--test/wasm2js/br_table_temp.2asm.js.opt1
-rw-r--r--test/wasm2js/br_table_to_loop.2asm.js1
-rw-r--r--test/wasm2js/br_table_to_loop.2asm.js.opt1
-rw-r--r--test/wasm2js/break-drop.2asm.js1
-rw-r--r--test/wasm2js/bulk-memory.2asm.js5
-rw-r--r--test/wasm2js/bulk-memory.2asm.js.opt5
-rw-r--r--test/wasm2js/comments.2asm.js2
-rw-r--r--test/wasm2js/conversions-modified.2asm.js1
-rw-r--r--test/wasm2js/conversions-modified.2asm.js.opt1
-rw-r--r--test/wasm2js/deterministic.2asm.js1
-rw-r--r--test/wasm2js/deterministic.2asm.js.opt1
-rw-r--r--test/wasm2js/dot_import.2asm.js1
-rw-r--r--test/wasm2js/dot_import.2asm.js.opt1
-rw-r--r--test/wasm2js/dynamicLibrary.2asm.js1
-rw-r--r--test/wasm2js/dynamicLibrary.2asm.js.opt1
-rw-r--r--test/wasm2js/empty_export.2asm.js1
-rw-r--r--test/wasm2js/empty_export.2asm.js.opt1
-rw-r--r--test/wasm2js/empty_table.2asm.js1
-rw-r--r--test/wasm2js/emscripten-grow-no.2asm.js1
-rw-r--r--test/wasm2js/emscripten-grow-no.2asm.js.opt1
-rw-r--r--test/wasm2js/emscripten-grow-yes.2asm.js1
-rw-r--r--test/wasm2js/emscripten-grow-yes.2asm.js.opt1
-rw-r--r--test/wasm2js/emscripten.2asm.js1
-rw-r--r--test/wasm2js/emscripten.2asm.js.opt1
-rw-r--r--test/wasm2js/endianness.2asm.js1
-rw-r--r--test/wasm2js/excess_fallthrough.2asm.js1
-rw-r--r--test/wasm2js/excess_fallthrough.2asm.js.opt1
-rw-r--r--test/wasm2js/f32.2asm.js8
-rw-r--r--test/wasm2js/f32_cmp.2asm.js1
-rw-r--r--test/wasm2js/f64_cmp.2asm.js1
-rw-r--r--test/wasm2js/fac.2asm.js1
-rw-r--r--test/wasm2js/float-ops.2asm.js1
-rw-r--r--test/wasm2js/float-ops.2asm.js.opt1
-rw-r--r--test/wasm2js/float_literals-modified.2asm.js1
-rw-r--r--test/wasm2js/float_literals-modified.2asm.js.opt1
-rw-r--r--test/wasm2js/float_misc.2asm.js15
-rw-r--r--test/wasm2js/forward.2asm.js1
-rw-r--r--test/wasm2js/func-ptr-offset.2asm.js1
-rw-r--r--test/wasm2js/func-ptr-offset.2asm.js.opt1
-rw-r--r--test/wasm2js/func_ptrs.2asm.js3
-rw-r--r--test/wasm2js/get-set-local.2asm.js1
-rw-r--r--test/wasm2js/get-set-local.2asm.js.opt1
-rw-r--r--test/wasm2js/get_local.2asm.js1
-rw-r--r--test/wasm2js/global_i64.2asm.js1
-rw-r--r--test/wasm2js/global_i64.2asm.js.opt1
-rw-r--r--test/wasm2js/grow-memory-tricky.2asm.js1
-rw-r--r--test/wasm2js/grow-memory-tricky.2asm.js.opt1
-rw-r--r--test/wasm2js/grow_memory.2asm.js1
-rw-r--r--test/wasm2js/i32.2asm.js1
-rw-r--r--test/wasm2js/i64-add-sub.2asm.js1
-rw-r--r--test/wasm2js/i64-add-sub.2asm.js.opt1
-rw-r--r--test/wasm2js/i64-ctz.2asm.js1
-rw-r--r--test/wasm2js/i64-ctz.2asm.js.opt1
-rw-r--r--test/wasm2js/i64-lowering.2asm.js1
-rw-r--r--test/wasm2js/i64-lowering.2asm.js.opt1
-rw-r--r--test/wasm2js/i64-rotate.2asm.js1
-rw-r--r--test/wasm2js/i64-rotate.2asm.js.opt1
-rw-r--r--test/wasm2js/i64-select.2asm.js1
-rw-r--r--test/wasm2js/i64-select.2asm.js.opt1
-rw-r--r--test/wasm2js/i64-shifts.2asm.js1
-rw-r--r--test/wasm2js/i64-shifts.2asm.js.opt1
-rw-r--r--test/wasm2js/if_unreachable.2asm.js1
-rw-r--r--test/wasm2js/if_unreachable.2asm.js.opt1
-rw-r--r--test/wasm2js/indirect-select.2asm.js1
-rw-r--r--test/wasm2js/indirect-select.2asm.js.opt1
-rw-r--r--test/wasm2js/int_exprs.2asm.js19
-rw-r--r--test/wasm2js/labels.2asm.js1
-rw-r--r--test/wasm2js/left-to-right.2asm.js1
-rw-r--r--test/wasm2js/minified-memory.2asm.js1
-rw-r--r--test/wasm2js/minified-memory.2asm.js.opt1
-rw-r--r--test/wasm2js/minus_minus.2asm.js1
-rw-r--r--test/wasm2js/minus_minus.2asm.js.opt1
-rw-r--r--test/wasm2js/nested-selects.2asm.js1
-rw-r--r--test/wasm2js/nested-selects.2asm.js.opt1
-rw-r--r--test/wasm2js/ordering.2asm.js1
-rw-r--r--test/wasm2js/ordering.2asm.js.opt1
-rw-r--r--test/wasm2js/reinterpret.2asm.js1
-rw-r--r--test/wasm2js/reinterpret.2asm.js.opt1
-rw-r--r--test/wasm2js/reinterpret_scratch.2asm.js1
-rw-r--r--test/wasm2js/reinterpret_scratch.2asm.js.opt1
-rw-r--r--test/wasm2js/set_local.2asm.js1
-rw-r--r--test/wasm2js/sign_ext.2asm.js1
-rw-r--r--test/wasm2js/sign_ext.2asm.js.opt1
-rw-r--r--test/wasm2js/stack-modified.2asm.js1
-rw-r--r--test/wasm2js/stack-modified.2asm.js.opt1
-rw-r--r--test/wasm2js/start_func.2asm.js1
-rw-r--r--test/wasm2js/start_func.2asm.js.opt1
-rw-r--r--test/wasm2js/switch.2asm.js1
-rw-r--r--test/wasm2js/tee_local.2asm.js1
-rw-r--r--test/wasm2js/traps.2asm.js4
-rw-r--r--test/wasm2js/unaligned.2asm.js1
-rw-r--r--test/wasm2js/unaligned.2asm.js.opt1
-rw-r--r--test/wasm2js/unary-ops.2asm.js1
-rw-r--r--test/wasm2js/unary-ops.2asm.js.opt1
-rw-r--r--test/wasm2js/unreachable-get-cycle.2asm.js1
-rw-r--r--test/wasm2js/unreachable-get-cycle.2asm.js.opt1
-rw-r--r--test/wasm2js/unreachable-insts.2asm.js1
-rw-r--r--test/wasm2js/unreachable-insts.2asm.js.opt1
-rw-r--r--test/wasm2js/unreachable-later.2asm.js1
-rw-r--r--test/wasm2js/unreachable-later.2asm.js.opt1
122 files changed, 162 insertions, 96 deletions
diff --git a/src/asmjs/shared-constants.cpp b/src/asmjs/shared-constants.cpp
index 2cb7d901c..20b148155 100644
--- a/src/asmjs/shared-constants.cpp
+++ b/src/asmjs/shared-constants.cpp
@@ -52,6 +52,7 @@ cashew::IString I32U_REM("i32u-rem");
cashew::IString ABS("abs");
cashew::IString FLOOR("floor");
cashew::IString CEIL("ceil");
+cashew::IString TRUNC("trunc");
cashew::IString SQRT("sqrt");
cashew::IString POW("pow");
cashew::IString I32_TEMP("asm2wasm_i32_temp");
@@ -86,8 +87,6 @@ cashew::IString WASM_FETCH_HIGH_BITS("__wasm_fetch_high_bits");
cashew::IString INT64_TO_32_HIGH_BITS("i64toi32_i32$HIGH_BITS");
cashew::IString WASM_NEAREST_F32("__wasm_nearest_f32");
cashew::IString WASM_NEAREST_F64("__wasm_nearest_f64");
-cashew::IString WASM_TRUNC_F32("__wasm_trunc_f32");
-cashew::IString WASM_TRUNC_F64("__wasm_trunc_f64");
cashew::IString WASM_I64_MUL("__wasm_i64_mul");
cashew::IString WASM_I64_SDIV("__wasm_i64_sdiv");
cashew::IString WASM_I64_UDIV("__wasm_i64_udiv");
diff --git a/src/asmjs/shared-constants.h b/src/asmjs/shared-constants.h
index d458db684..20edacb7e 100644
--- a/src/asmjs/shared-constants.h
+++ b/src/asmjs/shared-constants.h
@@ -55,6 +55,7 @@ extern cashew::IString I32U_REM;
extern cashew::IString ABS;
extern cashew::IString FLOOR;
extern cashew::IString CEIL;
+extern cashew::IString TRUNC;
extern cashew::IString SQRT;
extern cashew::IString POW;
extern cashew::IString I32_TEMP;
@@ -66,8 +67,8 @@ extern cashew::IString STACK_MAX;
extern cashew::IString INSTRUMENT;
extern cashew::IString MATH_IMUL;
extern cashew::IString MATH_ABS;
-extern cashew::IString MATH_CEIL;
extern cashew::IString MATH_CLZ32;
+extern cashew::IString MATH_CEIL;
extern cashew::IString MATH_FLOOR;
extern cashew::IString MATH_TRUNC;
extern cashew::IString MATH_SQRT;
@@ -89,8 +90,6 @@ extern cashew::IString WASM_FETCH_HIGH_BITS;
extern cashew::IString INT64_TO_32_HIGH_BITS;
extern cashew::IString WASM_NEAREST_F32;
extern cashew::IString WASM_NEAREST_F64;
-extern cashew::IString WASM_TRUNC_F32;
-extern cashew::IString WASM_TRUNC_F64;
extern cashew::IString WASM_I64_MUL;
extern cashew::IString WASM_I64_SDIV;
extern cashew::IString WASM_I64_UDIV;
diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp
index abd3526c4..08e6e6482 100644
--- a/src/passes/RemoveNonJSOps.cpp
+++ b/src/passes/RemoveNonJSOps.cpp
@@ -299,13 +299,6 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> {
functionCall = WASM_NEAREST_F64;
break;
- case TruncFloat32:
- functionCall = WASM_TRUNC_F32;
- break;
- case TruncFloat64:
- functionCall = WASM_TRUNC_F64;
- break;
-
case PopcntInt64:
functionCall = WASM_POPCNT64;
break;
diff --git a/src/passes/wasm-intrinsics.wat b/src/passes/wasm-intrinsics.wat
index 17bf0d649..185bef961 100644
--- a/src/passes/wasm-intrinsics.wat
+++ b/src/passes/wasm-intrinsics.wat
@@ -26,8 +26,6 @@
(export "__wasm_i64_srem" (func $__wasm_i64_srem))
(export "__wasm_i64_urem" (func $__wasm_i64_urem))
(export "__wasm_i64_mul" (func $__wasm_i64_mul))
- (export "__wasm_trunc_f32" (func $__wasm_trunc_f32))
- (export "__wasm_trunc_f64" (func $__wasm_trunc_f64))
(export "__wasm_ctz_i32" (func $__wasm_ctz_i32))
(export "__wasm_ctz_i64" (func $__wasm_ctz_i64))
(export "__wasm_rotl_i32" (func $__wasm_rotl_i32))
@@ -144,38 +142,6 @@
(local.get $var$1)
)
)
- ;; lowering of the f32.trunc instruction, rounds to the nearest integer,
- ;; towards zero
- (func $__wasm_trunc_f32 (; 5 ;) (type $1) (param $var$0 f32) (result f32)
- (select
- (f32.ceil
- (local.get $var$0)
- )
- (f32.floor
- (local.get $var$0)
- )
- (f32.lt
- (local.get $var$0)
- (f32.const 0)
- )
- )
- )
- ;; lowering of the f64.trunc instruction, rounds to the nearest integer,
- ;; towards zero
- (func $__wasm_trunc_f64 (; 6 ;) (type $2) (param $var$0 f64) (result f64)
- (select
- (f64.ceil
- (local.get $var$0)
- )
- (f64.floor
- (local.get $var$0)
- )
- (f64.lt
- (local.get $var$0)
- (f64.const 0)
- )
- )
- )
;; lowering of the i32.ctz instruction, counting the number of zeros in $var$0
(func $__wasm_ctz_i32 (; 7 ;) (type $3) (param $var$0 i32) (result i32)
(if
diff --git a/src/wasm2js.h b/src/wasm2js.h
index bdaa2f9f7..b31886329 100644
--- a/src/wasm2js.h
+++ b/src/wasm2js.h
@@ -519,6 +519,7 @@ void Wasm2JSBuilder::addBasics(Ref ast, Module* wasm) {
addMath(MATH_MAX, MAX);
addMath(MATH_FLOOR, FLOOR);
addMath(MATH_CEIL, CEIL);
+ addMath(MATH_TRUNC, TRUNC);
addMath(MATH_SQRT, SQRT);
// abort function
Ref abortVar = ValueBuilder::makeVar();
@@ -1613,6 +1614,11 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m,
ret = ValueBuilder::makeCall(
MATH_FLOOR, visit(curr->value, EXPRESSION_RESULT));
break;
+ case TruncFloat32:
+ case TruncFloat64:
+ ret = ValueBuilder::makeCall(
+ MATH_TRUNC, visit(curr->value, EXPRESSION_RESULT));
+ break;
case SqrtFloat32:
case SqrtFloat64:
ret = ValueBuilder::makeCall(
@@ -1666,8 +1672,6 @@ Ref Wasm2JSBuilder::processFunctionBody(Module* m,
// TODO: more complex unary conversions
case NearestFloat32:
case NearestFloat64:
- case TruncFloat32:
- case TruncFloat64:
WASM_UNREACHABLE(
"operation should have been removed in previous passes");
diff --git a/test/binaryen.js/emit_asmjs.js.txt b/test/binaryen.js/emit_asmjs.js.txt
index f548b1250..90babcb90 100644
--- a/test/binaryen.js/emit_asmjs.js.txt
+++ b/test/binaryen.js/emit_asmjs.js.txt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/passes/remove-non-js-ops.txt b/test/passes/remove-non-js-ops.txt
index 8872a935f..cd32fb11c 100644
--- a/test/passes/remove-non-js-ops.txt
+++ b/test/passes/remove-non-js-ops.txt
@@ -103,12 +103,12 @@
)
)
(func $trunc64 (param $0 f64) (result f64)
- (call $__wasm_trunc_f64
+ (f64.trunc
(local.get $0)
)
)
(func $trunc32 (param $0 f32) (result f32)
- (call $__wasm_trunc_f32
+ (f32.trunc
(local.get $0)
)
)
@@ -1111,32 +1111,4 @@
)
)
)
- (func $__wasm_trunc_f32 (param $var$0 f32) (result f32)
- (select
- (f32.ceil
- (local.get $var$0)
- )
- (f32.floor
- (local.get $var$0)
- )
- (f32.lt
- (local.get $var$0)
- (f32.const 0)
- )
- )
- )
- (func $__wasm_trunc_f64 (param $var$0 f64) (result f64)
- (select
- (f64.ceil
- (local.get $var$0)
- )
- (f64.floor
- (local.get $var$0)
- )
- (f64.lt
- (local.get $var$0)
- (f64.const 0)
- )
- )
- )
)
diff --git a/test/wasm2js.asserts.js b/test/wasm2js.asserts.js
index d4d03959f..e2da0da5c 100644
--- a/test/wasm2js.asserts.js
+++ b/test/wasm2js.asserts.js
@@ -39,6 +39,7 @@ function asmFunc0(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js.traps.js b/test/wasm2js.traps.js
index 8089dfdb0..dfe3a5212 100644
--- a/test/wasm2js.traps.js
+++ b/test/wasm2js.traps.js
@@ -39,6 +39,7 @@ function asmFunc0(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/add_div.2asm.js b/test/wasm2js/add_div.2asm.js
index 6a8896863..f160dcbc8 100644
--- a/test/wasm2js/add_div.2asm.js
+++ b/test/wasm2js/add_div.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/add_div.2asm.js.opt b/test/wasm2js/add_div.2asm.js.opt
index 9199e21ba..1e575d9f5 100644
--- a/test/wasm2js/add_div.2asm.js.opt
+++ b/test/wasm2js/add_div.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/atomic_fence.2asm.js b/test/wasm2js/atomic_fence.2asm.js
index 4bde4a32e..58945e012 100644
--- a/test/wasm2js/atomic_fence.2asm.js
+++ b/test/wasm2js/atomic_fence.2asm.js
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/atomic_fence.2asm.js.opt b/test/wasm2js/atomic_fence.2asm.js.opt
index ba58088de..666988ae6 100644
--- a/test/wasm2js/atomic_fence.2asm.js.opt
+++ b/test/wasm2js/atomic_fence.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/atomics_32.2asm.js b/test/wasm2js/atomics_32.2asm.js
index d3c1ba22b..21ee57328 100644
--- a/test/wasm2js/atomics_32.2asm.js
+++ b/test/wasm2js/atomics_32.2asm.js
@@ -84,6 +84,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/atomics_32.2asm.js.opt b/test/wasm2js/atomics_32.2asm.js.opt
index a12b684dc..7bb660272 100644
--- a/test/wasm2js/atomics_32.2asm.js.opt
+++ b/test/wasm2js/atomics_32.2asm.js.opt
@@ -84,6 +84,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/base64.2asm.js b/test/wasm2js/base64.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/base64.2asm.js
+++ b/test/wasm2js/base64.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/base64.2asm.js.opt b/test/wasm2js/base64.2asm.js.opt
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/base64.2asm.js.opt
+++ b/test/wasm2js/base64.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br.2asm.js b/test/wasm2js/br.2asm.js
index bdaed6a41..ccd6bff3a 100644
--- a/test/wasm2js/br.2asm.js
+++ b/test/wasm2js/br.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table.2asm.js b/test/wasm2js/br_table.2asm.js
index 9944a7495..a95871c22 100644
--- a/test/wasm2js/br_table.2asm.js
+++ b/test/wasm2js/br_table.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_hoisting.2asm.js b/test/wasm2js/br_table_hoisting.2asm.js
index 8f4b37eb0..9bf6abdac 100644
--- a/test/wasm2js/br_table_hoisting.2asm.js
+++ b/test/wasm2js/br_table_hoisting.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_hoisting.2asm.js.opt b/test/wasm2js/br_table_hoisting.2asm.js.opt
index fcbee7aa1..422c33af1 100644
--- a/test/wasm2js/br_table_hoisting.2asm.js.opt
+++ b/test/wasm2js/br_table_hoisting.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_temp.2asm.js b/test/wasm2js/br_table_temp.2asm.js
index a7302adae..3414631e0 100644
--- a/test/wasm2js/br_table_temp.2asm.js
+++ b/test/wasm2js/br_table_temp.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_temp.2asm.js.opt b/test/wasm2js/br_table_temp.2asm.js.opt
index acaffa70b..b4198a4dc 100644
--- a/test/wasm2js/br_table_temp.2asm.js.opt
+++ b/test/wasm2js/br_table_temp.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_to_loop.2asm.js b/test/wasm2js/br_table_to_loop.2asm.js
index 406711ae0..0d33a87e4 100644
--- a/test/wasm2js/br_table_to_loop.2asm.js
+++ b/test/wasm2js/br_table_to_loop.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/br_table_to_loop.2asm.js.opt b/test/wasm2js/br_table_to_loop.2asm.js.opt
index a161c406c..b69dcdd3d 100644
--- a/test/wasm2js/br_table_to_loop.2asm.js.opt
+++ b/test/wasm2js/br_table_to_loop.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/break-drop.2asm.js b/test/wasm2js/break-drop.2asm.js
index c022da64f..a3fc7a961 100644
--- a/test/wasm2js/break-drop.2asm.js
+++ b/test/wasm2js/break-drop.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/bulk-memory.2asm.js b/test/wasm2js/bulk-memory.2asm.js
index c847dbdfd..71f7168c5 100644
--- a/test/wasm2js/bulk-memory.2asm.js
+++ b/test/wasm2js/bulk-memory.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -50,6 +51,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -135,6 +137,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -220,6 +223,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -332,6 +336,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/bulk-memory.2asm.js.opt b/test/wasm2js/bulk-memory.2asm.js.opt
index 4e6ccc529..06fc201af 100644
--- a/test/wasm2js/bulk-memory.2asm.js.opt
+++ b/test/wasm2js/bulk-memory.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -50,6 +51,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -135,6 +137,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -220,6 +223,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -314,6 +318,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/comments.2asm.js b/test/wasm2js/comments.2asm.js
index e3ceaac4f..5689ecdc5 100644
--- a/test/wasm2js/comments.2asm.js
+++ b/test/wasm2js/comments.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -29,6 +30,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/conversions-modified.2asm.js b/test/wasm2js/conversions-modified.2asm.js
index 68bb60d19..6f4ec810f 100644
--- a/test/wasm2js/conversions-modified.2asm.js
+++ b/test/wasm2js/conversions-modified.2asm.js
@@ -39,6 +39,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/conversions-modified.2asm.js.opt b/test/wasm2js/conversions-modified.2asm.js.opt
index 2cbf228b1..499b78c5b 100644
--- a/test/wasm2js/conversions-modified.2asm.js.opt
+++ b/test/wasm2js/conversions-modified.2asm.js.opt
@@ -39,6 +39,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/deterministic.2asm.js b/test/wasm2js/deterministic.2asm.js
index b465f0d57..794633c8d 100644
--- a/test/wasm2js/deterministic.2asm.js
+++ b/test/wasm2js/deterministic.2asm.js
@@ -18,6 +18,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/deterministic.2asm.js.opt b/test/wasm2js/deterministic.2asm.js.opt
index be4f26cfe..d95a0e367 100644
--- a/test/wasm2js/deterministic.2asm.js.opt
+++ b/test/wasm2js/deterministic.2asm.js.opt
@@ -18,6 +18,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/dot_import.2asm.js b/test/wasm2js/dot_import.2asm.js
index dcdd7da07..bfeb025b8 100644
--- a/test/wasm2js/dot_import.2asm.js
+++ b/test/wasm2js/dot_import.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/dot_import.2asm.js.opt b/test/wasm2js/dot_import.2asm.js.opt
index dcdd7da07..bfeb025b8 100644
--- a/test/wasm2js/dot_import.2asm.js.opt
+++ b/test/wasm2js/dot_import.2asm.js.opt
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/dynamicLibrary.2asm.js b/test/wasm2js/dynamicLibrary.2asm.js
index 22d483f45..0f91ab77e 100644
--- a/test/wasm2js/dynamicLibrary.2asm.js
+++ b/test/wasm2js/dynamicLibrary.2asm.js
@@ -31,6 +31,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/dynamicLibrary.2asm.js.opt b/test/wasm2js/dynamicLibrary.2asm.js.opt
index cd959acb8..44658694e 100644
--- a/test/wasm2js/dynamicLibrary.2asm.js.opt
+++ b/test/wasm2js/dynamicLibrary.2asm.js.opt
@@ -31,6 +31,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/empty_export.2asm.js b/test/wasm2js/empty_export.2asm.js
index d63128f38..a4e12d569 100644
--- a/test/wasm2js/empty_export.2asm.js
+++ b/test/wasm2js/empty_export.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/empty_export.2asm.js.opt b/test/wasm2js/empty_export.2asm.js.opt
index d63128f38..a4e12d569 100644
--- a/test/wasm2js/empty_export.2asm.js.opt
+++ b/test/wasm2js/empty_export.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/empty_table.2asm.js b/test/wasm2js/empty_table.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/empty_table.2asm.js
+++ b/test/wasm2js/empty_table.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten-grow-no.2asm.js b/test/wasm2js/emscripten-grow-no.2asm.js
index 4d6bb4c77..37d1b31ad 100644
--- a/test/wasm2js/emscripten-grow-no.2asm.js
+++ b/test/wasm2js/emscripten-grow-no.2asm.js
@@ -18,6 +18,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten-grow-no.2asm.js.opt b/test/wasm2js/emscripten-grow-no.2asm.js.opt
index 4d6bb4c77..37d1b31ad 100644
--- a/test/wasm2js/emscripten-grow-no.2asm.js.opt
+++ b/test/wasm2js/emscripten-grow-no.2asm.js.opt
@@ -18,6 +18,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten-grow-yes.2asm.js b/test/wasm2js/emscripten-grow-yes.2asm.js
index 213524377..b3cd9fa5e 100644
--- a/test/wasm2js/emscripten-grow-yes.2asm.js
+++ b/test/wasm2js/emscripten-grow-yes.2asm.js
@@ -19,6 +19,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten-grow-yes.2asm.js.opt b/test/wasm2js/emscripten-grow-yes.2asm.js.opt
index 213524377..b3cd9fa5e 100644
--- a/test/wasm2js/emscripten-grow-yes.2asm.js.opt
+++ b/test/wasm2js/emscripten-grow-yes.2asm.js.opt
@@ -19,6 +19,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten.2asm.js b/test/wasm2js/emscripten.2asm.js
index e71aaaa83..5cbb50b14 100644
--- a/test/wasm2js/emscripten.2asm.js
+++ b/test/wasm2js/emscripten.2asm.js
@@ -17,6 +17,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/emscripten.2asm.js.opt b/test/wasm2js/emscripten.2asm.js.opt
index 05ecfea7d..e055c7034 100644
--- a/test/wasm2js/emscripten.2asm.js.opt
+++ b/test/wasm2js/emscripten.2asm.js.opt
@@ -17,6 +17,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js
index d6c557a22..81d7f2694 100644
--- a/test/wasm2js/endianness.2asm.js
+++ b/test/wasm2js/endianness.2asm.js
@@ -47,6 +47,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/excess_fallthrough.2asm.js b/test/wasm2js/excess_fallthrough.2asm.js
index 7afed50d3..17db9573f 100644
--- a/test/wasm2js/excess_fallthrough.2asm.js
+++ b/test/wasm2js/excess_fallthrough.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/excess_fallthrough.2asm.js.opt b/test/wasm2js/excess_fallthrough.2asm.js.opt
index 0a935b246..d54b292f4 100644
--- a/test/wasm2js/excess_fallthrough.2asm.js.opt
+++ b/test/wasm2js/excess_fallthrough.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/f32.2asm.js b/test/wasm2js/f32.2asm.js
index f99d0f97f..66c0b9334 100644
--- a/test/wasm2js/f32.2asm.js
+++ b/test/wasm2js/f32.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -65,7 +66,7 @@ function asmFunc(env) {
function $9(x) {
x = Math_fround(x);
- return Math_fround(Math_fround(__wasm_trunc_f32(Math_fround(x))));
+ return Math_fround(Math_fround(Math_trunc(x)));
}
function $10(x) {
@@ -91,11 +92,6 @@ function asmFunc(env) {
return Math_fround(var$1);
}
- function __wasm_trunc_f32(var$0) {
- var$0 = Math_fround(var$0);
- return Math_fround(var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0)));
- }
-
return {
"add": $0,
"sub": $1,
diff --git a/test/wasm2js/f32_cmp.2asm.js b/test/wasm2js/f32_cmp.2asm.js
index fdd72dc9a..54ba6033b 100644
--- a/test/wasm2js/f32_cmp.2asm.js
+++ b/test/wasm2js/f32_cmp.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/f64_cmp.2asm.js b/test/wasm2js/f64_cmp.2asm.js
index 754298954..127beaadb 100644
--- a/test/wasm2js/f64_cmp.2asm.js
+++ b/test/wasm2js/f64_cmp.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/fac.2asm.js b/test/wasm2js/fac.2asm.js
index 116036940..e8b31b14f 100644
--- a/test/wasm2js/fac.2asm.js
+++ b/test/wasm2js/fac.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/float-ops.2asm.js b/test/wasm2js/float-ops.2asm.js
index 685b7bd9c..4ae8dbc43 100644
--- a/test/wasm2js/float-ops.2asm.js
+++ b/test/wasm2js/float-ops.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/float-ops.2asm.js.opt b/test/wasm2js/float-ops.2asm.js.opt
index c0c49f062..ae9e7c87f 100644
--- a/test/wasm2js/float-ops.2asm.js.opt
+++ b/test/wasm2js/float-ops.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/float_literals-modified.2asm.js b/test/wasm2js/float_literals-modified.2asm.js
index 143a36dc3..aaa086d83 100644
--- a/test/wasm2js/float_literals-modified.2asm.js
+++ b/test/wasm2js/float_literals-modified.2asm.js
@@ -27,6 +27,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/float_literals-modified.2asm.js.opt b/test/wasm2js/float_literals-modified.2asm.js.opt
index 5772a095e..9ae915a51 100644
--- a/test/wasm2js/float_literals-modified.2asm.js.opt
+++ b/test/wasm2js/float_literals-modified.2asm.js.opt
@@ -23,6 +23,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/float_misc.2asm.js b/test/wasm2js/float_misc.2asm.js
index a96284d4f..4bdff0241 100644
--- a/test/wasm2js/float_misc.2asm.js
+++ b/test/wasm2js/float_misc.2asm.js
@@ -38,6 +38,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -99,7 +100,7 @@ function asmFunc(env) {
function $10(x) {
x = Math_fround(x);
- return Math_fround(Math_fround(__wasm_trunc_f32(Math_fround(x))));
+ return Math_fround(Math_fround(Math_trunc(x)));
}
function $11(x) {
@@ -200,7 +201,7 @@ function asmFunc(env) {
function $24(x) {
x = +x;
- return +(+__wasm_trunc_f64(+x));
+ return +Math_trunc(x);
}
function $25(x) {
@@ -256,16 +257,6 @@ function asmFunc(env) {
return +var$1;
}
- function __wasm_trunc_f32(var$0) {
- var$0 = Math_fround(var$0);
- return Math_fround(var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0)));
- }
-
- function __wasm_trunc_f64(var$0) {
- var$0 = +var$0;
- return +(var$0 < 0.0 ? Math_ceil(var$0) : Math_floor(var$0));
- }
-
return {
"f32_add": $0,
"f32_sub": $1,
diff --git a/test/wasm2js/forward.2asm.js b/test/wasm2js/forward.2asm.js
index 2377ff039..1dff26c05 100644
--- a/test/wasm2js/forward.2asm.js
+++ b/test/wasm2js/forward.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/func-ptr-offset.2asm.js b/test/wasm2js/func-ptr-offset.2asm.js
index 154cde9de..48156f91f 100644
--- a/test/wasm2js/func-ptr-offset.2asm.js
+++ b/test/wasm2js/func-ptr-offset.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/func-ptr-offset.2asm.js.opt b/test/wasm2js/func-ptr-offset.2asm.js.opt
index dfd4f3dca..0666c1ee3 100644
--- a/test/wasm2js/func-ptr-offset.2asm.js.opt
+++ b/test/wasm2js/func-ptr-offset.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/func_ptrs.2asm.js b/test/wasm2js/func_ptrs.2asm.js
index d8a87dcd5..eef4acd32 100644
--- a/test/wasm2js/func_ptrs.2asm.js
+++ b/test/wasm2js/func_ptrs.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -58,6 +59,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -113,6 +115,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/get-set-local.2asm.js b/test/wasm2js/get-set-local.2asm.js
index ad8208c0e..cfd7e65cd 100644
--- a/test/wasm2js/get-set-local.2asm.js
+++ b/test/wasm2js/get-set-local.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/get-set-local.2asm.js.opt b/test/wasm2js/get-set-local.2asm.js.opt
index 6f8059de4..9a6cb0757 100644
--- a/test/wasm2js/get-set-local.2asm.js.opt
+++ b/test/wasm2js/get-set-local.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/get_local.2asm.js b/test/wasm2js/get_local.2asm.js
index 607e418c2..bac4f7538 100644
--- a/test/wasm2js/get_local.2asm.js
+++ b/test/wasm2js/get_local.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/global_i64.2asm.js b/test/wasm2js/global_i64.2asm.js
index 91956e50b..85c7a8cdf 100644
--- a/test/wasm2js/global_i64.2asm.js
+++ b/test/wasm2js/global_i64.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/global_i64.2asm.js.opt b/test/wasm2js/global_i64.2asm.js.opt
index eafc74d37..fd42701a3 100644
--- a/test/wasm2js/global_i64.2asm.js.opt
+++ b/test/wasm2js/global_i64.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/grow-memory-tricky.2asm.js b/test/wasm2js/grow-memory-tricky.2asm.js
index 00dad8b1a..92d0b670a 100644
--- a/test/wasm2js/grow-memory-tricky.2asm.js
+++ b/test/wasm2js/grow-memory-tricky.2asm.js
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/grow-memory-tricky.2asm.js.opt b/test/wasm2js/grow-memory-tricky.2asm.js.opt
index 7f3afb29c..11dad89f4 100644
--- a/test/wasm2js/grow-memory-tricky.2asm.js.opt
+++ b/test/wasm2js/grow-memory-tricky.2asm.js.opt
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/grow_memory.2asm.js b/test/wasm2js/grow_memory.2asm.js
index fdad41817..22f922a99 100644
--- a/test/wasm2js/grow_memory.2asm.js
+++ b/test/wasm2js/grow_memory.2asm.js
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i32.2asm.js b/test/wasm2js/i32.2asm.js
index 196314363..2bc41be51 100644
--- a/test/wasm2js/i32.2asm.js
+++ b/test/wasm2js/i32.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-add-sub.2asm.js b/test/wasm2js/i64-add-sub.2asm.js
index 46fd6be5b..683c4f299 100644
--- a/test/wasm2js/i64-add-sub.2asm.js
+++ b/test/wasm2js/i64-add-sub.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-add-sub.2asm.js.opt b/test/wasm2js/i64-add-sub.2asm.js.opt
index 16c3dc46f..ccbcf0126 100644
--- a/test/wasm2js/i64-add-sub.2asm.js.opt
+++ b/test/wasm2js/i64-add-sub.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-ctz.2asm.js b/test/wasm2js/i64-ctz.2asm.js
index 1cc870068..d799b51b9 100644
--- a/test/wasm2js/i64-ctz.2asm.js
+++ b/test/wasm2js/i64-ctz.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-ctz.2asm.js.opt b/test/wasm2js/i64-ctz.2asm.js.opt
index 9cda827f4..5fe370d39 100644
--- a/test/wasm2js/i64-ctz.2asm.js.opt
+++ b/test/wasm2js/i64-ctz.2asm.js.opt
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-lowering.2asm.js b/test/wasm2js/i64-lowering.2asm.js
index 47f0ef3a8..deaecb161 100644
--- a/test/wasm2js/i64-lowering.2asm.js
+++ b/test/wasm2js/i64-lowering.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-lowering.2asm.js.opt b/test/wasm2js/i64-lowering.2asm.js.opt
index d4a7576df..395b6f442 100644
--- a/test/wasm2js/i64-lowering.2asm.js.opt
+++ b/test/wasm2js/i64-lowering.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-rotate.2asm.js b/test/wasm2js/i64-rotate.2asm.js
index bac728fd0..22d8a2378 100644
--- a/test/wasm2js/i64-rotate.2asm.js
+++ b/test/wasm2js/i64-rotate.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-rotate.2asm.js.opt b/test/wasm2js/i64-rotate.2asm.js.opt
index 614a030fe..b74f97053 100644
--- a/test/wasm2js/i64-rotate.2asm.js.opt
+++ b/test/wasm2js/i64-rotate.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-select.2asm.js b/test/wasm2js/i64-select.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/i64-select.2asm.js
+++ b/test/wasm2js/i64-select.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-select.2asm.js.opt b/test/wasm2js/i64-select.2asm.js.opt
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/i64-select.2asm.js.opt
+++ b/test/wasm2js/i64-select.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-shifts.2asm.js b/test/wasm2js/i64-shifts.2asm.js
index 9894785f1..63de706f9 100644
--- a/test/wasm2js/i64-shifts.2asm.js
+++ b/test/wasm2js/i64-shifts.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/i64-shifts.2asm.js.opt b/test/wasm2js/i64-shifts.2asm.js.opt
index 92efd9070..488263496 100644
--- a/test/wasm2js/i64-shifts.2asm.js.opt
+++ b/test/wasm2js/i64-shifts.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/if_unreachable.2asm.js b/test/wasm2js/if_unreachable.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/if_unreachable.2asm.js
+++ b/test/wasm2js/if_unreachable.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/if_unreachable.2asm.js.opt b/test/wasm2js/if_unreachable.2asm.js.opt
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/if_unreachable.2asm.js.opt
+++ b/test/wasm2js/if_unreachable.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/indirect-select.2asm.js b/test/wasm2js/indirect-select.2asm.js
index 4e40cc9e7..5ae506771 100644
--- a/test/wasm2js/indirect-select.2asm.js
+++ b/test/wasm2js/indirect-select.2asm.js
@@ -10,6 +10,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/indirect-select.2asm.js.opt b/test/wasm2js/indirect-select.2asm.js.opt
index e61bb6324..b4a4752c2 100644
--- a/test/wasm2js/indirect-select.2asm.js.opt
+++ b/test/wasm2js/indirect-select.2asm.js.opt
@@ -10,6 +10,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js
index cf9a3528e..ad558ec2a 100644
--- a/test/wasm2js/int_exprs.2asm.js
+++ b/test/wasm2js/int_exprs.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -246,6 +247,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -328,6 +330,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -409,6 +412,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -605,6 +609,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -801,6 +806,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -1616,6 +1622,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -2337,6 +2344,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -3040,6 +3048,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -3855,6 +3864,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -4510,6 +4520,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -5147,6 +5158,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -5868,6 +5880,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -6589,6 +6602,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -7310,6 +7324,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -8031,6 +8046,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -8734,6 +8750,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -9437,6 +9454,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -10140,6 +10158,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/labels.2asm.js b/test/wasm2js/labels.2asm.js
index 21575bdcb..c12eaf7b4 100644
--- a/test/wasm2js/labels.2asm.js
+++ b/test/wasm2js/labels.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js
index ee2ff63b1..18a37f05b 100644
--- a/test/wasm2js/left-to-right.2asm.js
+++ b/test/wasm2js/left-to-right.2asm.js
@@ -42,6 +42,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/minified-memory.2asm.js b/test/wasm2js/minified-memory.2asm.js
index 88edd06b7..6c153b656 100644
--- a/test/wasm2js/minified-memory.2asm.js
+++ b/test/wasm2js/minified-memory.2asm.js
@@ -19,6 +19,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/minified-memory.2asm.js.opt b/test/wasm2js/minified-memory.2asm.js.opt
index b50143249..c4fa180e6 100644
--- a/test/wasm2js/minified-memory.2asm.js.opt
+++ b/test/wasm2js/minified-memory.2asm.js.opt
@@ -19,6 +19,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/minus_minus.2asm.js b/test/wasm2js/minus_minus.2asm.js
index da2fc0492..569cbbc3e 100644
--- a/test/wasm2js/minus_minus.2asm.js
+++ b/test/wasm2js/minus_minus.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/minus_minus.2asm.js.opt b/test/wasm2js/minus_minus.2asm.js.opt
index 893a67a55..9eea55865 100644
--- a/test/wasm2js/minus_minus.2asm.js.opt
+++ b/test/wasm2js/minus_minus.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/nested-selects.2asm.js b/test/wasm2js/nested-selects.2asm.js
index d7fb48557..458eb7456 100644
--- a/test/wasm2js/nested-selects.2asm.js
+++ b/test/wasm2js/nested-selects.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/nested-selects.2asm.js.opt b/test/wasm2js/nested-selects.2asm.js.opt
index f9762e6d8..1bdeb971a 100644
--- a/test/wasm2js/nested-selects.2asm.js.opt
+++ b/test/wasm2js/nested-selects.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/ordering.2asm.js b/test/wasm2js/ordering.2asm.js
index 1d3a4da9e..00a003ee9 100644
--- a/test/wasm2js/ordering.2asm.js
+++ b/test/wasm2js/ordering.2asm.js
@@ -10,6 +10,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/ordering.2asm.js.opt b/test/wasm2js/ordering.2asm.js.opt
index da3325e6b..c36f62261 100644
--- a/test/wasm2js/ordering.2asm.js.opt
+++ b/test/wasm2js/ordering.2asm.js.opt
@@ -10,6 +10,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/reinterpret.2asm.js b/test/wasm2js/reinterpret.2asm.js
index 9f5454c38..446f23479 100644
--- a/test/wasm2js/reinterpret.2asm.js
+++ b/test/wasm2js/reinterpret.2asm.js
@@ -38,6 +38,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/reinterpret.2asm.js.opt b/test/wasm2js/reinterpret.2asm.js.opt
index 2e9610d05..ffb64c1fa 100644
--- a/test/wasm2js/reinterpret.2asm.js.opt
+++ b/test/wasm2js/reinterpret.2asm.js.opt
@@ -38,6 +38,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/reinterpret_scratch.2asm.js b/test/wasm2js/reinterpret_scratch.2asm.js
index 1083cba98..884e76c53 100644
--- a/test/wasm2js/reinterpret_scratch.2asm.js
+++ b/test/wasm2js/reinterpret_scratch.2asm.js
@@ -34,6 +34,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/reinterpret_scratch.2asm.js.opt b/test/wasm2js/reinterpret_scratch.2asm.js.opt
index 36f85c0d1..528949e9d 100644
--- a/test/wasm2js/reinterpret_scratch.2asm.js.opt
+++ b/test/wasm2js/reinterpret_scratch.2asm.js.opt
@@ -30,6 +30,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/set_local.2asm.js b/test/wasm2js/set_local.2asm.js
index 6a857e570..01d504a9b 100644
--- a/test/wasm2js/set_local.2asm.js
+++ b/test/wasm2js/set_local.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/sign_ext.2asm.js b/test/wasm2js/sign_ext.2asm.js
index a51b91690..c6c1ce7ce 100644
--- a/test/wasm2js/sign_ext.2asm.js
+++ b/test/wasm2js/sign_ext.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/sign_ext.2asm.js.opt b/test/wasm2js/sign_ext.2asm.js.opt
index e58b9eb2d..31dbdc970 100644
--- a/test/wasm2js/sign_ext.2asm.js.opt
+++ b/test/wasm2js/sign_ext.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/stack-modified.2asm.js b/test/wasm2js/stack-modified.2asm.js
index 609cfd255..3b5ed595a 100644
--- a/test/wasm2js/stack-modified.2asm.js
+++ b/test/wasm2js/stack-modified.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/stack-modified.2asm.js.opt b/test/wasm2js/stack-modified.2asm.js.opt
index c86f71bc4..60758cce0 100644
--- a/test/wasm2js/stack-modified.2asm.js.opt
+++ b/test/wasm2js/stack-modified.2asm.js.opt
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/start_func.2asm.js b/test/wasm2js/start_func.2asm.js
index 13b60abdb..f8702ac52 100644
--- a/test/wasm2js/start_func.2asm.js
+++ b/test/wasm2js/start_func.2asm.js
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/start_func.2asm.js.opt b/test/wasm2js/start_func.2asm.js.opt
index 8b7b8e873..c75784973 100644
--- a/test/wasm2js/start_func.2asm.js.opt
+++ b/test/wasm2js/start_func.2asm.js.opt
@@ -16,6 +16,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/switch.2asm.js b/test/wasm2js/switch.2asm.js
index 4aadb0752..f0ad66338 100644
--- a/test/wasm2js/switch.2asm.js
+++ b/test/wasm2js/switch.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/tee_local.2asm.js b/test/wasm2js/tee_local.2asm.js
index 7e8e0747d..ad6fc5880 100644
--- a/test/wasm2js/tee_local.2asm.js
+++ b/test/wasm2js/tee_local.2asm.js
@@ -9,6 +9,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js
index c2ba3bc6f..d65bc4eb2 100644
--- a/test/wasm2js/traps.2asm.js
+++ b/test/wasm2js/traps.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -744,6 +745,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -1462,6 +1464,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
@@ -1594,6 +1597,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unaligned.2asm.js b/test/wasm2js/unaligned.2asm.js
index 9a9c6f7d8..2252d6950 100644
--- a/test/wasm2js/unaligned.2asm.js
+++ b/test/wasm2js/unaligned.2asm.js
@@ -47,6 +47,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unaligned.2asm.js.opt b/test/wasm2js/unaligned.2asm.js.opt
index e493eec62..69270c5f3 100644
--- a/test/wasm2js/unaligned.2asm.js.opt
+++ b/test/wasm2js/unaligned.2asm.js.opt
@@ -43,6 +43,7 @@ function asmFunc(env, buffer) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unary-ops.2asm.js b/test/wasm2js/unary-ops.2asm.js
index e2b2df413..703aaf347 100644
--- a/test/wasm2js/unary-ops.2asm.js
+++ b/test/wasm2js/unary-ops.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unary-ops.2asm.js.opt b/test/wasm2js/unary-ops.2asm.js.opt
index 272ea822c..cb37b0099 100644
--- a/test/wasm2js/unary-ops.2asm.js.opt
+++ b/test/wasm2js/unary-ops.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-get-cycle.2asm.js b/test/wasm2js/unreachable-get-cycle.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/unreachable-get-cycle.2asm.js
+++ b/test/wasm2js/unreachable-get-cycle.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-get-cycle.2asm.js.opt b/test/wasm2js/unreachable-get-cycle.2asm.js.opt
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/unreachable-get-cycle.2asm.js.opt
+++ b/test/wasm2js/unreachable-get-cycle.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-insts.2asm.js b/test/wasm2js/unreachable-insts.2asm.js
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/unreachable-insts.2asm.js
+++ b/test/wasm2js/unreachable-insts.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-insts.2asm.js.opt b/test/wasm2js/unreachable-insts.2asm.js.opt
index f2a42641c..3278e98c7 100644
--- a/test/wasm2js/unreachable-insts.2asm.js.opt
+++ b/test/wasm2js/unreachable-insts.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-later.2asm.js b/test/wasm2js/unreachable-later.2asm.js
index 91e5f5a2a..0259a0407 100644
--- a/test/wasm2js/unreachable-later.2asm.js
+++ b/test/wasm2js/unreachable-later.2asm.js
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
diff --git a/test/wasm2js/unreachable-later.2asm.js.opt b/test/wasm2js/unreachable-later.2asm.js.opt
index aee8c4ba7..b557a1692 100644
--- a/test/wasm2js/unreachable-later.2asm.js.opt
+++ b/test/wasm2js/unreachable-later.2asm.js.opt
@@ -8,6 +8,7 @@ function asmFunc(env) {
var Math_max = Math.max;
var Math_floor = Math.floor;
var Math_ceil = Math.ceil;
+ var Math_trunc = Math.trunc;
var Math_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;