| (module |
| (type $none_=>_none (func)) |
| (type $none_=>_i32 (func (result i32))) |
| (type $f32_=>_none (func (param f32))) |
| (type $f64_=>_none (func (param f64))) |
| (type $i64_=>_i64 (func (param i64) (result i64))) |
| (type $i32_=>_none (func (param i32))) |
| (type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64))) |
| (type $i32_i64_f64_=>_none (func (param i32 i64 f64))) |
| (type $i64_=>_none (func (param i64))) |
| (type $f64_i32_i32_i32_=>_none (func (param f64 i32 i32 i32))) |
| (type $f64_i64_i32_=>_none (func (param f64 i64 i32))) |
| (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) |
| (type $none_=>_i64 (func (result i64))) |
| (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) |
| (type $f32_=>_f32 (func (param f32) (result f32))) |
| (import "env" "memory" (memory $memory 256 256)) |
| (data (global.get $__memory_base) "wasm-only.asm.js") |
| (import "env" "table" (table $table 3 3 funcref)) |
| (elem (global.get $__table_base) $legalfunc$illegalImport $_fabsf $legalfunc$do_i64) |
| (import "env" "__memory_base" (global $__memory_base i32)) |
| (import "env" "__table_base" (global $__table_base i32)) |
| (import "env" "_fabsf" (func $_fabsf (param f32) (result f32))) |
| (import "env" "setTempRet0" (func $setTempRet0 (param i32))) |
| (import "env" "illegalImport" (func $legalimport$illegalImport (param f64 i32 i32 i32))) |
| (import "env" "getTempRet0" (func $getTempRet0 (result i32))) |
| (import "env" "illegalImportResult" (func $legalimport$illegalImportResult (result i32))) |
| (import "env" "do_i64" (func $legalimport$do_i64 (result i32))) |
| (export "test64" (func $test64)) |
| (export "illegalParam" (func $legalstub$illegalParam)) |
| (export "illegalResult" (func $legalstub$illegalResult)) |
| (export "keepAlive" (func $keepAlive)) |
| (func $loads (; has Stack IR ;) |
| (drop |
| (i32.load8_s |
| (i32.const 100) |
| ) |
| ) |
| (drop |
| (i32.load8_s |
| (i32.const 101) |
| ) |
| ) |
| (drop |
| (i32.load16_s |
| (i32.const 102) |
| ) |
| ) |
| (drop |
| (i32.load16_s |
| (i32.const 103) |
| ) |
| ) |
| (drop |
| (i32.load16_s align=1 |
| (i32.const 104) |
| ) |
| ) |
| (drop |
| (i32.load16_s |
| (i32.const 105) |
| ) |
| ) |
| (drop |
| (i32.load |
| (i32.const 106) |
| ) |
| ) |
| (drop |
| (i32.load |
| (i32.const 107) |
| ) |
| ) |
| (drop |
| (i32.load align=1 |
| (i32.const 108) |
| ) |
| ) |
| (drop |
| (i32.load align=2 |
| (i32.const 109) |
| ) |
| ) |
| (drop |
| (i32.load |
| (i32.const 110) |
| ) |
| ) |
| (drop |
| (f32.load |
| (i32.const 111) |
| ) |
| ) |
| (drop |
| (f32.load |
| (i32.const 112) |
| ) |
| ) |
| (drop |
| (f32.load align=1 |
| (i32.const 113) |
| ) |
| ) |
| (drop |
| (f32.load align=2 |
| (i32.const 114) |
| ) |
| ) |
| (drop |
| (f32.load |
| (i32.const 115) |
| ) |
| ) |
| (drop |
| (f64.load |
| (i32.const 116) |
| ) |
| ) |
| (drop |
| (f64.load |
| (i32.const 117) |
| ) |
| ) |
| (drop |
| (f64.load align=1 |
| (i32.const 118) |
| ) |
| ) |
| (drop |
| (f64.load align=2 |
| (i32.const 119) |
| ) |
| ) |
| (drop |
| (f64.load align=4 |
| (i32.const 120) |
| ) |
| ) |
| (drop |
| (f64.load |
| (i32.const 121) |
| ) |
| ) |
| ) |
| (func $stores (; has Stack IR ;) |
| (i32.store8 |
| (i32.const 100) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.const 101) |
| (i32.const 0) |
| ) |
| (i32.store16 |
| (i32.const 102) |
| (i32.const 0) |
| ) |
| (i32.store16 |
| (i32.const 103) |
| (i32.const 0) |
| ) |
| (i32.store16 align=1 |
| (i32.const 104) |
| (i32.const 0) |
| ) |
| (i32.store16 |
| (i32.const 105) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.const 106) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.const 107) |
| (i32.const 0) |
| ) |
| (i32.store align=1 |
| (i32.const 108) |
| (i32.const 0) |
| ) |
| (i32.store align=2 |
| (i32.const 109) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.const 110) |
| (i32.const 0) |
| ) |
| (f32.store |
| (i32.const 111) |
| (f32.const 0) |
| ) |
| (f32.store |
| (i32.const 112) |
| (f32.const 0) |
| ) |
| (f32.store align=1 |
| (i32.const 113) |
| (f32.const 0) |
| ) |
| (f32.store align=2 |
| (i32.const 114) |
| (f32.const 0) |
| ) |
| (f32.store |
| (i32.const 115) |
| (f32.const 0) |
| ) |
| (f64.store |
| (i32.const 116) |
| (f64.const 0) |
| ) |
| (f64.store |
| (i32.const 117) |
| (f64.const 0) |
| ) |
| (f64.store align=1 |
| (i32.const 118) |
| (f64.const 0) |
| ) |
| (f64.store align=2 |
| (i32.const 119) |
| (f64.const 0) |
| ) |
| (f64.store align=4 |
| (i32.const 120) |
| (f64.const 0) |
| ) |
| (f64.store |
| (i32.const 121) |
| (f64.const 0) |
| ) |
| ) |
| (func $i64s-div (; has Stack IR ;) (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 $f32-to-int64 (; has Stack IR ;) (param $0 f32) |
| (drop |
| (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 $f64-to-int64 (; has Stack IR ;) (param $0 f64) |
| (drop |
| (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 $f32-to-uint64 (; has Stack IR ;) (param $0 f32) |
| (drop |
| (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-uint64 (; has Stack IR ;) (param $0 f64) |
| (drop |
| (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 $test64 (; has Stack IR ;) |
| (local $0 i64) |
| (local $1 f32) |
| (local $2 f64) |
| (drop |
| (i64.rem_s |
| (i64.rem_u |
| (call $i64s-div |
| (i64.const 100) |
| (i64.const 128849018897) |
| ) |
| (i64.const 128849018897) |
| ) |
| (i64.const 128849018897) |
| ) |
| ) |
| (drop |
| (i64.load |
| (i32.const 120) |
| ) |
| ) |
| (drop |
| (i64.load |
| (i32.const 120) |
| ) |
| ) |
| (drop |
| (i64.load align=2 |
| (i32.const 120) |
| ) |
| ) |
| (drop |
| (i64.load align=4 |
| (i32.const 120) |
| ) |
| ) |
| (i64.store |
| (i32.const 120) |
| (local.tee $0 |
| (i64.load |
| (i32.const 120) |
| ) |
| ) |
| ) |
| (i64.store |
| (i32.const 120) |
| (local.get $0) |
| ) |
| (i64.store align=2 |
| (i32.const 120) |
| (local.get $0) |
| ) |
| (i64.store align=4 |
| (i32.const 120) |
| (local.get $0) |
| ) |
| (i64.store |
| (i32.const 120) |
| (local.get $0) |
| ) |
| (call $f32-to-int64 |
| (local.tee $1 |
| (f32.convert_i64_u |
| (local.tee $0 |
| (i64.extend_i32_u |
| (i32.wrap_i64 |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (call $f64-to-int64 |
| (local.tee $2 |
| (f64.convert_i64_u |
| (local.get $0) |
| ) |
| ) |
| ) |
| (call $f32-to-uint64 |
| (local.get $1) |
| ) |
| (call $f64-to-uint64 |
| (local.get $2) |
| ) |
| ) |
| (func $imports (; has Stack IR ;) |
| (call $legalfunc$illegalImport |
| (f64.const -3.13159) |
| (i64.const 94489280523) |
| (i32.const -33) |
| ) |
| (drop |
| (i64.or |
| (i64.extend_i32_u |
| (call $legalimport$illegalImportResult) |
| ) |
| (i64.shl |
| (i64.extend_i32_u |
| (call $getTempRet0) |
| ) |
| (i64.const 32) |
| ) |
| ) |
| ) |
| ) |
| (func $arg (; has Stack IR ;) (param $0 i64) |
| (i64.store |
| (i32.const 100) |
| (local.get $0) |
| ) |
| (call $arg |
| (local.get $0) |
| ) |
| ) |
| (func $illegalParam (; has Stack IR ;) (param $0 i32) (param $1 i64) (param $2 f64) |
| (i32.store |
| (i32.const 50) |
| (local.get $0) |
| ) |
| (i64.store |
| (i32.const 100) |
| (local.get $1) |
| ) |
| (f64.store |
| (i32.const 200) |
| (local.get $2) |
| ) |
| (call $illegalParam |
| (i32.const 0) |
| (local.get $1) |
| (f64.const 12.34) |
| ) |
| ) |
| (func $call1 (; has Stack IR ;) (param $0 i64) (result i64) |
| (call $call1 |
| (local.get $0) |
| ) |
| ) |
| (func $call2 (; has Stack IR ;) (param $0 i64) (result i64) |
| (drop |
| (call $call2 |
| (call $call2 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (i64.const 245127260211081) |
| ) |
| (func $ifValue64 (; has Stack IR ;) |
| (drop |
| (call $call2 |
| (i64.const 0) |
| ) |
| ) |
| ) |
| (func $ifValue32 (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) |
| (call $ifValue32 |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (func $unreachable_leftovers (; has Stack IR ;) |
| (i32.store |
| (i32.const 0) |
| (i32.const -2) |
| ) |
| ) |
| (func $keepAlive (; has Stack IR ;) |
| (call $loads) |
| (call $loads) |
| (call $stores) |
| (call $stores) |
| (call $imports) |
| (call $imports) |
| (call $arg |
| (i64.const 0) |
| ) |
| (call $arg |
| (i64.const 0) |
| ) |
| (drop |
| (call $call1 |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $call1 |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $call2 |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $call2 |
| (i64.const 0) |
| ) |
| ) |
| (call $ifValue64) |
| (call $ifValue64) |
| (drop |
| (call $ifValue32 |
| (i32.const 0) |
| (i32.const 0) |
| ) |
| ) |
| (drop |
| (call $ifValue32 |
| (i32.const 0) |
| (i32.const 0) |
| ) |
| ) |
| (call $unreachable_leftovers) |
| (call $unreachable_leftovers) |
| ) |
| (func $legalstub$illegalParam (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) |
| (call $illegalParam |
| (local.get $0) |
| (i64.or |
| (i64.extend_i32_u |
| (local.get $1) |
| ) |
| (i64.shl |
| (i64.extend_i32_u |
| (local.get $2) |
| ) |
| (i64.const 32) |
| ) |
| ) |
| (local.get $3) |
| ) |
| ) |
| (func $legalstub$illegalResult (; has Stack IR ;) (result i32) |
| (call $setTempRet0 |
| (i32.const 2) |
| ) |
| (i32.const 1) |
| ) |
| (func $legalfunc$illegalImport (; has Stack IR ;) (param $0 f64) (param $1 i64) (param $2 i32) |
| (call $legalimport$illegalImport |
| (local.get $0) |
| (i32.wrap_i64 |
| (local.get $1) |
| ) |
| (i32.wrap_i64 |
| (i64.shr_u |
| (local.get $1) |
| (i64.const 32) |
| ) |
| ) |
| (local.get $2) |
| ) |
| ) |
| (func $legalfunc$do_i64 (; has Stack IR ;) (result i64) |
| (i64.or |
| (i64.extend_i32_u |
| (call $legalimport$do_i64) |
| ) |
| (i64.shl |
| (i64.extend_i32_u |
| (call $getTempRet0) |
| ) |
| (i64.const 32) |
| ) |
| ) |
| ) |
| ) |