(module (type $legaltype$illegalImport (func (param f64 i32 i32 i32))) (type $legaltype$illegalImportResult (func (result i32))) (type $legaltype$_fabsf (func (param f64) (result f64))) (import "env" "memory" (memory $memory 256 256)) (data (get_global $memoryBase) "wasm-only.asm.js") (import "env" "table" (table $table 3 3 anyfunc)) (elem (get_global $tableBase) $legalfunc$illegalImport $legalfunc$_fabsf $legalfunc$do_i64) (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "tableBase" (global $tableBase i32)) (import "env" "illegalImport" (func $legalimport$illegalImport (param f64 i32 i32 i32))) (import "env" "illegalImportResult" (func $legalimport$illegalImportResult (result i32))) (import "env" "_fabsf" (func $legalimport$_fabsf (param f64) (result f64))) (import "env" "do_i64" (func $legalimport$do_i64 (result i32))) (global $tempRet0 (mut i32) (i32.const 0)) (export "test64" (func $test64)) (export "illegalParam" (func $legalstub$illegalParam)) (export "illegalResult" (func $legalstub$illegalResult)) (export "keepAlive" (func $keepAlive)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) (func $loads (; 4 ;) (; 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 (; 5 ;) (; has Stack IR ;) (local $0 i32) (local $1 f64) (local $2 f32) (i32.store8 (i32.const 100) (get_local $0) ) (i32.store8 (i32.const 101) (get_local $0) ) (i32.store16 (i32.const 102) (get_local $0) ) (i32.store16 (i32.const 103) (get_local $0) ) (i32.store16 align=1 (i32.const 104) (get_local $0) ) (i32.store16 (i32.const 105) (get_local $0) ) (i32.store (i32.const 106) (get_local $0) ) (i32.store (i32.const 107) (get_local $0) ) (i32.store align=1 (i32.const 108) (get_local $0) ) (i32.store align=2 (i32.const 109) (get_local $0) ) (i32.store (i32.const 110) (get_local $0) ) (f32.store (i32.const 111) (get_local $2) ) (f32.store (i32.const 112) (get_local $2) ) (f32.store align=1 (i32.const 113) (get_local $2) ) (f32.store align=2 (i32.const 114) (get_local $2) ) (f32.store (i32.const 115) (get_local $2) ) (f64.store (i32.const 116) (get_local $1) ) (f64.store (i32.const 117) (get_local $1) ) (f64.store align=1 (i32.const 118) (get_local $1) ) (f64.store align=2 (i32.const 119) (get_local $1) ) (f64.store align=4 (i32.const 120) (get_local $1) ) (f64.store (i32.const 121) (get_local $1) ) ) (func $test (; 6 ;) (; has Stack IR ;) (local $0 f32) (local $1 i32) (set_local $1 (i32.reinterpret/f32 (get_local $0) ) ) ) (func $i64s-div (; 7 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (if (result i64) (i64.eqz (get_local $1) ) (i64.const 0) (if (result i64) (i32.and (i64.eq (get_local $0) (i64.const -9223372036854775808) ) (i64.eq (get_local $1) (i64.const -1) ) ) (i64.const 0) (i64.div_s (get_local $0) (get_local $1) ) ) ) ) (func $f32-to-int64 (; 8 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) (get_local $0) ) (i64.const -9223372036854775808) (if (result i64) (f32.ge (get_local $0) (f32.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) (f32.le (get_local $0) (f32.const -9223372036854775808) ) (i64.const -9223372036854775808) (i64.trunc_s/f32 (get_local $0) ) ) ) ) ) (func $f64-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) (get_local $0) ) (i64.const -9223372036854775808) (if (result i64) (f64.ge (get_local $0) (f64.const 9223372036854775808) ) (i64.const -9223372036854775808) (if (result i64) (f64.le (get_local $0) (f64.const -9223372036854775808) ) (i64.const -9223372036854775808) (i64.trunc_s/f64 (get_local $0) ) ) ) ) ) (func $f32-to-uint64 (; 10 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) (get_local $0) ) (i64.const 0) (if (result i64) (f32.ge (get_local $0) (f32.const 18446744073709551615) ) (i64.const 0) (if (result i64) (f32.le (get_local $0) (f32.const -1) ) (i64.const 0) (i64.trunc_u/f32 (get_local $0) ) ) ) ) ) (func $f64-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) (get_local $0) ) (i64.const 0) (if (result i64) (f64.ge (get_local $0) (f64.const 18446744073709551615) ) (i64.const 0) (if (result i64) (f64.le (get_local $0) (f64.const -1) ) (i64.const 0) (i64.trunc_u/f64 (get_local $0) ) ) ) ) ) (func $test64 (; 12 ;) (; has Stack IR ;) (local $0 i64) (local $1 f32) (local $2 f64) (drop (i64.rem_s (tee_local $0 (i64.rem_u (tee_local $0 (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) (tee_local $0 (i64.load (i32.const 120) ) ) ) (i64.store (i32.const 120) (get_local $0) ) (i64.store align=2 (i32.const 120) (get_local $0) ) (i64.store align=4 (i32.const 120) (get_local $0) ) (i64.store (i32.const 120) (get_local $0) ) (drop (call $f32-to-int64 (tee_local $1 (f32.convert_u/i64 (tee_local $0 (i64.extend_u/i32 (i32.wrap/i64 (get_local $0) ) ) ) ) ) ) ) (drop (call $f64-to-int64 (tee_local $2 (f64.convert_u/i64 (get_local $0) ) ) ) ) (drop (call $f32-to-uint64 (get_local $1) ) ) (drop (call $f64-to-uint64 (get_local $2) ) ) ) (func $imports (; 13 ;) (; has Stack IR ;) (result i64) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) (i32.const -33) ) (i64.or (i64.extend_u/i32 (call $legalimport$illegalImportResult) ) (i64.shl (i64.extend_u/i32 (get_global $tempRet0) ) (i64.const 32) ) ) ) (func $arg (; 14 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (get_local $0) ) (call $arg (get_local $0) ) ) (func $illegalParam (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i64) (param $2 f64) (i32.store (i32.const 50) (get_local $0) ) (i64.store (i32.const 100) (get_local $1) ) (f64.store (i32.const 200) (get_local $2) ) (call $illegalParam (i32.const 0) (get_local $1) (f64.const 12.34) ) ) (func $call1 (; 16 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (get_local $0) ) ) (func $call2 (; 17 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 (get_local $0) ) ) ) (i64.const 245127260211081) ) (func $ifValue32 (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (get_local $0) (get_local $1) ) ) (func $unreachable_leftovers (; 19 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) (func $_memchr (; 20 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) (block $label$break$L8 (block $__rjti$2 (br_if $__rjti$2 (get_local $0) ) (set_local $0 (i32.const 0) ) (br $label$break$L8) ) (set_local $0 (get_local $2) ) (if (i32.load8_u (get_local $1) ) (block (block $__rjto$0 (block $__rjti$0 (br_if $__rjti$0 (i32.le_u (get_local $0) (i32.const 3) ) ) (loop $while-in3 (if (i32.eqz (i32.and (i32.xor (i32.and (tee_local $2 (i32.load (get_local $1) ) ) (i32.const -2139062144) ) (i32.const -2139062144) ) (i32.add (get_local $2) (i32.const -16843009) ) ) ) (block (set_local $1 (i32.add (get_local $1) (i32.const 4) ) ) (br_if $while-in3 (i32.gt_u (tee_local $0 (i32.add (get_local $0) (i32.const -4) ) ) (i32.const 3) ) ) (br $__rjti$0) ) ) ) (br $__rjto$0) ) (if (i32.eqz (get_local $0) ) (block (set_local $0 (i32.const 0) ) (br $label$break$L8) ) ) ) (loop $while-in5 (br_if $label$break$L8 (i32.eqz (i32.load8_u (get_local $1) ) ) ) (set_local $1 (i32.add (get_local $1) (i32.const 1) ) ) (br_if $while-in5 (tee_local $0 (i32.add (get_local $0) (i32.const -1) ) ) ) ) (set_local $0 (i32.const 0) ) ) ) ) (select (get_local $1) (i32.const 0) (get_local $0) ) ) (func $keepAlive (; 21 ;) (; has Stack IR ;) (call $loads) (call $loads) (call $stores) (call $stores) (call $test) (call $test) (drop (call $imports) ) (drop (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) ) ) (drop (call $call2 (i64.const 0) ) ) (drop (call $call2 (i64.const 0) ) ) (drop (call $ifValue32 (i32.const 0) (i32.const 0) ) ) (drop (call $ifValue32 (i32.const 0) (i32.const 0) ) ) (call $unreachable_leftovers) (call $unreachable_leftovers) (drop (call $_memchr) ) ) (func $legalstub$illegalParam (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam (get_local $0) (i64.or (i64.extend_u/i32 (get_local $1) ) (i64.shl (i64.extend_u/i32 (get_local $2) ) (i64.const 32) ) ) (get_local $3) ) ) (func $legalstub$illegalResult (; 23 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) (i32.const 1) ) (func $legalfunc$illegalImport (; 24 ;) (; has Stack IR ;) (param $0 f64) (param $1 i64) (param $2 i32) (call $legalimport$illegalImport (get_local $0) (i32.wrap/i64 (get_local $1) ) (i32.wrap/i64 (i64.shr_u (get_local $1) (i64.const 32) ) ) (get_local $2) ) ) (func $legalfunc$_fabsf (; 25 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.demote/f64 (call $legalimport$_fabsf (f64.promote/f32 (get_local $0) ) ) ) ) (func $legalfunc$do_i64 (; 26 ;) (; has Stack IR ;) (result i64) (i64.or (i64.extend_u/i32 (call $legalimport$do_i64) ) (i64.shl (i64.extend_u/i32 (get_global $tempRet0) ) (i64.const 32) ) ) ) (func $getTempRet0 (; 27 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) (func $setTempRet0 (; 28 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) )