summaryrefslogtreecommitdiff
path: root/test/unit.fromasm.clamp.no-opts
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit.fromasm.clamp.no-opts')
-rw-r--r--test/unit.fromasm.clamp.no-opts1961
1 files changed, 1961 insertions, 0 deletions
diff --git a/test/unit.fromasm.clamp.no-opts b/test/unit.fromasm.clamp.no-opts
new file mode 100644
index 000000000..3bcf11142
--- /dev/null
+++ b/test/unit.fromasm.clamp.no-opts
@@ -0,0 +1,1961 @@
+(module
+ (type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
+ (type $FUNCSIG$vf (func (param f32)))
+ (type $FUNCSIG$vi (func (param i32)))
+ (type $FUNCSIG$v (func))
+ (type $FUNCSIG$idi (func (param f64 i32) (result i32)))
+ (type $FUNCSIG$ii (func (param i32) (result i32)))
+ (type $FUNCSIG$dd (func (param f64) (result f64)))
+ (type $FUNCSIG$i (func (result i32)))
+ (import "global" "NaN" (global $t$asm2wasm$import f64))
+ (import "global" "Infinity" (global $u$asm2wasm$import f64))
+ (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32))
+ (import "env" "gb" (global $n$asm2wasm$import i32))
+ (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
+ (import "env" "setTempRet0" (func $setTempRet0 (param i32) (result i32)))
+ (import "env" "abort" (func $abort (param f64) (result f64)))
+ (import "env" "print" (func $print (param i32)))
+ (import "env" "h" (func $h (param i32)))
+ (import "env" "return_int" (func $return_int (result i32)))
+ (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64)))
+ (import "env" "memory" (memory $0 256 256))
+ (import "env" "table" (table 24 24 anyfunc))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (global $t (mut f64) (get_global $t$asm2wasm$import))
+ (global $u (mut f64) (get_global $u$asm2wasm$import))
+ (global $Int (mut i32) (i32.const 0))
+ (global $Double (mut f64) (f64.const 0))
+ (global $tempDoublePtr (mut i32) (get_global $tempDoublePtr$asm2wasm$import))
+ (global $n (mut i32) (get_global $n$asm2wasm$import))
+ (global $STACKTOP (mut i32) (get_global $STACKTOP$asm2wasm$import))
+ (global $exportedNumber i32 (i32.const 42))
+ (elem (get_global $tableBase) $v $big_negative $v $v $w $w $importedDoubles $w $z $cneg $z $z $z $z $z $z $vi $vi $vi $vi $vi $vi $vi $vi)
+ (export "big_negative" (func $big_negative))
+ (export "pick" (func $exportMe))
+ (export "doubleCompares" (func $doubleCompares))
+ (export "intOps" (func $intOps))
+ (export "conversions" (func $conversions))
+ (export "switcher" (func $switcher))
+ (export "frem" (func $frem))
+ (export "big_uint_div_u" (func $big_uint_div_u))
+ (export "fr" (func $legalstub$fr))
+ (export "negZero" (func $negZero))
+ (export "neg" (func $neg))
+ (export "smallCompare" (func $smallCompare))
+ (export "cneg_nosemicolon" (func $cneg_nosemicolon))
+ (export "forLoop" (func $forLoop))
+ (export "ceiling_32_64" (func $legalstub$ceiling_32_64))
+ (export "aborts" (func $aborts))
+ (export "continues" (func $continues))
+ (export "bitcasts" (func $legalstub$bitcasts))
+ (export "recursiveBlockMerging" (func $recursiveBlockMerging))
+ (export "lb" (func $lb))
+ (export "zeroInit" (func $zeroInit))
+ (export "phi" (func $phi))
+ (export "smallIf" (func $smallIf))
+ (export "dropCall" (func $dropCall))
+ (export "useSetGlobal" (func $useSetGlobal))
+ (export "usesSetGlobal2" (func $usesSetGlobal2))
+ (export "breakThroughMany" (func $breakThroughMany))
+ (export "ifChainEmpty" (func $ifChainEmpty))
+ (export "heap8NoShift" (func $heap8NoShift))
+ (export "conditionalTypeFun" (func $conditionalTypeFun))
+ (export "loadSigned" (func $loadSigned))
+ (export "globalOpts" (func $globalOpts))
+ (export "dropCallImport" (func $dropCallImport))
+ (export "loophi" (func $loophi))
+ (export "loophi2" (func $loophi2))
+ (export "relooperJumpThreading" (func $relooperJumpThreading))
+ (export "relooperJumpThreading__ZN4game14preloadweaponsEv" (func $relooperJumpThreading__ZN4game14preloadweaponsEv))
+ (export "__Z12multi_varargiz" (func $__Z12multi_varargiz))
+ (export "jumpThreadDrop" (func $jumpThreadDrop))
+ (export "dropIgnoredImportInIf" (func $dropIgnoredImportInIf))
+ (export "dropIgnoredImportsInIf" (func $dropIgnoredImportsInIf))
+ (export "relooperJumpThreading_irreducible" (func $relooperJumpThreading_irreducible))
+ (export "store_fround" (func $store_fround))
+ (export "exportedNumber" (global $exportedNumber))
+ (export "relocatableAndModules" (func $relocatableAndModules))
+ (export "exported_f32_user" (func $legalstub$exported_f32_user))
+ (export "keepAlive" (func $keepAlive))
+ (func $big_negative
+ (local $temp f64)
+ (set_local $temp
+ (f64.const -2147483648)
+ )
+ (set_local $temp
+ (f64.const -2147483648)
+ )
+ (set_local $temp
+ (f64.const -21474836480)
+ )
+ (set_local $temp
+ (f64.const 0.039625)
+ )
+ (set_local $temp
+ (f64.const -0.039625)
+ )
+ )
+ (func $importedDoubles (result f64)
+ (local $temp f64)
+ (set_local $temp
+ (f64.add
+ (f64.add
+ (f64.add
+ (get_global $t)
+ (get_global $u)
+ )
+ (f64.neg
+ (get_global $u)
+ )
+ )
+ (f64.neg
+ (get_global $t)
+ )
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_global $Int)
+ (i32.const 0)
+ )
+ (return
+ (f64.const -3.4)
+ )
+ )
+ (if
+ (f64.gt
+ (get_global $Double)
+ (f64.const 0)
+ )
+ (return
+ (f64.const 5.6)
+ )
+ )
+ (return
+ (f64.const 1.2)
+ )
+ )
+ (func $doubleCompares (param $x f64) (param $y f64) (result f64)
+ (local $t f64)
+ (local $Int f64)
+ (local $Double i32)
+ (if
+ (f64.gt
+ (get_local $x)
+ (f64.const 0)
+ )
+ (return
+ (f64.const 1.2)
+ )
+ )
+ (if
+ (f64.gt
+ (get_local $Int)
+ (f64.const 0)
+ )
+ (return
+ (f64.const -3.4)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $Double)
+ (i32.const 0)
+ )
+ (return
+ (f64.const 5.6)
+ )
+ )
+ (if
+ (f64.lt
+ (get_local $x)
+ (get_local $y)
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (return
+ (get_local $y)
+ )
+ )
+ (func $intOps (result i32)
+ (local $x i32)
+ (return
+ (i32.eqz
+ (get_local $x)
+ )
+ )
+ )
+ (func $hexLiterals
+ (local $i i32)
+ (set_local $i
+ (i32.add
+ (i32.add
+ (i32.const 0)
+ (i32.const 313249263)
+ )
+ (i32.const -19088752)
+ )
+ )
+ )
+ (func $f64-to-int (param $0 f64) (result i32)
+ (if i32
+ (f64.ne
+ (get_local $0)
+ (get_local $0)
+ )
+ (i32.const -2147483648)
+ (if i32
+ (f64.ge
+ (get_local $0)
+ (f64.const 2147483648)
+ )
+ (i32.const -2147483648)
+ (if i32
+ (f64.le
+ (get_local $0)
+ (f64.const -2147483649)
+ )
+ (i32.const -2147483648)
+ (i32.trunc_s/f64
+ (get_local $0)
+ )
+ )
+ )
+ )
+ )
+ (func $conversions
+ (local $i i32)
+ (local $d f64)
+ (local $f f32)
+ (set_local $i
+ (call $f64-to-int
+ (get_local $d)
+ )
+ )
+ (set_local $i
+ (call $f64-to-int
+ (f64.promote/f32
+ (get_local $f)
+ )
+ )
+ )
+ (set_local $d
+ (f64.convert_s/i32
+ (get_local $i)
+ )
+ )
+ (set_local $d
+ (f64.convert_u/i32
+ (get_local $i)
+ )
+ )
+ )
+ (func $seq
+ (local $J f64)
+ (set_local $J
+ (f64.sub
+ (block f64
+ (drop
+ (f64.const 0.1)
+ )
+ (f64.const 5.1)
+ )
+ (block f64
+ (drop
+ (f64.const 3.2)
+ )
+ (f64.const 4.2)
+ )
+ )
+ )
+ )
+ (func $switcher (param $x i32) (result i32)
+ (local $waka i32)
+ (block $switch
+ (block $switch-case0
+ (block $switch-case
+ (br_table $switch-case $switch-case0 $switch
+ (i32.sub
+ (get_local $x)
+ (i32.const 1)
+ )
+ )
+ )
+ (return
+ (i32.const 1)
+ )
+ )
+ (return
+ (i32.const 2)
+ )
+ )
+ (block $switch1
+ (block $switch-case3
+ (block $switch-case2
+ (br_table $switch-case3 $switch1 $switch1 $switch1 $switch1 $switch1 $switch1 $switch-case2 $switch1
+ (i32.sub
+ (get_local $x)
+ (i32.const 5)
+ )
+ )
+ )
+ (return
+ (i32.const 121)
+ )
+ )
+ (return
+ (i32.const 51)
+ )
+ )
+ (block $label$break$Lout
+ (block $switch-case9
+ (block $switch-case6
+ (block $switch-case5
+ (block $switch-case4
+ (br_table $switch-case9 $label$break$Lout $label$break$Lout $switch-case6 $label$break$Lout $label$break$Lout $label$break$Lout $label$break$Lout $switch-case5 $label$break$Lout $switch-case4 $label$break$Lout
+ (i32.sub
+ (get_local $x)
+ (i32.const 2)
+ )
+ )
+ )
+ (br $label$break$Lout)
+ )
+ (br $label$break$Lout)
+ )
+ (block
+ (loop $while-in
+ (block $while-out
+ (br $while-out)
+ (br $while-in)
+ )
+ )
+ (br $label$break$Lout)
+ )
+ )
+ (block
+ (loop $while-in8
+ (block $while-out7
+ (br $label$break$Lout)
+ (br $while-in8)
+ )
+ )
+ (br $label$break$Lout)
+ )
+ )
+ (loop $label$continue$L1
+ (block $label$break$L1
+ (loop $label$continue$L3
+ (block $label$break$L3
+ (block $switch10
+ (block $switch-default
+ (block $switch-case13
+ (block $switch-case12
+ (block $switch-case11
+ (br_table $switch-case11 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case13 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case12 $switch-default
+ (i32.sub
+ (get_local $x)
+ (i32.const -1)
+ )
+ )
+ )
+ (block
+ (br $label$break$L1)
+ (br $switch10)
+ )
+ )
+ (block
+ (set_local $waka
+ (i32.const 1)
+ )
+ (br $switch10)
+ )
+ )
+ (block
+ (br $label$break$L3)
+ (br $switch10)
+ )
+ )
+ (br $label$break$L1)
+ )
+ (br $label$continue$L3)
+ )
+ )
+ (call $h
+ (i32.const 120)
+ )
+ (br $label$continue$L1)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (func $blocker
+ (block $label$break$L
+ (br $label$break$L)
+ )
+ )
+ (func $frem (result f64)
+ (return
+ (call $f64-rem
+ (f64.const 5.5)
+ (f64.const 1.2)
+ )
+ )
+ )
+ (func $i32u-div (param $0 i32) (param $1 i32) (result i32)
+ (if i32
+ (i32.eqz
+ (get_local $1)
+ )
+ (i32.const 0)
+ (i32.div_u
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ )
+ (func $big_uint_div_u (result i32)
+ (local $x i32)
+ (set_local $x
+ (i32.and
+ (call $i32u-div
+ (i32.const -1)
+ (i32.const 2)
+ )
+ (i32.const -1)
+ )
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (func $fr (param $x f32)
+ (local $y f32)
+ (local $z f64)
+ (drop
+ (f32.demote/f64
+ (get_local $z)
+ )
+ )
+ (drop
+ (get_local $y)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ )
+ (func $negZero (result f64)
+ (return
+ (f64.const -0)
+ )
+ )
+ (func $abs
+ (local $x i32)
+ (local $y f64)
+ (local $z f32)
+ (local $asm2wasm_i32_temp i32)
+ (set_local $x
+ (block i32
+ (set_local $asm2wasm_i32_temp
+ (i32.const 0)
+ )
+ (select
+ (i32.sub
+ (i32.const 0)
+ (get_local $asm2wasm_i32_temp)
+ )
+ (get_local $asm2wasm_i32_temp)
+ (i32.lt_s
+ (get_local $asm2wasm_i32_temp)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (set_local $y
+ (f64.abs
+ (f64.const 0)
+ )
+ )
+ (set_local $z
+ (f32.abs
+ (f32.const 0)
+ )
+ )
+ )
+ (func $minmax
+ (local $x f64)
+ (local $y f64)
+ (local $z f32)
+ (local $w f32)
+ (set_local $x
+ (f64.min
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ (set_local $y
+ (f64.max
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ (set_local $z
+ (f32.min
+ (get_local $z)
+ (get_local $w)
+ )
+ )
+ (set_local $w
+ (f32.max
+ (get_local $z)
+ (get_local $w)
+ )
+ )
+ )
+ (func $neg
+ (local $x f32)
+ (set_local $x
+ (f32.neg
+ (get_local $x)
+ )
+ )
+ (call_indirect $FUNCSIG$vf
+ (get_local $x)
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ (func $cneg (param $x f32)
+ (call_indirect $FUNCSIG$vf
+ (get_local $x)
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
+ )
+ (i32.const 8)
+ )
+ )
+ )
+ (func $___syscall_ret
+ (local $$0 i32)
+ (drop
+ (i32.gt_u
+ (get_local $$0)
+ (i32.const -4096)
+ )
+ )
+ )
+ (func $smallCompare (result i32)
+ (local $i i32)
+ (local $j i32)
+ (if
+ (i32.lt_s
+ (get_local $i)
+ (get_local $j)
+ )
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $i)
+ (get_local $j)
+ )
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ )
+ (return
+ (get_local $i)
+ )
+ )
+ (func $cneg_nosemicolon
+ (call_indirect $FUNCSIG$vi
+ (i32.const 1)
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+ (func $forLoop
+ (local $i i32)
+ (set_local $i
+ (i32.const 1)
+ )
+ (loop $for-in
+ (block $for-out
+ (if
+ (i32.eqz
+ (i32.lt_s
+ (get_local $i)
+ (i32.const 200)
+ )
+ )
+ (br $for-out)
+ )
+ (call $h
+ (get_local $i)
+ )
+ (set_local $i
+ (i32.add
+ (get_local $i)
+ (i32.const 1)
+ )
+ )
+ (br $for-in)
+ )
+ )
+ )
+ (func $ceiling_32_64 (param $u f32) (param $B f64)
+ (local $temp f32)
+ (set_local $temp
+ (f32.demote/f64
+ (f64.ceil
+ (get_local $B)
+ )
+ )
+ )
+ (set_local $temp
+ (f32.mul
+ (get_local $u)
+ (f32.ceil
+ (f32.demote/f64
+ (get_local $B)
+ )
+ )
+ )
+ )
+ )
+ (func $aborts
+ (drop
+ (call $abort
+ (f64.const 0)
+ )
+ )
+ (drop
+ (call $abort
+ (f64.convert_s/i32
+ (i32.const 55)
+ )
+ )
+ )
+ (drop
+ (call $abort
+ (f64.const 0)
+ )
+ )
+ (drop
+ (call $abort
+ (f64.const 12.34)
+ )
+ )
+ (drop
+ (call $abort
+ (f64.promote/f32
+ (f32.const 56.779998779296875)
+ )
+ )
+ )
+ )
+ (func $continues
+ (loop $while-in
+ (block $while-out
+ (call $print
+ (i32.const 1)
+ )
+ (block $do-once
+ (loop $unlikely-continue
+ (call $print
+ (i32.const 5)
+ )
+ (if
+ (call $return_int)
+ (br $unlikely-continue)
+ )
+ )
+ )
+ (call $print
+ (i32.const 2)
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (func $bitcasts (param $i i32) (param $f f32)
+ (local $d f64)
+ (drop
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
+ (drop
+ (f64.promote/f32
+ (f32.reinterpret/i32
+ (get_local $i)
+ )
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (get_local $f)
+ )
+ )
+ (drop
+ (i32.reinterpret/f32
+ (f32.demote/f64
+ (get_local $d)
+ )
+ )
+ )
+ )
+ (func $recursiveBlockMerging (param $x i32) (result i32)
+ (drop
+ (call $lb
+ (i32.add
+ (i32.add
+ (i32.add
+ (block i32
+ (drop
+ (i32.const 1)
+ )
+ (get_local $x)
+ )
+ (block i32
+ (drop
+ (i32.const 2)
+ )
+ (i32.const 3)
+ )
+ )
+ (block i32
+ (block
+ (block
+ (drop
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 5)
+ )
+ )
+ (drop
+ (i32.const 6)
+ )
+ )
+ (i32.const 7)
+ )
+ )
+ (block i32
+ (drop
+ (i32.const 8)
+ )
+ (block i32
+ (drop
+ (i32.const 9)
+ )
+ (block i32
+ (drop
+ (i32.const 10)
+ )
+ (block i32
+ (drop
+ (i32.const 11)
+ )
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $x
+ (i32.add
+ (i32.add
+ (i32.add
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
+ )
+ (get_local $x)
+ )
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
+ )
+ (call $lb
+ (i32.const 3)
+ )
+ )
+ )
+ (block i32
+ (block
+ (block
+ (drop
+ (call $lb
+ (i32.const 4)
+ )
+ )
+ (drop
+ (call $lb
+ (i32.const 5)
+ )
+ )
+ )
+ (drop
+ (call $lb
+ (i32.const 6)
+ )
+ )
+ )
+ (call $lb
+ (i32.const 7)
+ )
+ )
+ )
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 8)
+ )
+ )
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 9)
+ )
+ )
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 10)
+ )
+ )
+ (block i32
+ (drop
+ (call $lb
+ (i32.const 11)
+ )
+ )
+ (call $lb
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (func $lb (param $a i32) (result i32)
+ (i32.store
+ (get_local $a)
+ (i32.add
+ (i32.add
+ (get_global $n)
+ (i32.const 136)
+ )
+ (i32.const 8)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (func $forgetMe
+ (drop
+ (f64.const 123.456)
+ )
+ )
+ (func $exportMe
+ (drop
+ (f64.const -3.14159)
+ )
+ )
+ (func $zeroInit (param $x i32)
+ (local $y i32)
+ (if
+ (call $lb
+ (i32.const 0)
+ )
+ (if
+ (call $lb
+ (i32.const 1)
+ )
+ (set_local $y
+ (i32.const 3)
+ )
+ )
+ (set_local $y
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $y)
+ (i32.const 3)
+ )
+ (drop
+ (call $lb
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (func $phi (result i32)
+ (local $x i32)
+ (block $do-once
+ (block
+ (if
+ (call $lb
+ (i32.const 1)
+ )
+ (block
+ (set_local $x
+ (i32.const 0)
+ )
+ (br $do-once)
+ )
+ )
+ (set_local $x
+ (i32.const 1)
+ )
+ )
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (func $smallIf
+ (block $do-once
+ (if
+ (call $return_int)
+ (drop
+ (call $lb
+ (i32.const 3)
+ )
+ )
+ (br $do-once)
+ )
+ (nop)
+ )
+ )
+ (func $dropCall (result i32)
+ (if
+ (call $return_int)
+ (block
+ (drop
+ (call $phi)
+ )
+ (drop
+ (call $setTempRet0
+ (i32.const 10)
+ )
+ )
+ (call $zeroInit
+ (call $setTempRet0
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ (return
+ (call $phi)
+ )
+ )
+ (func $useSetGlobal (result i32)
+ (local $x i32)
+ (set_local $x
+ (block i32
+ (set_global $Int
+ (i32.const 10)
+ )
+ (get_global $Int)
+ )
+ )
+ (set_global $Int
+ (i32.const 20)
+ )
+ (return
+ (block i32
+ (set_global $Int
+ (i32.const 30)
+ )
+ (get_global $Int)
+ )
+ )
+ )
+ (func $usesSetGlobal2 (result i32)
+ (return
+ (block i32
+ (block
+ (set_global $Int
+ (i32.const 40)
+ )
+ (drop
+ (get_global $Int)
+ )
+ )
+ (i32.const 50)
+ )
+ )
+ )
+ (func $breakThroughMany (param $$s i32)
+ (block $label$break$L1
+ (if
+ (get_local $$s)
+ (loop $while-in
+ (block $while-out
+ (if
+ (i32.eqz
+ (get_local $$s)
+ )
+ (br $label$break$L1)
+ )
+ (call $zeroInit
+ (i32.const 0)
+ )
+ (br $while-in)
+ )
+ )
+ (drop
+ (i32.const 1337)
+ )
+ )
+ (nop)
+ )
+ )
+ (func $ifChainEmpty (param $label i32) (result i32)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 4)
+ )
+ (return
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 7)
+ )
+ (nop)
+ )
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (func $heap8NoShift (param $x i32) (result i32)
+ (return
+ (i32.load8_s
+ (get_local $x)
+ )
+ )
+ )
+ (func $conditionalTypeFun
+ (local $x i32)
+ (local $y f64)
+ (set_local $x
+ (if i32
+ (call $return_int)
+ (i32.trunc_s/f64
+ (call $abort
+ (f64.convert_s/i32
+ (i32.const 5)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (set_local $y
+ (if f64
+ (call $return_int)
+ (call $abort
+ (f64.convert_s/i32
+ (i32.const 7)
+ )
+ )
+ (f64.const 4.5)
+ )
+ )
+ )
+ (func $loadSigned (param $x i32)
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $x)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_u
+ (get_local $x)
+ )
+ (i32.const 24)
+ )
+ (i32.const 24)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load16_s
+ (get_local $x)
+ )
+ (i32.const 16)
+ )
+ (i32.const 16)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load16_u
+ (get_local $x)
+ )
+ (i32.const 16)
+ )
+ (i32.const 16)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $x)
+ )
+ (i32.const 24)
+ )
+ (i32.const 16)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_u
+ (get_local $x)
+ )
+ (i32.const 16)
+ )
+ (i32.const 24)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load16_s
+ (get_local $x)
+ )
+ (i32.const 16)
+ )
+ (i32.const 24)
+ )
+ )
+ (call $loadSigned
+ (i32.shr_s
+ (i32.shl
+ (i32.load16_u
+ (get_local $x)
+ )
+ (i32.const 24)
+ )
+ (i32.const 16)
+ )
+ )
+ )
+ (func $z (param $x f32)
+ (nop)
+ )
+ (func $w (result f64)
+ (return
+ (f64.const 0)
+ )
+ )
+ (func $globalOpts
+ (local $x i32)
+ (local $y f64)
+ (set_local $x
+ (get_global $Int)
+ )
+ (set_local $y
+ (get_global $Double)
+ )
+ (i32.store8
+ (i32.const 13)
+ (i32.load
+ (i32.const 12)
+ )
+ )
+ (set_global $Double
+ (get_local $y)
+ )
+ (set_global $Int
+ (get_local $x)
+ )
+ (call $globalOpts)
+ (set_local $x
+ (get_global $Int)
+ )
+ (if
+ (call $return_int)
+ (set_global $Int
+ (i32.const 20)
+ )
+ )
+ (set_global $Int
+ (get_local $x)
+ )
+ (call $globalOpts)
+ (set_local $x
+ (get_global $Int)
+ )
+ (call $globalOpts)
+ (set_global $Int
+ (get_local $x)
+ )
+ )
+ (func $dropCallImport
+ (if
+ (call $return_int)
+ (drop
+ (call $return_int)
+ )
+ )
+ )
+ (func $loophi (param $x i32) (param $y i32)
+ (local $temp i32)
+ (local $inc i32)
+ (local $loopvar i32)
+ (set_local $loopvar
+ (get_local $x)
+ )
+ (loop $while-in
+ (block $while-out
+ (call $loophi
+ (get_local $loopvar)
+ (i32.const 0)
+ )
+ (set_local $temp
+ (get_local $loopvar)
+ )
+ (if
+ (get_local $temp)
+ (if
+ (get_local $temp)
+ (br $while-out)
+ )
+ )
+ (set_local $inc
+ (i32.add
+ (get_local $loopvar)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $inc)
+ (get_local $y)
+ )
+ (set_local $loopvar
+ (get_local $inc)
+ )
+ (br $while-out)
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (func $loophi2 (result i32)
+ (local $jnc i32)
+ (local $i i32)
+ (local $i$lcssa i32)
+ (local $temp i32)
+ (local $j i32)
+ (set_local $i
+ (i32.const 0)
+ )
+ (loop $label$continue$L7
+ (block $label$break$L7
+ (set_local $j
+ (i32.const 0)
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $temp
+ (get_local $j)
+ )
+ (if
+ (call $return_int)
+ (if
+ (get_local $temp)
+ (block
+ (set_local $i$lcssa
+ (get_local $i)
+ )
+ (br $label$break$L7)
+ )
+ )
+ )
+ (set_local $jnc
+ (i32.add
+ (get_local $j)
+ (i32.const 1)
+ )
+ )
+ (if
+ (get_local $jnc)
+ (set_local $j
+ (get_local $jnc)
+ )
+ (br $while-out)
+ )
+ (br $while-in)
+ )
+ )
+ (br $label$continue$L7)
+ )
+ )
+ (return
+ (get_local $i$lcssa)
+ )
+ )
+ (func $relooperJumpThreading (param $x i32) (result i32)
+ (local $label i32)
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 0)
+ )
+ (set_local $label
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 1)
+ )
+ (call $h
+ (i32.const 1)
+ )
+ )
+ (call $h
+ (i32.const -1)
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $x
+ (i32.add
+ (get_local $x)
+ (i32.const 1)
+ )
+ )
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 2)
+ )
+ (set_local $label
+ (i32.const 2)
+ )
+ (br $while-out)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 2)
+ )
+ (call $h
+ (i32.const 3)
+ )
+ )
+ (call $h
+ (i32.const -2)
+ )
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 4)
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 3)
+ )
+ (set_local $label
+ (i32.const 3)
+ )
+ (set_local $label
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 3)
+ )
+ (call $h
+ (i32.const 5)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 4)
+ )
+ (call $h
+ (i32.const 6)
+ )
+ )
+ )
+ (call $h
+ (i32.const -3)
+ )
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 7)
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 5)
+ )
+ (set_local $label
+ (i32.const 5)
+ )
+ (set_local $label
+ (i32.const 6)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 5)
+ )
+ (block
+ (call $h
+ (i32.const 8)
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 6)
+ )
+ (set_local $label
+ (i32.const 6)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 6)
+ )
+ (call $h
+ (i32.const 9)
+ )
+ )
+ (call $h
+ (i32.const -4)
+ )
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 10)
+ )
+ (set_local $label
+ (i32.const 7)
+ )
+ )
+ )
+ (block $label$break$L1
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 7)
+ )
+ (block
+ (call $h
+ (i32.const 11)
+ )
+ (br $label$break$L1)
+ )
+ )
+ )
+ (call $h
+ (i32.const -5)
+ )
+ (if
+ (get_local $x)
+ (block
+ (call $h
+ (i32.const 12)
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 8)
+ )
+ (set_local $label
+ (i32.const 8)
+ )
+ (set_local $label
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 8)
+ )
+ (block
+ (call $h
+ (i32.const 13)
+ )
+ (if
+ (get_local $x)
+ (set_local $label
+ (i32.const 9)
+ )
+ )
+ )
+ )
+ (block $label$break$L10
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 9)
+ )
+ (block
+ (call $h
+ (i32.const 14)
+ )
+ (br $label$break$L10)
+ )
+ )
+ )
+ (call $h
+ (i32.const -6)
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (func $relooperJumpThreading__ZN4game14preloadweaponsEv
+ (local $$12 i32)
+ (local $$14 i32)
+ (local $$or$cond8 i32)
+ (local $$or$cond6 i32)
+ (local $$vararg_ptr5 i32)
+ (local $$11 i32)
+ (local $$exitcond i32)
+ (local $label i32)
+ (loop $while-in
+ (block $while-out
+ (if
+ (get_local $$14)
+ (if
+ (get_local $$or$cond8)
+ (set_local $label
+ (i32.const 7)
+ )
+ (set_local $label
+ (i32.const 8)
+ )
+ )
+ (if
+ (get_local $$or$cond6)
+ (set_local $label
+ (i32.const 7)
+ )
+ (set_local $label
+ (i32.const 8)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 7)
+ )
+ (set_local $label
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 8)
+ )
+ (block
+ (set_local $label
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $$vararg_ptr5)
+ (get_local $$11)
+ )
+ )
+ )
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (func $relooperJumpThreading_irreducible (param $x i32)
+ (local $label i32)
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 100)
+ )
+ (set_local $label
+ (i32.const 1)
+ )
+ (set_local $label
+ (i32.const 10)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 1)
+ )
+ (loop $while-in
+ (block $while-out
+ (call $relooperJumpThreading_irreducible
+ (i32.const 1337)
+ )
+ (set_local $label
+ (i32.const 1)
+ )
+ (br $while-in)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 200)
+ )
+ (set_local $label
+ (i32.const 2)
+ )
+ (set_local $label
+ (i32.const 10)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $x)
+ (i32.const 300)
+ )
+ (set_local $label
+ (i32.const 2)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 2)
+ )
+ (call $relooperJumpThreading_irreducible
+ (i32.const 1448)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 10)
+ )
+ (call $relooperJumpThreading_irreducible
+ (i32.const 2000)
+ )
+ )
+ )
+ (func $__Z12multi_varargiz (param $$0 i32)
+ (local $$2 i32)
+ (local $$$06$i4 i32)
+ (local $$exitcond$i6 i32)
+ (local $$12 i32)
+ (local $$20 i32)
+ (if
+ (get_local $$2)
+ (loop $while-in
+ (block $while-out
+ (set_local $$12
+ (get_local $$$06$i4)
+ )
+ (if
+ (get_local $$exitcond$i6)
+ (br $while-out)
+ (set_local $$$06$i4
+ (get_local $$20)
+ )
+ )
+ (br $while-in)
+ )
+ )
+ (drop
+ (call $lb
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ (func $jumpThreadDrop (result i32)
+ (local $label i32)
+ (local $temp i32)
+ (set_local $temp
+ (call $return_int)
+ )
+ (loop $while-in
+ (block $while-out
+ (set_local $label
+ (i32.const 14)
+ )
+ (br $while-out)
+ (br $while-in)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 10)
+ )
+ (nop)
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 12)
+ )
+ (drop
+ (call $return_int)
+ )
+ (if
+ (i32.eq
+ (get_local $label)
+ (i32.const 14)
+ )
+ (nop)
+ )
+ )
+ )
+ (return
+ (get_local $temp)
+ )
+ )
+ (func $dropIgnoredImportInIf (param $$0 i32) (param $$1 i32) (param $$2 i32)
+ (block $do-once
+ (if
+ (get_local $$0)
+ (block
+ (set_local $$0
+ (i32.const 1)
+ )
+ (drop
+ (call $lb
+ (get_local $$2)
+ )
+ )
+ )
+ (br $do-once)
+ )
+ (nop)
+ )
+ (return)
+ )
+ (func $big_fround (result f32)
+ (return
+ (f32.const 4294967296)
+ )
+ )
+ (func $dropIgnoredImportsInIf (param $$0 i32) (param $$1 i32) (param $$2 i32)
+ (block $do-once
+ (if
+ (get_local $$0)
+ (drop
+ (call $lb
+ (get_local $$1)
+ )
+ )
+ (drop
+ (call $lb
+ (get_local $$2)
+ )
+ )
+ )
+ (nop)
+ )
+ (return)
+ )
+ (func $f32_ucast (param $x i32) (result f32)
+ (return
+ (f32.convert_u/i32
+ (get_local $x)
+ )
+ )
+ )
+ (func $f32_scast (param $x i32) (result f32)
+ (return
+ (f32.convert_s/i32
+ (get_local $x)
+ )
+ )
+ )
+ (func $store_fround (param $x i32)
+ (f64.store
+ (i32.const 80)
+ (f64.promote/f32
+ (f32.convert_s/i32
+ (get_local $x)
+ )
+ )
+ )
+ )
+ (func $relocatableAndModules (result i32)
+ (call_indirect $FUNCSIG$v
+ (i32.const 10)
+ )
+ (call_indirect $FUNCSIG$v
+ (i32.const 20)
+ )
+ (return
+ (call_indirect $FUNCSIG$idi
+ (f64.const 1.5)
+ (i32.const 200)
+ (i32.const 30)
+ )
+ )
+ )
+ (func $exported_f32_user (param $x i32) (param $y f32) (param $z f64) (result f32)
+ (return
+ (get_local $y)
+ )
+ )
+ (func $sqrts (param $x f64) (result f64)
+ (return
+ (f64.add
+ (f64.sqrt
+ (get_local $x)
+ )
+ (f64.promote/f32
+ (f32.sqrt
+ (f32.demote/f64
+ (get_local $x)
+ )
+ )
+ )
+ )
+ )
+ )
+ (func $keepAlive
+ (drop
+ (call $sqrts
+ (f64.const 3.14159)
+ )
+ )
+ )
+ (func $v
+ (nop)
+ )
+ (func $vi (param $x i32)
+ (nop)
+ )
+ (func $legalstub$fr (param $0 f64)
+ (call $fr
+ (f32.demote/f64
+ (get_local $0)
+ )
+ )
+ )
+ (func $legalstub$ceiling_32_64 (param $0 f64) (param $1 f64)
+ (call $ceiling_32_64
+ (f32.demote/f64
+ (get_local $0)
+ )
+ (get_local $1)
+ )
+ )
+ (func $legalstub$bitcasts (param $0 i32) (param $1 f64)
+ (call $bitcasts
+ (get_local $0)
+ (f32.demote/f64
+ (get_local $1)
+ )
+ )
+ )
+ (func $legalstub$exported_f32_user (param $0 i32) (param $1 f64) (param $2 f64) (result f64)
+ (f64.promote/f32
+ (call $exported_f32_user
+ (get_local $0)
+ (f32.demote/f64
+ (get_local $1)
+ )
+ (get_local $2)
+ )
+ )
+ )
+)