blob: 40d3d13253ece5f3f6a6a0c708a7738831a3cf7a [file] [log] [blame]
(module
(type $none_=>_none (func))
(type $none_=>_i64 (func (result i64)))
(type $i64_i64_=>_i64 (func (param i64 i64) (result i64)))
(type $none_=>_i32 (func (result i32)))
(type $i64_=>_none (func (param i64)))
(type $i64_=>_i32 (func (param i64) (result i32)))
(type $i64_=>_i64 (func (param i64) (result i64)))
(type $f32_=>_i64 (func (param f32) (result i64)))
(type $f64_=>_i64 (func (param f64) (result i64)))
(type $i32_=>_none (func (param i32)))
(type $i32_i32_i32_=>_none (func (param i32 i32 i32)))
(type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64)))
(type $i32_i64_f64_=>_none (func (param i32 i64 f64)))
(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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
(type $f32_=>_f32 (func (param f32) (result f32)))
(import "env" "memory" (memory $memory 256 256))
(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" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
(import "env" "_fabsf" (func $_fabsf (param f32) (result f32)))
(import "env" "abort" (func $abort))
(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)))
(global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import))
(export "test64" (func $test64))
(export "illegalParam" (func $legalstub$illegalParam))
(export "illegalResult" (func $legalstub$illegalResult))
(export "keepAlive" (func $keepAlive))
(func $loads
(local $i i32)
(local $f f32)
(local $d f64)
(local.set $i
(i32.load8_s
(i32.const 100)
)
)
(local.set $i
(i32.load8_s
(i32.const 101)
)
)
(local.set $i
(i32.load16_s
(i32.const 102)
)
)
(local.set $i
(i32.load16_s
(i32.const 103)
)
)
(local.set $i
(i32.load16_s align=1
(i32.const 104)
)
)
(local.set $i
(i32.load16_s
(i32.const 105)
)
)
(local.set $i
(i32.load
(i32.const 106)
)
)
(local.set $i
(i32.load
(i32.const 107)
)
)
(local.set $i
(i32.load align=1
(i32.const 108)
)
)
(local.set $i
(i32.load align=2
(i32.const 109)
)
)
(local.set $i
(i32.load
(i32.const 110)
)
)
(local.set $f
(f32.load
(i32.const 111)
)
)
(local.set $f
(f32.load
(i32.const 112)
)
)
(local.set $f
(f32.load align=1
(i32.const 113)
)
)
(local.set $f
(f32.load align=2
(i32.const 114)
)
)
(local.set $f
(f32.load
(i32.const 115)
)
)
(local.set $d
(f64.load
(i32.const 116)
)
)
(local.set $d
(f64.load
(i32.const 117)
)
)
(local.set $d
(f64.load align=1
(i32.const 118)
)
)
(local.set $d
(f64.load align=2
(i32.const 119)
)
)
(local.set $d
(f64.load align=4
(i32.const 120)
)
)
(local.set $d
(f64.load
(i32.const 121)
)
)
)
(func $stores
(local $i i32)
(local $f f32)
(local $d f64)
(i32.store8
(i32.const 100)
(local.get $i)
)
(i32.store8
(i32.const 101)
(local.get $i)
)
(i32.store16
(i32.const 102)
(local.get $i)
)
(i32.store16
(i32.const 103)
(local.get $i)
)
(i32.store16 align=1
(i32.const 104)
(local.get $i)
)
(i32.store16
(i32.const 105)
(local.get $i)
)
(i32.store
(i32.const 106)
(local.get $i)
)
(i32.store
(i32.const 107)
(local.get $i)
)
(i32.store align=1
(i32.const 108)
(local.get $i)
)
(i32.store align=2
(i32.const 109)
(local.get $i)
)
(i32.store
(i32.const 110)
(local.get $i)
)
(f32.store
(i32.const 111)
(local.get $f)
)
(f32.store
(i32.const 112)
(local.get $f)
)
(f32.store align=1
(i32.const 113)
(local.get $f)
)
(f32.store align=2
(i32.const 114)
(local.get $f)
)
(f32.store
(i32.const 115)
(local.get $f)
)
(f64.store
(i32.const 116)
(local.get $d)
)
(f64.store
(i32.const 117)
(local.get $d)
)
(f64.store align=1
(i32.const 118)
(local.get $d)
)
(f64.store align=2
(i32.const 119)
(local.get $d)
)
(f64.store align=4
(i32.const 120)
(local.get $d)
)
(f64.store
(i32.const 121)
(local.get $d)
)
)
(func $test
(local $i i32)
(local $j i64)
(local $f f32)
(local $f1 f32)
(local $f2 f32)
(local $d1 f64)
(local $d2 f64)
(local.set $i
(i32.reinterpret_f32
(local.get $f)
)
)
(local.set $f
(f32.reinterpret_i32
(local.get $i)
)
)
(local.set $i
(i32.ctz
(local.get $i)
)
)
(local.set $i
(i32.popcnt
(local.get $i)
)
)
(local.set $j
(i64.popcnt
(local.get $j)
)
)
(local.set $f1
(f32.copysign
(local.get $f1)
(local.get $f2)
)
)
(local.set $d1
(f64.copysign
(local.get $d1)
(local.get $d2)
)
)
)
(func $i64u-div (param $0 i64) (param $1 i64) (result i64)
(if (result i64)
(i64.eqz
(local.get $1)
)
(i64.const 0)
(i64.div_u
(local.get $0)
(local.get $1)
)
)
)
(func $i64s-div (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 $i64u-rem (param $0 i64) (param $1 i64) (result i64)
(if (result i64)
(i64.eqz
(local.get $1)
)
(i64.const 0)
(i64.rem_u
(local.get $0)
(local.get $1)
)
)
)
(func $i64s-rem (param $0 i64) (param $1 i64) (result i64)
(if (result i64)
(i64.eqz
(local.get $1)
)
(i64.const 0)
(i64.rem_s
(local.get $0)
(local.get $1)
)
)
)
(func $f32-to-int64 (param $0 f32) (result i64)
(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 (param $0 f64) (result i64)
(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 (param $0 f32) (result i64)
(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 (param $0 f64) (result i64)
(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
(local $x i64)
(local $y i64)
(local $z i32)
(local $int32 i32)
(local $float32 f32)
(local $float64 f64)
(local.set $x
(i64.const 100)
)
(local.set $y
(i64.const 128849018897)
)
(local.set $x
(i64.add
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.sub
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.mul
(local.get $x)
(local.get $y)
)
)
(local.set $x
(call $i64u-div
(local.get $x)
(local.get $y)
)
)
(local.set $x
(call $i64s-div
(local.get $x)
(local.get $y)
)
)
(local.set $x
(call $i64u-rem
(local.get $x)
(local.get $y)
)
)
(local.set $x
(call $i64s-rem
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.and
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.or
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.xor
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.shl
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.shr_s
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.shr_u
(local.get $x)
(local.get $y)
)
)
(local.set $x
(i64.load
(i32.const 120)
)
)
(local.set $x
(i64.load
(i32.const 120)
)
)
(local.set $x
(i64.load align=2
(i32.const 120)
)
)
(local.set $x
(i64.load align=4
(i32.const 120)
)
)
(local.set $x
(i64.load
(i32.const 120)
)
)
(i64.store
(i32.const 120)
(local.get $x)
)
(i64.store
(i32.const 120)
(local.get $x)
)
(i64.store align=2
(i32.const 120)
(local.get $x)
)
(i64.store align=4
(i32.const 120)
(local.get $x)
)
(i64.store
(i32.const 120)
(local.get $x)
)
(local.set $z
(i64.eq
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.ne
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.le_u
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.le_s
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.ge_u
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.ge_s
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.lt_u
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.lt_s
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.gt_u
(local.get $x)
(local.get $y)
)
)
(local.set $z
(i64.gt_s
(local.get $x)
(local.get $y)
)
)
(local.set $int32
(i32.wrap_i64
(local.get $x)
)
)
(local.set $x
(i64.extend_i32_s
(local.get $int32)
)
)
(local.set $x
(i64.extend_i32_u
(local.get $int32)
)
)
(local.set $float32
(f32.convert_i64_s
(local.get $x)
)
)
(local.set $float64
(f64.convert_i64_s
(local.get $x)
)
)
(local.set $float32
(f32.convert_i64_u
(local.get $x)
)
)
(local.set $float64
(f64.convert_i64_u
(local.get $x)
)
)
(local.set $x
(call $f32-to-int64
(local.get $float32)
)
)
(local.set $x
(call $f64-to-int64
(local.get $float64)
)
)
(local.set $x
(call $f32-to-uint64
(local.get $float32)
)
)
(local.set $x
(call $f64-to-uint64
(local.get $float64)
)
)
(local.set $x
(i64.reinterpret_f64
(local.get $float64)
)
)
(local.set $float64
(f64.reinterpret_i64
(local.get $x)
)
)
(local.set $x
(i64.clz
(local.get $y)
)
)
(local.set $y
(i64.ctz
(local.get $x)
)
)
)
(func $imports (result i64)
(call $legalfunc$illegalImport
(f64.const -3.13159)
(i64.const 94489280523)
(i32.const -33)
)
(return
(call $legalfunc$illegalImportResult)
)
)
(func $arg (param $x i64)
(i64.store
(i32.const 100)
(local.get $x)
)
(call $arg
(local.get $x)
)
)
(func $illegalParam (param $a i32) (param $x i64) (param $b f64)
(i32.store
(i32.const 50)
(local.get $a)
)
(i64.store
(i32.const 100)
(local.get $x)
)
(f64.store
(i32.const 200)
(local.get $b)
)
(call $illegalParam
(i32.const 0)
(local.get $x)
(f64.const 12.34)
)
)
(func $result (result i64)
(return
(i64.const 8589934593)
)
)
(func $illegalResult (result i64)
(return
(i64.const 8589934593)
)
)
(func $call1 (param $x i64) (result i64)
(local $y i64)
(local.set $y
(call $call1
(local.get $x)
)
)
(return
(local.get $y)
)
)
(func $call2 (param $x i64) (result i64)
(drop
(call $call2
(call $call2
(local.get $x)
)
)
)
(return
(i64.const 245127260211081)
)
)
(func $returnCastConst (result i64)
(return
(i64.const 0)
)
)
(func $ifValue64 (param $$4 i64) (param $$6 i64) (result i64)
(local $$$0 i64)
(local $$9 i64)
(local $$10 i64)
(if
(i32.wrap_i64
(local.get $$6)
)
(block
(local.set $$9
(call $call2
(local.get $$4)
)
)
(local.set $$$0
(local.get $$9)
)
)
(block
(local.set $$10
(call $call2
(local.get $$4)
)
)
(local.set $$$0
(local.get $$10)
)
)
)
(return
(local.get $$$0)
)
)
(func $ifValue32 (param $$4 i32) (param $$6 i32) (result i32)
(local $$$0 i32)
(local $$9 i32)
(local $$10 i32)
(if
(local.get $$6)
(block
(local.set $$9
(call $ifValue32
(local.get $$4)
(local.get $$6)
)
)
(local.set $$$0
(local.get $$9)
)
)
(block
(local.set $$10
(call $ifValue32
(local.get $$4)
(local.get $$6)
)
)
(local.set $$$0
(local.get $$10)
)
)
)
(return
(local.get $$$0)
)
)
(func $switch64 (param $$a444 i64) (result i32)
(local $$waka i32)
(local $2 i64)
(block $switch
(block $switch-default
(block $switch-case0
(block $switch-case
(br_table $switch-case0 $switch-default $switch-case $switch-default
(i32.wrap_i64
(block (result i64)
(local.set $2
(i64.sub
(local.get $$a444)
(i64.const 42949672965)
)
)
(br_if $switch-default
(i32.wrap_i64
(i64.shr_u
(local.get $2)
(i64.const 32)
)
)
)
(local.get $2)
)
)
)
)
(block
(local.set $$waka
(i32.const 11000)
)
(br $switch)
)
)
(block
(local.set $$waka
(i32.const 10)
)
(br $switch)
)
)
(local.set $$waka
(i32.const 1)
)
)
(return
(local.get $$waka)
)
)
(func $unreachable_leftovers (param $$0 i32) (param $$1 i32) (param $$2 i32)
(local $label i32)
(block $label$break$L1
(if
(local.get $$1)
(local.set $label
(i32.const 10)
)
(block
(if
(local.get $$2)
(block
(br $label$break$L1)
(return)
)
)
(i32.store
(local.get $$0)
(i32.const -2)
)
(return)
)
)
)
(if
(i32.eq
(local.get $label)
(i32.const 10)
)
(i32.store
(local.get $$0)
(i32.const -1)
)
)
(return)
)
(func $switch64TOOMUCH (param $$a444 i64) (result i32)
(local $$waka i32)
(local $2 i64)
(local $3 i32)
(local $4 i64)
(local $5 i32)
(block $switch
(block $switch-default
(block $switch-case0
(block $switch-case
(local.set $2
(local.get $$a444)
)
(if
(i64.eq
(local.get $2)
(i64.const -9223372036854775808)
)
(br $switch-case0)
(if
(i64.eq
(local.get $2)
(i64.const 4611686018427387904)
)
(br $switch-case)
(br $switch-default)
)
)
)
(nop)
)
(return
(i32.const 40)
)
)
(local.set $$waka
(i32.const 1)
)
)
(block $switch1
(block $switch-default4
(block $switch-case3
(block $switch-case2
(local.set $3
(i32.const 100)
)
(if
(i32.eq
(local.get $3)
(i32.const 214748364)
)
(br $switch-case3)
(if
(i32.eq
(local.get $3)
(i32.const 107374182)
)
(br $switch-case2)
(br $switch-default4)
)
)
)
(nop)
)
(return
(i32.const 41)
)
)
(local.set $$waka
(i32.const 1001)
)
)
(block $switch5
(block $switch-case7
(block $switch-case6
(local.set $4
(local.get $$a444)
)
(if
(i64.eq
(local.get $4)
(i64.const -9223372036854775808)
)
(br $switch-case7)
(if
(i64.eq
(local.get $4)
(i64.const 4611686018427387904)
)
(br $switch-case6)
(br $switch5)
)
)
)
(nop)
)
(return
(i32.const 42)
)
)
(block $switch8
(block $switch-case10
(block $switch-case9
(local.set $5
(i32.const 100)
)
(if
(i32.eq
(local.get $5)
(i32.const 214748364)
)
(br $switch-case10)
(if
(i32.eq
(local.get $5)
(i32.const 107374182)
)
(br $switch-case9)
(br $switch8)
)
)
)
(nop)
)
(return
(i32.const 43)
)
)
(return
(i32.const 44)
)
)
(func $_memchr (param $$src i32) (param $$c i32) (param $$n i32) (result i32)
(local $$0 i32)
(local $$1 i32)
(local $$2 i32)
(local $$3 i32)
(local $$4 i32)
(local $$5 i32)
(local $$6 i32)
(local $$7 i32)
(local $$and i32)
(local $$and15 i32)
(local $$and16 i32)
(local $$and39 i32)
(local $$cmp i32)
(local $$cmp11 i32)
(local $$cmp1132 i32)
(local $$cmp28 i32)
(local $$cmp8 i32)
(local $$cond i32)
(local $$conv1 i32)
(local $$dec i32)
(local $$dec34 i32)
(local $$incdec$ptr i32)
(local $$incdec$ptr21 i32)
(local $$incdec$ptr33 i32)
(local $$lnot i32)
(local $$mul i32)
(local $$n$addr$0$lcssa i32)
(local $$n$addr$0$lcssa52 i32)
(local $$n$addr$043 i32)
(local $$n$addr$1$lcssa i32)
(local $$n$addr$133 i32)
(local $$n$addr$227 i32)
(local $$n$addr$3 i32)
(local $$neg i32)
(local $$or$cond i32)
(local $$or$cond42 i32)
(local $$s$0$lcssa i32)
(local $$s$0$lcssa53 i32)
(local $$s$044 i32)
(local $$s$128 i32)
(local $$s$2 i32)
(local $$sub i32)
(local $$sub22 i32)
(local $$tobool i32)
(local $$tobool2 i32)
(local $$tobool2$lcssa i32)
(local $$tobool241 i32)
(local $$tobool25 i32)
(local $$tobool2526 i32)
(local $$tobool36 i32)
(local $$tobool40 i32)
(local $$w$0$lcssa i32)
(local $$w$034 i32)
(local $$xor i32)
(local $label i32)
(local $sp i32)
(local.set $sp
(global.get $STACKTOP)
)
(local.set $$conv1
(i32.and
(local.get $$c)
(i32.const 255)
)
)
(local.set $$0
(local.get $$src)
)
(local.set $$and39
(i32.and
(local.get $$0)
(i32.const 3)
)
)
(local.set $$tobool40
(i32.ne
(local.get $$and39)
(i32.const 0)
)
)
(local.set $$tobool241
(i32.ne
(local.get $$n)
(i32.const 0)
)
)
(local.set $$or$cond42
(i32.and
(local.get $$tobool241)
(local.get $$tobool40)
)
)
(block $label$break$L1
(if
(local.get $$or$cond42)
(block
(local.set $$1
(i32.and
(local.get $$c)
(i32.const 255)
)
)
(local.set $$n$addr$043
(local.get $$n)
)
(local.set $$s$044
(local.get $$src)
)
(loop $while-in
(block $while-out
(local.set $$2
(i32.load8_s
(local.get $$s$044)
)
)
(local.set $$cmp
(i32.eq
(i32.shr_s
(i32.shl
(local.get $$2)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(local.get $$1)
(i32.const 24)
)
(i32.const 24)
)
)
)
(if
(local.get $$cmp)
(block
(local.set $$n$addr$0$lcssa52
(local.get $$n$addr$043)
)
(local.set $$s$0$lcssa53
(local.get $$s$044)
)
(local.set $label
(i32.const 6)
)
(br $label$break$L1)
)
)
(local.set $$incdec$ptr
(i32.add
(local.get $$s$044)
(i32.const 1)
)
)
(local.set $$dec
(i32.add
(local.get $$n$addr$043)
(i32.const -1)
)
)
(local.set $$3
(local.get $$incdec$ptr)
)
(local.set $$and
(i32.and
(local.get $$3)
(i32.const 3)
)
)
(local.set $$tobool
(i32.ne
(local.get $$and)
(i32.const 0)
)
)
(local.set $$tobool2
(i32.ne
(local.get $$dec)
(i32.const 0)
)
)
(local.set $$or$cond
(i32.and
(local.get $$tobool2)
(local.get $$tobool)
)
)
(if
(local.get $$or$cond)
(block
(local.set $$n$addr$043
(local.get $$dec)
)
(local.set $$s$044
(local.get $$incdec$ptr)
)
)
(block
(local.set $$n$addr$0$lcssa
(local.get $$dec)
)
(local.set $$s$0$lcssa
(local.get $$incdec$ptr)
)
(local.set $$tobool2$lcssa
(local.get $$tobool2)
)
(local.set $label
(i32.const 5)
)
(br $while-out)
)
)
(br $while-in)
)
)
)
(block
(local.set $$n$addr$0$lcssa
(local.get $$n)
)
(local.set $$s$0$lcssa
(local.get $$src)
)
(local.set $$tobool2$lcssa
(local.get $$tobool241)
)
(local.set $label
(i32.const 5)
)
)
)
)
(if
(i32.eq
(local.get $label)
(i32.const 5)
)
(if
(local.get $$tobool2$lcssa)
(block
(local.set $$n$addr$0$lcssa52
(local.get $$n$addr$0$lcssa)
)
(local.set $$s$0$lcssa53
(local.get $$s$0$lcssa)
)
(local.set $label
(i32.const 6)
)
)
(block
(local.set $$n$addr$3
(i32.const 0)
)
(local.set $$s$2
(local.get $$s$0$lcssa)
)
)
)
)
(block $label$break$L8
(if
(i32.eq
(local.get $label)
(i32.const 6)
)
(block
(local.set $$4
(i32.load8_s
(local.get $$s$0$lcssa53)
)
)
(local.set $$5
(i32.and
(local.get $$c)
(i32.const 255)
)
)
(local.set $$cmp8
(i32.eq
(i32.shr_s
(i32.shl
(local.get $$4)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(local.get $$5)
(i32.const 24)
)
(i32.const 24)
)
)
)
(if
(local.get $$cmp8)
(block
(local.set $$n$addr$3
(local.get $$n$addr$0$lcssa52)
)
(local.set $$s$2
(local.get $$s$0$lcssa53)
)
)
(block
(local.set $$mul
(i32.mul
(local.get $$conv1)
(i32.const 16843009)
)
)
(local.set $$cmp1132
(i32.gt_u
(local.get $$n$addr$0$lcssa52)
(i32.const 3)
)
)
(block $label$break$L11
(if
(local.get $$cmp1132)
(block
(local.set $$n$addr$133
(local.get $$n$addr$0$lcssa52)
)
(local.set $$w$034
(local.get $$s$0$lcssa53)
)
(loop $while-in3
(block $while-out2
(local.set $$6
(i32.load
(local.get $$w$034)
)
)
(local.set $$xor
(i32.xor
(local.get $$6)
(local.get $$mul)
)
)
(local.set $$sub
(i32.add
(local.get $$xor)
(i32.const -16843009)
)
)
(local.set $$neg
(i32.and
(local.get $$xor)
(i32.const -2139062144)
)
)
(local.set $$and15
(i32.xor
(local.get $$neg)
(i32.const -2139062144)
)
)
(local.set $$and16
(i32.and
(local.get $$and15)
(local.get $$sub)
)
)
(local.set $$lnot
(i32.eq
(local.get $$and16)
(i32.const 0)
)
)
(if
(i32.eqz
(local.get $$lnot)
)
(br $while-out2)
)
(local.set $$incdec$ptr21
(i32.add
(local.get $$w$034)
(i32.const 4)
)
)
(local.set $$sub22
(i32.add
(local.get $$n$addr$133)
(i32.const -4)
)
)
(local.set $$cmp11
(i32.gt_u
(local.get $$sub22)
(i32.const 3)
)
)
(if
(local.get $$cmp11)
(block
(local.set $$n$addr$133
(local.get $$sub22)
)
(local.set $$w$034
(local.get $$incdec$ptr21)
)
)
(block
(local.set $$n$addr$1$lcssa
(local.get $$sub22)
)
(local.set $$w$0$lcssa
(local.get $$incdec$ptr21)
)
(local.set $label
(i32.const 11)
)
(br $label$break$L11)
)
)
(br $while-in3)
)
)
(local.set $$n$addr$227
(local.get $$n$addr$133)
)
(local.set $$s$128
(local.get $$w$034)
)
)
(block
(local.set $$n$addr$1$lcssa
(local.get $$n$addr$0$lcssa52)
)
(local.set $$w$0$lcssa
(local.get $$s$0$lcssa53)
)
(local.set $label
(i32.const 11)
)
)
)
)
(if
(i32.eq
(local.get $label)
(i32.const 11)
)
(block
(local.set $$tobool2526
(i32.eq
(local.get $$n$addr$1$lcssa)
(i32.const 0)
)
)
(if
(local.get $$tobool2526)
(block
(local.set $$n$addr$3
(i32.const 0)
)
(local.set $$s$2
(local.get $$w$0$lcssa)
)
(br $label$break$L8)
)
(block
(local.set $$n$addr$227
(local.get $$n$addr$1$lcssa)
)
(local.set $$s$128
(local.get $$w$0$lcssa)
)
)
)
)
)
(loop $while-in5
(block $while-out4
(local.set $$7
(i32.load8_s
(local.get $$s$128)
)
)
(local.set $$cmp28
(i32.eq
(i32.shr_s
(i32.shl
(local.get $$7)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(local.get $$5)
(i32.const 24)
)
(i32.const 24)
)
)
)
(if
(local.get $$cmp28)
(block
(local.set $$n$addr$3
(local.get $$n$addr$227)
)
(local.set $$s$2
(local.get $$s$128)
)
(br $label$break$L8)
)
)
(local.set $$incdec$ptr33
(i32.add
(local.get $$s$128)
(i32.const 1)
)
)
(local.set $$dec34
(i32.add
(local.get $$n$addr$227)
(i32.const -1)
)
)
(local.set $$tobool25
(i32.eq
(local.get $$dec34)
(i32.const 0)
)
)
(if
(local.get $$tobool25)
(block
(local.set $$n$addr$3
(i32.const 0)
)
(local.set $$s$2
(local.get $$incdec$ptr33)
)
(br $while-out4)
)
(block
(local.set $$n$addr$227
(local.get $$dec34)
)
(local.set $$s$128
(local.get $$incdec$ptr33)
)
)
)
(br $while-in5)
)
)
)
)
)
)
)
(local.set $$tobool36
(i32.ne
(local.get $$n$addr$3)
(i32.const 0)
)
)
(local.set $$cond
(if (result i32)
(local.get $$tobool36)
(local.get $$s$2)
(i32.const 0)
)
)
(return
(local.get $$cond)
)
)
(func $switch64_big_condition1 (param $$x i64)
(local $1 i64)
(block $switch
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(i32.wrap_i64
(block (result i64)
(local.set $1
(i64.sub
(local.get $$x)
(i64.const 9218868437227405312)
)
)
(br_if $switch-default
(i32.wrap_i64
(i64.shr_u
(local.get $1)
(i64.const 32)
)
)
)
(local.get $1)
)
)
)
)
(block
(call $abort)
(br $switch)
)
)
(return)
)
)
(func $switch64_big_condition2 (param $$x i64)
(local $1 i64)
(block $switch
(block $switch-case
(br_table $switch-case $switch
(i32.wrap_i64
(block (result i64)
(local.set $1
(i64.sub
(local.get $$x)
(i64.const 9218868437227405312)
)
)
(br_if $switch
(i32.wrap_i64
(i64.shr_u
(local.get $1)
(i64.const 32)
)
)
)
(local.get $1)
)
)
)
)
(block
(call $abort)
(br $switch)
)
)
)
(func $keepAlive
(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 $returnCastConst)
)
(drop
(call $returnCastConst)
)
(drop
(call $ifValue64
(i64.const 0)
(i64.const 0)
)
)
(drop
(call $ifValue64
(i64.const 0)
(i64.const 0)
)
)
(drop
(call $ifValue32
(i32.const 0)
(i32.const 0)
)
)
(drop
(call $ifValue32
(i32.const 0)
(i32.const 0)
)
)
(drop
(call $switch64
(i64.const 0)
)
)
(drop
(call $switch64
(i64.const 0)
)
)
(call $unreachable_leftovers
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
(call $unreachable_leftovers
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
(drop
(call $_memchr
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
)
(drop
(call $switch64TOOMUCH
(i64.const 0)
)
)
(call $switch64_big_condition1
(i64.const 0)
)
(call $switch64_big_condition2
(i64.const 0)
)
)
(func $__emscripten_dceable_type_decls
(drop
(call $_fabsf
(f32.const 0)
)
)
(drop
(call $legalfunc$do_i64)
)
)
(func $legalstub$illegalParam (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 (result i32)
(local $0 i64)
(local.set $0
(call $illegalResult)
)
(call $setTempRet0
(i32.wrap_i64
(i64.shr_u
(local.get $0)
(i64.const 32)
)
)
)
(i32.wrap_i64
(local.get $0)
)
)
(func $legalfunc$illegalImport (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$illegalImportResult (result i64)
(i64.or
(i64.extend_i32_u
(call $legalimport$illegalImportResult)
)
(i64.shl
(i64.extend_i32_u
(call $getTempRet0)
)
(i64.const 32)
)
)
)
(func $legalfunc$do_i64 (result i64)
(i64.or
(i64.extend_i32_u
(call $legalimport$do_i64)
)
(i64.shl
(i64.extend_i32_u
(call $getTempRet0)
)
(i64.const 32)
)
)
)
)