(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)) (import "env" "table" (table $table 3 3 anyfunc)) (elem (get_global $tableBase) $legalfunc$illegalImport $legalfunc$_fabsf $legalfunc$do_i64) (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 $stores (; 4 ;) (; 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 (; 5 ;) (; has Stack IR ;) (local $0 f32) (local $1 i32) (set_local $1 (i32.reinterpret/f32 (get_local $0) ) ) ) (func $test64 (; 6 ;) (; has Stack IR ;) (local $0 i64) (local $1 i32) (local $2 i64) (set_local $2 (i64.const 128849018897) ) (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) ) (set_local $1 (i32.wrap/i64 (get_local $0) ) ) (set_local $0 (i64.extend_u/i32 (get_local $1) ) ) ) (func $imports (; 7 ;) (; 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 (; 8 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (get_local $0) ) (call $arg (get_local $0) ) ) (func $illegalParam (; 9 ;) (; 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 (; 10 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (get_local $0) ) ) (func $call2 (; 11 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 (get_local $0) ) ) ) (i64.const 245127260211081) ) (func $ifValue32 (; 12 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (get_local $0) (get_local $1) ) ) (func $unreachable_leftovers (; 13 ;) (; has Stack IR ;) (i32.store (i32.const 0) (i32.const -2) ) ) (func $_memchr (; 14 ;) (; 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 (; 15 ;) (; has Stack IR ;) (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 (; 16 ;) (; 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 (; 17 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) (i32.const 1) ) (func $legalfunc$illegalImport (; 18 ;) (; 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 (; 19 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.demote/f64 (call $legalimport$_fabsf (f64.promote/f32 (get_local $0) ) ) ) ) (func $legalfunc$do_i64 (; 20 ;) (; 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 (; 21 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) (func $setTempRet0 (; 22 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) )