| (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) | |
| ) | |
| ) | |
| ) | |
| ) |