(module (type $FUNCSIG$ff (func (param f32) (result f32))) (type $FUNCSIG$vi (func (param i32))) (type $legaltype$illegalImport (func (param f64 i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (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 (; 6 ;) (; 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 (; 7 ;) (; 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 (; 8 ;) (; 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 (; 9 ;) (; 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 (; 10 ;) (; 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 (; 11 ;) (; 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 (; 12 ;) (; 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 (; 13 ;) (; 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 (; 14 ;) (; 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 (; 15 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (local.get $0) ) (call $arg (local.get $0) ) ) (func $illegalParam (; 16 ;) (; 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 (; 17 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (local.get $0) ) ) (func $call2 (; 18 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 (local.get $0) ) ) ) (i64.const 245127260211081) ) (func $ifValue64 (; 19 ;) (; has Stack IR ;) (drop (call $call2 (i64.const 0) ) ) ) (func $ifValue32 (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (local.get $0) (local.get $1) ) ) (func $unreachable_leftovers (; 21 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) (func $keepAlive (; 22 ;) (; 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 (; 23 ;) (; 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 (; 24 ;) (; has Stack IR ;) (result i32) (call $setTempRet0 (i32.const 2) ) (i32.const 1) ) (func $legalfunc$illegalImport (; 25 ;) (; 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 (; 26 ;) (; 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) ) ) ) )