| (module |
| (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) |
| (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) |
| (type $i32_i64_=>_none (func (param i32 i64))) |
| (type $f32_=>_i64 (func (param f32) (result i64))) |
| (type $f64_=>_i64 (func (param f64) (result i64))) |
| (type $f32_=>_none (func (param f32))) |
| (type $f64_=>_none (func (param f64))) |
| (type $f64_=>_i32 (func (param f64) (result i32))) |
| (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32))) |
| (func $test_div (param $0 i32) (param $1 i64) |
| (drop |
| (call $i32s-div |
| (local.get $0) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $i32u-div |
| (local.get $0) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $i64s-div |
| (local.get $1) |
| (local.get $1) |
| ) |
| ) |
| (drop |
| (call $i64u-div |
| (local.get $1) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $test_rem (param $0 i32) (param $1 i64) |
| (drop |
| (call $i32s-rem |
| (local.get $0) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $i32u-rem |
| (local.get $0) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $i64s-rem |
| (local.get $1) |
| (local.get $1) |
| ) |
| ) |
| (drop |
| (call $i64u-rem |
| (local.get $1) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $test_f32_to_int (param $0 f32) |
| (drop |
| (call $f64-to-int |
| (f64.promote_f32 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (drop |
| (call $f64-to-int |
| (f64.promote_f32 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (drop |
| (call $f32-to-int64 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $f32-to-uint64 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (func $test_f64_to_int (param $0 f64) |
| (drop |
| (call $f64-to-int |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $f64-to-int |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $f64-to-int64 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (call $f64-to-uint64 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (func $f32-to-int64 (param $0 f32) (result i64) |
| (if (result i64) |
| (f32.ne |
| (local.get $0) |
| (local.get $0) |
| ) |
| (i64.const -9223372036854775808) |
| (if (result i64) |
| (f32.ge |
| (local.get $0) |
| (f32.const 9223372036854775808) |
| ) |
| (i64.const -9223372036854775808) |
| (if (result i64) |
| (f32.le |
| (local.get $0) |
| (f32.const -9223372036854775808) |
| ) |
| (i64.const -9223372036854775808) |
| (i64.trunc_f32_s |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $f32-to-uint64 (param $0 f32) (result i64) |
| (if (result i64) |
| (f32.ne |
| (local.get $0) |
| (local.get $0) |
| ) |
| (i64.const 0) |
| (if (result i64) |
| (f32.ge |
| (local.get $0) |
| (f32.const 18446744073709551615) |
| ) |
| (i64.const 0) |
| (if (result i64) |
| (f32.le |
| (local.get $0) |
| (f32.const -1) |
| ) |
| (i64.const 0) |
| (i64.trunc_f32_u |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $f64-to-int64 (param $0 f64) (result i64) |
| (if (result i64) |
| (f64.ne |
| (local.get $0) |
| (local.get $0) |
| ) |
| (i64.const -9223372036854775808) |
| (if (result i64) |
| (f64.ge |
| (local.get $0) |
| (f64.const 9223372036854775808) |
| ) |
| (i64.const -9223372036854775808) |
| (if (result i64) |
| (f64.le |
| (local.get $0) |
| (f64.const -9223372036854775808) |
| ) |
| (i64.const -9223372036854775808) |
| (i64.trunc_f64_s |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $f64-to-uint64 (param $0 f64) (result i64) |
| (if (result i64) |
| (f64.ne |
| (local.get $0) |
| (local.get $0) |
| ) |
| (i64.const 0) |
| (if (result i64) |
| (f64.ge |
| (local.get $0) |
| (f64.const 18446744073709551615) |
| ) |
| (i64.const 0) |
| (if (result i64) |
| (f64.le |
| (local.get $0) |
| (f64.const -1) |
| ) |
| (i64.const 0) |
| (i64.trunc_f64_u |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $i32s-div (param $0 i32) (param $1 i32) (result i32) |
| (if (result i32) |
| (i32.eqz |
| (local.get $1) |
| ) |
| (i32.const 0) |
| (if (result i32) |
| (i32.and |
| (i32.eq |
| (local.get $0) |
| (i32.const -2147483648) |
| ) |
| (i32.eq |
| (local.get $1) |
| (i32.const -1) |
| ) |
| ) |
| (i32.const 0) |
| (i32.div_s |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| ) |
| (func $i32s-rem (param $0 i32) (param $1 i32) (result i32) |
| (if (result i32) |
| (i32.eqz |
| (local.get $1) |
| ) |
| (i32.const 0) |
| (i32.rem_s |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $i32u-div (param $0 i32) (param $1 i32) (result i32) |
| (if (result i32) |
| (i32.eqz |
| (local.get $1) |
| ) |
| (i32.const 0) |
| (i32.div_u |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $i32u-rem (param $0 i32) (param $1 i32) (result i32) |
| (if (result i32) |
| (i32.eqz |
| (local.get $1) |
| ) |
| (i32.const 0) |
| (i32.rem_u |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $i64s-div (param $0 i64) (param $1 i64) (result i64) |
| (if (result i64) |
| (i64.eqz |
| (local.get $1) |
| ) |
| (i64.const 0) |
| (if (result i64) |
| (i32.and |
| (i64.eq |
| (local.get $0) |
| (i64.const -9223372036854775808) |
| ) |
| (i64.eq |
| (local.get $1) |
| (i64.const -1) |
| ) |
| ) |
| (i64.const 0) |
| (i64.div_s |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| ) |
| (func $i64s-rem (param $0 i64) (param $1 i64) (result i64) |
| (if (result i64) |
| (i64.eqz |
| (local.get $1) |
| ) |
| (i64.const 0) |
| (i64.rem_s |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $i64u-div (param $0 i64) (param $1 i64) (result i64) |
| (if (result i64) |
| (i64.eqz |
| (local.get $1) |
| ) |
| (i64.const 0) |
| (i64.div_u |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $i64u-rem (param $0 i64) (param $1 i64) (result i64) |
| (if (result i64) |
| (i64.eqz |
| (local.get $1) |
| ) |
| (i64.const 0) |
| (i64.rem_u |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| ) |
| ) |