diff options
Diffstat (limited to 'test/passes')
5 files changed, 670 insertions, 2222 deletions
diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index 1c7a3275e..c8c1f8edb 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -273,7 +273,6 @@ total (type $2 (func (param i32) (result i32))) (type $6 (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) (type $7 (func (result i32))) - (type $FUNCSIG$v (func)) (import "env" "memory" (memory $1 256 256)) (data (i32.const 2948) "\03") (data (i32.const 6828) "\04") @@ -295,252 +294,7 @@ total (func $_malloc (; 2 ;) (; has Stack IR ;) (type $2) (param $0 i32) (result i32) (i32.const 0) ) - (func $___stdio_write (; 3 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) - (i32.store - (i32.const 8) - (local.get $0) - ) - (i32.store - (i32.const 12) - (local.get $1) - ) - (i32.store - (local.tee $0 - (global.get $global$0) - ) - (i32.const 1) - ) - (i32.store offset=8 - (local.get $0) - (i32.const 2) - ) - (drop - (if (result i32) - (call $import$0 - (i32.const 146) - (local.get $0) - ) - (i32.const -1) - (i32.const 0) - ) - ) - (i32.const 1) - ) - (func $_main (; 4 ;) (; has Stack IR ;) (type $7) (result i32) - (local $0 i32) - (local $1 i32) - (local.set $1 - (i32.load offset=24 - (i32.add - (i32.load - (i32.add - (i32.load - (i32.const 18100) - ) - (i32.const -12) - ) - ) - (i32.const 18100) - ) - ) - ) - (if - (block (result i32) - (local.set $0 - (i32.const 10888) - ) - (loop $label$3 - (br_if $label$3 - (i32.load8_s - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - ) - ) - (local.tee $0 - (i32.sub - (local.get $0) - (i32.const 10888) - ) - ) - ) - (block $label$2 - (br_if $label$2 - (call_indirect (type $1) - (local.get $1) - (i32.const 10888) - (local.get $0) - (i32.add - (i32.load offset=48 - (i32.load - (local.get $1) - ) - ) - (i32.const 8) - ) - ) - ) - ) - ) - (call $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc) - (i32.const 0) - ) - (func $___stdout_write (; 5 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (global.set $global$0 - (i32.const 32) - ) - (call $___stdio_write - (local.get $1) - (local.get $2) - ) - ) - (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 6 ;) (; has Stack IR ;) (type $FUNCSIG$v) - (local $0 i32) - (local $1 i32) - (block $label$1 - (br_if $label$1 - (if (result i32) - (i32.load - (i32.add - (local.tee $1 - (local.tee $0 - (i32.load - (i32.add - (i32.load - (i32.add - (i32.load - (i32.const 18100) - ) - (i32.const -12) - ) - ) - (i32.const 18124) - ) - ) - ) - ) - (i32.const 24) - ) - ) - (i32.const 0) - (call_indirect (type $0) - (local.get $1) - (i32.const 10) - (i32.add - (i32.load offset=52 - (i32.load - (local.get $0) - ) - ) - (i32.const 422) - ) - ) - ) - ) - ) - ) - (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; 7 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) - (i32.store8 - (i32.const 0) - (local.get $1) - ) - (drop - (call_indirect (type $1) - (i32.const 0) - (i32.const 0) - (i32.const 1) - (i32.add - (i32.load offset=36 - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - ) - (i32.const 8) - ) - ) - ) - (i32.const 0) - ) - (func $__ZNSt3__211__stdoutbufIcE6xsputnEPKci (; 8 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (drop - (call_indirect (type $1) - (i32.const 0) - (local.get $1) - (local.get $2) - (i32.add - (i32.load offset=36 - (i32.load offset=32 - (local.get $0) - ) - ) - (i32.const 8) - ) - ) - ) - (i32.const 0) - ) -) -total - [events] : 0 - [exports] : 2 - [funcs] : 8 - [globals] : 1 - [imports] : 3 - [memory-data] : 28 - [table-data] : 429 - [total] : 132 - [vars] : 4 - binary : 12 - block : 8 - break : 3 - call : 3 - call_indirect : 4 - const : 47 - drop : 3 - global.get : 1 - global.set : 1 - if : 3 - load : 16 - local.get : 18 - local.set : 7 - loop : 1 - store : 5 -(module - (type $0 (func (param i32 i32) (result i32))) - (type $1 (func (param i32 i32 i32) (result i32))) - (type $2 (func (param i32) (result i32))) - (type $6 (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type $7 (func (result i32))) - (type $FUNCSIG$v (func)) - (import "env" "memory" (memory $1 256 256)) - (data (i32.const 2948) "\03") - (data (i32.const 6828) "\04") - (data (i32.const 7028) "\0d\00\00\00\06") - (data (i32.const 10888) "hello, world!") - (data (i32.const 18100) "\b8\1a") - (data (i32.const 18128) ",I") - (data (i32.const 18732) "D\1b") - (data (i32.const 18764) "`\0b") - (import "env" "table" (table $timport$2 478 478 funcref)) - (elem (i32.const 0) $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $___stdout_write $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $__ZNSt3__211__stdoutbufIcE6xsputnEPKci $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $b0 $__ZNSt3__211__stdoutbufIcE8overflowEi) - (import "env" "___syscall146" (func $import$0 (param i32 i32) (result i32))) - (global $global$0 (mut i32) (i32.const 1)) - (export "_main" (func $_main)) - (export "_malloc" (func $_malloc)) - (func $b0 (; 1 ;) (; has Stack IR ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32) - (i32.const 0) - ) - (func $_malloc (; 2 ;) (; has Stack IR ;) (type $2) (param $0 i32) (result i32) - (i32.const 0) - ) - (func $___stdio_write (; 3 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) + (func $___stdio_write (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (i32.store (i32.const 8) (local.get $0) @@ -643,7 +397,7 @@ total (local.get $2) ) ) - (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 6 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 6 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (block $label$1 diff --git a/test/passes/remove-unused-module-elements_all-features.txt b/test/passes/remove-unused-module-elements_all-features.txt index 87e21a012..98e08c186 100644 --- a/test/passes/remove-unused-module-elements_all-features.txt +++ b/test/passes/remove-unused-module-elements_all-features.txt @@ -279,9 +279,7 @@ ) ) (module - (type $0 (func (param i32))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$vj (func (param i64))) (event $e-export (attr 0) (param i64)) (event $e-throw (attr 0) (param i32)) (event $e-bronexn (attr 0) (param i32)) diff --git a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt index e08bf1eb2..b3ace30d0 100644 --- a/test/passes/remove-unused-nonfunction-module-elements_all-features.txt +++ b/test/passes/remove-unused-nonfunction-module-elements_all-features.txt @@ -331,7 +331,6 @@ ) (module (type $0 (func (param i32))) - (type $FUNCSIG$vj (func (param i64))) (event $e1 (attr 0) (param i64)) (export "e1" (event $e1)) (func $f (; 0 ;) (type $0) (param $0 i32) diff --git a/test/passes/translate-to-fuzz_all-features.txt b/test/passes/translate-to-fuzz_all-features.txt index 79367fd5d..ce0d33e14 100644 --- a/test/passes/translate-to-fuzz_all-features.txt +++ b/test/passes/translate-to-fuzz_all-features.txt @@ -1,16 +1,15 @@ (module (type $FUNCSIG$i (func (result i32))) - (type $FUNCSIG$viffjf (func (param i32 f32 f32 i64 f32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$vj (func (param i64))) (type $FUNCSIG$vf (func (param f32))) (type $FUNCSIG$vd (func (param f64))) (type $FUNCSIG$vV (func (param v128))) - (type $FUNCSIG$id (func (param f64) (result i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$iji (func (param i64 i32) (result i32))) + (type $FUNCSIG$d (func (result f64))) (type $FUNCSIG$v (func)) - (type $FUNCSIG$ffjj (func (param f32 i64 i64) (result f32))) + (type $FUNCSIG$ji (func (param i32) (result i64))) + (type $FUNCSIG$ff (func (param f32) (result f32))) + (type $FUNCSIG$fi (func (param i32) (result f32))) (import "fuzzing-support" "log-i32" (func $log-i32 (param i32))) (import "fuzzing-support" "log-i64" (func $log-i64 (param i64))) (import "fuzzing-support" "log-f32" (func $log-f32 (param f32))) @@ -18,23 +17,25 @@ (import "fuzzing-support" "log-v128" (func $log-v128 (param v128))) (memory $0 (shared 1 1)) (data (i32.const 0) "N\0fN\f5\f9\b1\ff\fa\eb\e5\fe\a7\ec\fb\fc\f4\a6\e4\ea\f0\ae\e3") - (table $0 4 funcref) - (elem (i32.const 0) $func_8 $func_9 $func_9 $func_11) + (table $0 4 4 funcref) + (elem (i32.const 0) $func_11 $func_13 $func_15 $func_15) (global $global$0 (mut i32) (i32.const 975663930)) (global $global$1 (mut i32) (i32.const 2066300474)) (global $global$2 (mut i64) (i64.const 20510)) (global $global$3 (mut f32) (f32.const -2147483648)) (global $global$4 (mut v128) (v128.const i32x4 0x7f002833 0x580000fe 0x59750500 0x01ff002f)) (global $hangLimit (mut i32) (i32.const 10)) - (event $event$0 (attr 0) (param i32 f32 f32 i64 f32)) + (event $event$0 (attr 0) (param f64 f32)) (export "hashMemory" (func $hashMemory)) (export "memory" (memory $0)) - (export "func_7" (func $func_7)) - (export "func_8" (func $func_8)) (export "func_9" (func $func_9)) (export "func_9_invoker" (func $func_9_invoker)) (export "func_11_invoker" (func $func_11_invoker)) (export "func_13" (func $func_13)) + (export "func_14" (func $func_14)) + (export "func_15" (func $func_15)) + (export "func_16_invoker" (func $func_16_invoker)) + (export "func_18_invoker" (func $func_18_invoker)) (export "hangLimitInitializer" (func $hangLimitInitializer)) (func $hashMemory (; 5 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) @@ -267,14 +268,14 @@ ) (local.get $0) ) - (func $func_6 (; 6 ;) (param $0 v128) (param $1 f32) (param $2 i32) (param $3 f64) (param $4 v128) (param $5 i64) (result i32) + (func $func_6 (; 6 ;) (param $0 i64) (param $1 v128) (param $2 i64) (result f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 1) + (f64.const -1) ) ) (global.set $hangLimit @@ -284,20 +285,13 @@ ) ) ) - (block $label$0 - (local.set $3 - (local.tee $3 - (f64.const -nan:0xfffffffffffe9) - ) - ) - (return - (local.get $2) - ) - ) + (f64.const 16970) ) - (func $func_7 (; 7 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $func_7 (; 7 ;) (result i32) + (local $0 f32) (local $1 f32) (local $2 i32) + (local $3 v128) (block (if (i32.eqz @@ -315,23 +309,34 @@ ) ) (block $label$0 - (local.set $2 - (local.get $2) + (call $log-i32 + (call $hashMemory) + ) + (local.set $3 + (v128.const i32x4 0x3b681019 0x00000000 0xfffeff80 0x0054060b) ) (return - (local.get $2) + (i32.const -65535) ) ) ) - (func $func_8 (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 v128) + (func $func_8 (; 8 ;) (param $0 f64) (param $1 f32) (param $2 v128) (param $3 f64) (result f32) + (local $4 i32) + (local $5 f32) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 v128) + (local $10 i64) + (local $11 i64) + (local $12 f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 228) + (local.get $5) ) ) (global.set $hangLimit @@ -341,30 +346,31 @@ ) ) ) - (local.tee $0 - (local.tee $0 - (local.tee $0 - (i32.const 1477910104) - ) + (block $label$0 + (call $log-f32 + (local.get $5) + ) + (return + (f32.const 203013.03125) ) ) ) - (func $func_9 (; 9 ;) (type $FUNCSIG$iji) (param $0 i64) (param $1 i32) (result i32) - (local $2 f64) - (local $3 i64) - (local $4 f64) - (local $5 i32) - (local $6 f64) - (local $7 v128) - (local $8 i64) - (local $9 f64) + (func $func_9 (; 9 ;) (type $FUNCSIG$d) (result f64) + (local $0 f32) + (local $1 f64) + (local $2 v128) + (local $3 i32) + (local $4 i64) + (local $5 f32) + (local $6 i32) + (local $7 i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 20761) + (local.get $1) ) ) (global.set $hangLimit @@ -375,23 +381,11 @@ ) ) (block $label$0 - (block $label$1 - (call $log-f64 - (local.tee $2 - (local.tee $9 - (local.tee $6 - (local.tee $9 - (local.tee $4 - (local.get $2) - ) - ) - ) - ) - ) - ) - (local.set $2 - (f64.const 7569651134721150320538329e227) - ) + (call $log-v128 + (v128.const i32x4 0x77367f7e 0x00000045 0x40000000 0x0000007f) + ) + (local.set $2 + (v128.const i32x4 0xbc400000 0x0000fd80 0x0043186f 0xc5c72600) ) (return (local.get $1) @@ -400,22 +394,28 @@ ) (func $func_9_invoker (; 10 ;) (type $FUNCSIG$v) (drop - (call $func_9 - (i64.const -549755813888) - (i32.const -91) - ) + (call $func_9) ) ) - (func $func_11 (; 11 ;) (param $0 i32) (param $1 i32) (param $2 v128) - (local $3 i64) - (local $4 f32) - (local $5 i32) + (func $func_11 (; 11 ;) (result f32) + (local $0 v128) + (local $1 f32) + (local $2 v128) + (local $3 f32) + (local $4 v128) + (local $5 v128) + (local $6 i64) + (local $7 f32) + (local $8 i32) + (local $9 f64) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (f32.const 10961.05859375) + ) ) (global.set $hangLimit (i32.sub @@ -424,55 +424,60 @@ ) ) ) - (block $label$0 - (call $log-f32 - (local.tee $4 - (local.tee $4 - (local.tee $4 - (f32.const 65449) - ) - ) - ) - ) - ) + (local.get $7) ) (func $func_11_invoker (; 12 ;) (type $FUNCSIG$v) - (call $func_11 - (i32.const 235475987) - (i32.const 0) - (v128.const i32x4 0x00000b08 0x00000405 0x61606b6a 0x02000000) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) (call $log-i32 (call $hashMemory) ) - (call $func_11 - (i32.const 1547916878) - (i32.const 740500009) - (v128.const i32x4 0x4702041e 0x1a1f4844 0x00000001 0x80000000) + (drop + (call $func_11) ) - (call $func_11 - (i32.const -4) - (i32.const -16777216) - (v128.const i32x4 0xc0000000 0x00000010 0x00000800 0x45444f4a) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) (call $log-i32 (call $hashMemory) ) - (call $func_11 - (i32.const -32) - (i32.const -32768) - (v128.const i32x4 0x0000021c 0x00000000 0x1b676b1c 0x0c1e0902) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) ) - (func $func_13 (; 13 ;) (type $FUNCSIG$ffjj) (param $0 f32) (param $1 i64) (param $2 i64) (result f32) - (local $3 i32) + (func $func_13 (; 13 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) + (local $1 f32) + (local $2 f32) + (local $3 v128) + (local $4 f32) + (local $5 v128) + (local $6 i64) + (local $7 i32) + (local $8 v128) + (local $9 f64) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 v128) + (local $14 i32) + (local $15 v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (local.get $0) + (local.get $12) ) ) (global.set $hangLimit @@ -482,1013 +487,48 @@ ) ) ) - (block $label$0 (result f32) - (local.set $1 - (i64.const -268435456) + (i64.const 2) + ) + (func $func_14 (; 14 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (local $1 f32) + (local $2 f32) + (local $3 i64) + (local $4 f64) + (local $5 i32) + (local $6 f32) + (local $7 f32) + (local $8 f64) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (f32.const -4294967296) + ) ) - (if (result f32) - (if (result i32) - (i32.eqz - (block $label$1 - (loop $label$2 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (block $label$3 - (call $log-i32 - (call $hashMemory) - ) - (drop - (loop $label$4 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block $label$5 - (nop) - (br $label$2) - ) - ) - ) - ) - (br_if $label$2 - (block $label$6 (result i32) - (local.get $3) - ) - ) - (local.set $0 - (br_if $label$0 - (local.tee $0 - (local.tee $0 - (f32.const -65536) - ) - ) - (i32.eqz - (local.get $3) - ) - ) - ) - ) - ) - (return - (f32.const 825.2233276367188) - ) - ) - ) - (local.get $3) - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (if (result i32) - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (if (result i32) - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (local.get $3) - ) - (i32.const 57) - (i32.const -1) - ) - ) - (i32.const -32767) - (block $label$7 - (local.set $0 - (f32.const 16) - ) - (return - (local.get $0) - ) - ) - ) - ) - (block $label$8 (result i32) - (block $label$9 - (loop $label$10 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.set $3 - (local.get $3) - ) - ) - (br_if $label$9 - (local.get $3) - ) - ) - (i32.const 1195918659) - ) - (local.tee $3 - (if (result i32) - (i32.const -13) - (local.get $3) - (local.get $3) - ) - ) - ) - (block $label$11 (result i32) - (local.set $0 - (local.tee $0 - (local.tee $0 - (loop $label$12 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.get $0) - ) - ) - ) - ) - (br_if $label$11 - (call_indirect (type $FUNCSIG$iji) - (global.get $global$2) - (loop $label$17 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -72057594037927936) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (nop) - (br_if $label$17 - (local.get $3) - ) - (i32.const -2048) - ) - ) - (i32.const 1) - ) - (local.tee $3 - (loop $label$13 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -2147483648) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (loop $label$14 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 9.55175480028511e-38) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (br_if $label$14 - (local.tee $3 - (local.tee $3 - (br_if $label$11 - (local.get $3) - (i32.eqz - (block $label$15 - (nop) - (br $label$13) - ) - ) - ) - ) - ) - ) - (br_if $label$14 - (i32.eqz - (local.get $3) - ) - ) - (local.tee $3 - (block $label$16 - (nop) - (br $label$13) - ) - ) - ) - ) - (br_if $label$13 - (local.get $3) - ) - (local.get $3) - ) - ) - ) - ) - ) - (block $label$18 (result i32) - (nop) - (i32.const 255) - ) - ) - ) - (block $label$19 (result i32) - (nop) - (i32.const 486998794) - ) - (block $label$20 (result i32) - (local.set $0 - (br_if $label$0 - (f32.const 1.9017128799693354e-30) - (local.tee $3 - (local.tee $3 - (local.get $3) - ) - ) - ) - ) - (loop $label$21 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$22 - (local.set $2 - (local.get $1) - ) - (block $label$23 - (local.set $2 - (i64.const 5208777217870088520) - ) - (f32.store offset=3 align=1 - (i32.and - (local.tee $3 - (local.get $3) - ) - (i32.const 15) - ) - (local.tee $0 - (f32.const 1.8919776323400583e-07) - ) - ) - ) - ) - (br_if $label$21 - (loop $label$24 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$25 - (local.set $3 - (loop $label$26 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -1.1754943508222875e-38) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (global.get $global$0) - ) - ) - (loop $label$27 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -4611686018427387904) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (block $label$28 - (local.set $0 - (f32.const 16668) - ) - (call $log-i64 - (i64.const 274877906944) - ) - ) - (br_if $label$27 - (i32.eqz - (local.tee $3 - (local.get $3) - ) - ) - ) - (if - (i32.eqz - (local.tee $3 - (i32.const 33817656) - ) - ) - (br_if $label$25 - (i32.eqz - (i32.const 8) - ) - ) - (nop) - ) - ) - ) - ) - (br_if $label$24 - (i32.eqz - (i32.const 110) - ) - ) - (br_if $label$20 - (loop $label$29 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.tee $3 - (call $func_6 - (v128.const i32x4 0x4847080b 0xe740fc6d 0x49037f13 0x00000058) - (loop $label$30 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 2147483648) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result f32) - (nop) - (br_if $label$30 - (local.get $3) - ) - (local.get $0) - ) - ) - (i32.const -32768) - (f64.const 2654) - (v128.const i32x4 0x140a0215 0x00000000 0xffffffe0 0xffffffff) - (local.tee $2 - (block $label$31 (result i64) - (drop - (local.get $0) - ) - (i64.const 9007199254740992) - ) - ) - ) - ) - ) - (br_if $label$20 - (local.get $3) - (i32.eqz - (i32.const 64) - ) - ) - ) - ) - ) - ) - (loop $label$32 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (loop $label$33 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (block $label$34 - (local.set $0 - (local.get $0) - ) - (nop) - ) - (br_if $label$33 - (i32.const -4096) - ) - (br_if $label$32 - (i32.eqz - (local.get $3) - ) - ) - ) - ) - (br_if $label$32 - (i32.eqz - (local.get $3) - ) - ) - (local.tee $3 - (br_if $label$20 - (local.get $3) - (i32.eqz - (i32.const -2147483647) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - (local.get $3) - (if (result i32) - (if (result i32) - (if (result i32) - (if (result i32) - (i32.eqz - (i32.const 1) - ) - (local.get $3) - (i32.const -2147483647) - ) - (block $label$35 (result i32) - (loop $label$36 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (nop) - (br_if $label$36 - (i32.const 1343620356) - ) - (call $log-f64 - (f64.const -9223372036854775808) - ) - ) - ) - (br_if $label$35 - (loop $label$37 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -1.1754943508222875e-38) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (local.set $1 - (loop $label$38 (result i64) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -4611686018427387904) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i64) - (local.set $0 - (f32.const -2) - ) - (br_if $label$38 - (local.get $3) - ) - (local.get $2) - ) - ) - ) - (br_if $label$37 - (i32.eqz - (local.tee $3 - (local.tee $3 - (i32.const 32769) - ) - ) - ) - ) - (i32.const -536870912) - ) - ) - (atomic.notify offset=22 - (i32.and - (local.get $3) - (i32.const 15) - ) - (i32.const 0) - ) - ) - ) - (i32.popcnt - (i32.const -32767) - ) - ) - (block $label$39 - (local.set $2 - (local.tee $1 - (local.get $2) - ) - ) - (return - (f32.const 5032882404183666657449511e6) - ) - ) - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.get $3) - ) - ) - ) - ) - (block $label$40 (result i32) - (call $log-f64 - (f64.const -8589934592) - ) - (local.tee $3 - (loop $label$41 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$42 - (call $log-f32 - (local.tee $0 - (local.get $0) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (br_if $label$41 - (loop $label$43 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$44 - (nop) - (if - (local.get $3) - (nop) - (nop) - ) - ) - (br_if $label$43 - (i32.eqz - (loop $label$45 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (local.set $1 - (i64.const 939010426552585997) - ) - (br_if $label$45 - (i32.eqz - (local.tee $3 - (i32.const 5912) - ) - ) - ) - (i32.const -63) - ) - ) - ) - ) - (loop $label$46 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (br_if $label$40 - (local.get $3) - (if (result i32) - (i32.eqz - (i32.const 512) - ) - (local.get $3) - (local.get $3) - ) - ) - ) - ) - ) - ) - (loop $label$47 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (nop) - (br_if $label$47 - (i32.eqz - (local.tee $3 - (local.tee $3 - (local.get $3) - ) - ) - ) - ) - (i32.const 2147483647) - ) - ) - ) - ) - ) - ) - (local.tee $3 - (local.tee $3 - (i32.const 175536653) - ) - ) - ) - ) - (block $label$48 (result i32) - (local.get $3) - ) - (block $label$49 - (local.set $3 - (i32.const 16) - ) - (return - (f32.const -134217728) - ) - ) - ) - ) - (block $label$50 (result i32) - (local.tee $0 - (loop $label$51 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block $label$52 - (local.set $0 - (loop $label$53 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block $label$54 (result f32) - (br_if $label$51 - (i32.eqz - (local.get $3) - ) - ) - (local.tee $0 - (loop $label$55 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -4294967296) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result f32) - (block $label$56 - (nop) - (nop) - ) - (br_if $label$55 - (local.tee $3 - (local.get $3) - ) - ) - (loop $label$57 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -nan:0x7fffa5) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result f32) - (local.set $0 - (local.get $0) - ) - (br_if $label$57 - (i32.const 1246381131) - ) - (local.get $0) - ) - ) - ) - ) - ) - ) - ) - ) - (return - (f32.const -9223372036854775808) - ) - ) - ) - ) - (loop $label$58 (result i32) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (block $label$0 + (block $label$1 + (local.set $6 + (local.tee $1 + (local.tee $0 + (local.tee $7 + (local.tee $1 + (loop $label$2 (result f32) (block (if (i32.eqz (global.get $hangLimit) ) (return - (local.get $0) + (local.get $6) ) ) (global.set $hangLimit @@ -1498,60 +538,35 @@ ) ) ) - (block (result i32) - (block $label$59 - (br_if $label$59 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (loop $label$60 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 35184372088832) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (nop) - (br_if $label$60 - (i32.eqz - (local.get $3) - ) - ) - (local.get $3) - ) - ) - ) - ) - ) + (block $label$3 (result f32) + (local.tee $2 + (loop $label$4 (result f32) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (f32.const -3402823466385288598117041e14) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) ) ) ) - ) - (if - (block - (block - (loop $label$67 + (local.tee $2 + (local.tee $2 + (loop $label$5 (result f32) (block (if (i32.eqz (global.get $hangLimit) ) (return - (local.get $0) + (f32.const -nan:0x7fffe6) ) ) (global.set $hangLimit @@ -1561,211 +576,197 @@ ) ) ) - (block $label$68 - (loop $label$69 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block $label$70 - (nop) - (nop) - ) - ) - (br $label$59) - ) - ) - (local.tee $3 - (local.tee $3 - (local.tee $3 - (br_if $label$50 - (local.tee $3 - (i32.const 103) - ) - (block $label$66 - (local.set $0 - (local.get $0) - ) - (br $label$58) - ) - ) - ) - ) - ) - ) - (drop - (br_if $label$50 - (loop $label$63 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (br_if $label$63 - (local.tee $3 - (local.get $3) - ) - ) - (br_if $label$63 - (loop $label$64 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block $label$65 (result i32) - (if - (i32.eqz - (i32.const 1060645162) - ) - (nop) - (local.set $0 - (local.get $0) - ) - ) - (local.tee $3 - (i32.const 32767) - ) - ) - ) - ) - (local.tee $3 - (local.get $3) - ) - ) - ) - (if (result i32) - (i32.eqz - (i32.const 1246448731) - ) - (block $label$61 (result i32) - (nop) - (local.tee $3 - (loop $label$62 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (nop) - (br_if $label$62 - (i32.const -32766) - ) - (local.get $3) - ) - ) - ) - ) - (local.get $3) - ) - ) - ) - ) - (block $label$71 - (br_if $label$71 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.tee $3 - (local.get $3) - ) - ) - ) + (f32.const 35184372088832) ) ) - (nop) ) - (local.set $0 - (br_if $label$0 - (local.get $0) - (local.tee $3 - (local.tee $3 - (local.tee $3 - (i32.const 8388608) - ) - ) - ) - ) - ) - ) - ) - (br_if $label$58 - (i32.eqz - (i32.const -256) ) ) - (i32.const 29) ) ) ) - (block $label$72 (result i32) - (i32.const -21) - ) ) ) - (block $label$73 (result i32) - (local.get $3) + ) + ) + (br_if $label$1 + (i32.eqz + (local.get $5) + ) + ) + ) + (return + (f32.const 65521) + ) + ) + ) + (func $func_15 (; 15 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (local $1 f32) + (local $2 f64) + (local $3 v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (f32.const -65536) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (f64x2.splat + (return + (f32.const 1) + ) + ) + ) + (func $func_16 (; 16 ;) (result i32) + (local $0 i32) + (local $1 i64) + (local $2 v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (i32.const 84558856) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (block $label$0 (result i32) + (nop) + (br_if $label$0 + (i32.const 16777216) + (i32.eqz + (i32.const 524288) + ) + ) + ) + ) + (func $func_16_invoker (; 17 ;) (type $FUNCSIG$v) + (drop + (call $func_16) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_16) + ) + ) + (func $func_18 (; 18 ;) (result v128) + (local $0 v128) + (local $1 v128) + (local $2 v128) + (local $3 f64) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 v128) + (local $11 i32) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (local.get $10) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (local.tee $1 + (local.tee $1 + (loop $label$0 (result v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (v128.const i32x4 0xffe00000 0xc1efffff 0x571e0419 0x031f1e04) + ) ) - (block $label$74 (result i32) - (local.get $3) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) ) ) + (block $label$1 (result v128) + (nop) + (local.get $0) + ) ) - (f32.const -4398046511104) - (block $label$75 (result f32) - (local.get $0) + ) + ) + ) + (func $func_18_invoker (; 19 ;) (type $FUNCSIG$v) + (drop + (call $func_18) + ) + (drop + (call $func_18) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_18) + ) + (call $log-i32 + (call $hashMemory) + ) + ) + (func $func_20 (; 20 ;) (param $0 i64) (param $1 f32) (param $2 i32) (param $3 i32) (result v128) + (local $4 i64) + (local $5 f64) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (v128.const i32x4 0x4e000000 0x4f000000 0x45821000 0x7f7fffff) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) ) ) ) + (block $label$0 (result v128) + (local.set $1 + (local.get $1) + ) + (v128.const i32x4 0x00001c1f 0x00000000 0x36387d30 0x00000000) + ) ) - (func $hangLimitInitializer (; 14 ;) + (func $hangLimitInitializer (; 21 ;) (global.set $hangLimit (i32.const 10) ) diff --git a/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt b/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt index efd1da34a..679462896 100644 --- a/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt +++ b/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt @@ -1,15 +1,16 @@ (module (type $FUNCSIG$i (func (result i32))) - (type $FUNCSIG$viffjf (func (param i32 f32 f32 i64 f32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$vj (func (param i64))) (type $FUNCSIG$vf (func (param f32))) (type $FUNCSIG$vd (func (param f64))) (type $FUNCSIG$vV (func (param v128))) - (type $FUNCSIG$id (func (param f64) (result i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - (type $FUNCSIG$iji (func (param i64 i32) (result i32))) + (type $FUNCSIG$d (func (result f64))) (type $FUNCSIG$v (func)) + (type $FUNCSIG$ji (func (param i32) (result i64))) + (type $FUNCSIG$ff (func (param f32) (result f32))) + (type $FUNCSIG$fi (func (param i32) (result f32))) + (type $FUNCSIG$Vjfii (func (param i64 f32 i32 i32) (result v128))) (import "fuzzing-support" "log-i32" (func $log-i32 (param i32))) (import "fuzzing-support" "log-i64" (func $log-i64 (param i64))) (import "fuzzing-support" "log-f32" (func $log-f32 (param f32))) @@ -17,22 +18,26 @@ (import "fuzzing-support" "log-v128" (func $log-v128 (param v128))) (memory $0 (shared 1 1)) (data (i32.const 0) "N\0fN\f5\f9\b1\ff\fa\eb\e5\fe\a7\ec\fb\fc\f4\a6\e4\ea\f0\ae\e3") - (table $0 5 funcref) - (elem (i32.const 0) $func_8 $func_9 $func_9 $func_11 $func_13) + (table $0 4 4 funcref) + (elem (i32.const 0) $func_11 $func_13 $func_15 $func_15) (global $global$0 (mut i32) (i32.const 975663930)) (global $global$1 (mut i32) (i32.const 2066300474)) (global $global$2 (mut i64) (i64.const 20510)) (global $global$3 (mut f32) (f32.const -2147483648)) (global $global$4 (mut v128) (v128.const i32x4 0x7f002833 0x580000fe 0x59750500 0x01ff002f)) (global $hangLimit (mut i32) (i32.const 10)) - (event $event$0 (attr 0) (param i32 f32 f32 i64 f32)) + (event $event$0 (attr 0) (param f64 f32)) (export "hashMemory" (func $hashMemory)) (export "memory" (memory $0)) - (export "func_7" (func $func_7)) - (export "func_8" (func $func_8)) (export "func_9" (func $func_9)) (export "func_9_invoker" (func $func_9_invoker)) (export "func_11_invoker" (func $func_11_invoker)) + (export "func_13" (func $func_13)) + (export "func_14" (func $func_14)) + (export "func_15" (func $func_15)) + (export "func_16_invoker" (func $func_16_invoker)) + (export "func_18_invoker" (func $func_18_invoker)) + (export "func_20" (func $func_20)) (export "hangLimitInitializer" (func $hangLimitInitializer)) (func $hashMemory (; 5 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) @@ -265,14 +270,14 @@ ) (local.get $0) ) - (func $func_6 (; 6 ;) (param $0 v128) (param $1 f32) (param $2 i32) (param $3 f64) (param $4 v128) (param $5 i64) (result i32) + (func $func_6 (; 6 ;) (param $0 i64) (param $1 v128) (param $2 i64) (result f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 1) + (f64.const -1) ) ) (global.set $hangLimit @@ -282,20 +287,13 @@ ) ) ) - (block $label$0 - (local.set $3 - (local.tee $3 - (f64.const 0) - ) - ) - (return - (local.get $2) - ) - ) + (f64.const 16970) ) - (func $func_7 (; 7 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) + (func $func_7 (; 7 ;) (result i32) + (local $0 f32) (local $1 f32) (local $2 i32) + (local $3 v128) (block (if (i32.eqz @@ -313,23 +311,34 @@ ) ) (block $label$0 - (local.set $2 - (local.get $2) + (call $log-i32 + (call $hashMemory) + ) + (local.set $3 + (v128.const i32x4 0x3b681019 0x00000000 0xfffeff80 0x0054060b) ) (return - (local.get $2) + (i32.const -65535) ) ) ) - (func $func_8 (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) - (local $2 v128) + (func $func_8 (; 8 ;) (param $0 f64) (param $1 f32) (param $2 v128) (param $3 f64) (result f32) + (local $4 i32) + (local $5 f32) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 v128) + (local $10 i64) + (local $11 i64) + (local $12 f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 228) + (local.get $5) ) ) (global.set $hangLimit @@ -339,30 +348,31 @@ ) ) ) - (local.tee $0 - (local.tee $0 - (local.tee $0 - (i32.const 1477910104) - ) + (block $label$0 + (call $log-f32 + (local.get $5) + ) + (return + (f32.const 203013.03125) ) ) ) - (func $func_9 (; 9 ;) (type $FUNCSIG$iji) (param $0 i64) (param $1 i32) (result i32) - (local $2 f64) - (local $3 i64) - (local $4 f64) - (local $5 i32) - (local $6 f64) - (local $7 v128) - (local $8 i64) - (local $9 f64) + (func $func_9 (; 9 ;) (type $FUNCSIG$d) (result f64) + (local $0 f32) + (local $1 f64) + (local $2 v128) + (local $3 i32) + (local $4 i64) + (local $5 f32) + (local $6 i32) + (local $7 i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 20761) + (local.get $1) ) ) (global.set $hangLimit @@ -373,23 +383,11 @@ ) ) (block $label$0 - (block $label$1 - (call $log-f64 - (local.tee $2 - (local.tee $9 - (local.tee $6 - (local.tee $9 - (local.tee $4 - (local.get $2) - ) - ) - ) - ) - ) - ) - (local.set $2 - (f64.const 7569651134721150320538329e227) - ) + (call $log-v128 + (v128.const i32x4 0x77367f7e 0x00000045 0x40000000 0x0000007f) + ) + (local.set $2 + (v128.const i32x4 0xbc400000 0x0000fd80 0x0043186f 0xc5c72600) ) (return (local.get $1) @@ -398,22 +396,28 @@ ) (func $func_9_invoker (; 10 ;) (type $FUNCSIG$v) (drop - (call $func_9 - (i64.const -549755813888) - (i32.const -91) - ) + (call $func_9) ) ) - (func $func_11 (; 11 ;) (param $0 i32) (param $1 i32) (param $2 v128) - (local $3 i64) - (local $4 f32) - (local $5 i32) + (func $func_11 (; 11 ;) (result f32) + (local $0 v128) + (local $1 f32) + (local $2 v128) + (local $3 f32) + (local $4 v128) + (local $5 v128) + (local $6 i64) + (local $7 f32) + (local $8 i32) + (local $9 f64) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (f32.const 10961.05859375) + ) ) (global.set $hangLimit (i32.sub @@ -422,55 +426,60 @@ ) ) ) - (block $label$0 - (call $log-f32 - (local.tee $4 - (local.tee $4 - (local.tee $4 - (f32.const 65449) - ) - ) - ) - ) - ) + (local.get $7) ) (func $func_11_invoker (; 12 ;) (type $FUNCSIG$v) - (call $func_11 - (i32.const 235475987) - (i32.const 0) - (v128.const i32x4 0x00000b08 0x00000405 0x61606b6a 0x02000000) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) (call $log-i32 (call $hashMemory) ) - (call $func_11 - (i32.const 1547916878) - (i32.const 740500009) - (v128.const i32x4 0x4702041e 0x1a1f4844 0x00000001 0x80000000) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) - (call $func_11 - (i32.const -4) - (i32.const -16777216) - (v128.const i32x4 0xc0000000 0x00000010 0x00000800 0x45444f4a) + (drop + (call $func_11) ) (call $log-i32 (call $hashMemory) ) - (call $func_11 - (i32.const -32) - (i32.const -32768) - (v128.const i32x4 0x0000021c 0x00000000 0x1b676b1c 0x0c1e0902) + (drop + (call $func_11) + ) + (drop + (call $func_11) ) ) - (func $func_13 (; 13 ;) (param $0 f32) (param $1 i64) (param $2 i64) (result f32) - (local $3 i32) + (func $func_13 (; 13 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64) + (local $1 f32) + (local $2 f32) + (local $3 v128) + (local $4 f32) + (local $5 v128) + (local $6 i64) + (local $7 i32) + (local $8 v128) + (local $9 f64) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 v128) + (local $14 i32) + (local $15 v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (f32.const 0) + (local.get $12) ) ) (global.set $hangLimit @@ -480,46 +489,67 @@ ) ) ) - (block $label$0 (result f32) - (local.set $1 - (i64.const -268435456) - ) - (if (result f32) + (i64.const 2) + ) + (func $func_14 (; 14 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32) + (local $1 f32) + (local $2 f32) + (local $3 i64) + (local $4 f64) + (local $5 i32) + (local $6 f32) + (local $7 f32) + (local $8 f64) + (block + (if (i32.eqz - (if (result i32) - (i32.eqz - (block $label$1 - (loop $label$2 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 23900) + (global.get $hangLimit) + ) + (return + (f32.const -4294967296) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (block $label$0 + (block $label$1 + (local.set $6 + (local.tee $1 + (local.tee $0 + (local.tee $7 + (local.tee $1 + (loop $label$2 (result f32) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (local.get $6) + ) ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) ) ) - ) - (block - (block $label$3 - (call $log-i32 - (call $hashMemory) - ) - (drop - (loop $label$4 + (block $label$3 (result f32) + (local.tee $2 + (loop $label$4 (result f32) (block (if (i32.eqz (global.get $hangLimit) ) (return - (local.get $0) + (f32.const -3402823466385288598117041e14) ) ) (global.set $hangLimit @@ -529,115 +559,16 @@ ) ) ) - (block $label$5 - (nop) - (br $label$2) - ) - ) - ) - ) - (br_if $label$2 - (block $label$6 (result i32) - (local.get $3) - ) - ) - (local.set $0 - (br_if $label$0 - (local.tee $0 - (local.tee $0 - (f32.const -65536) - ) - ) - (i32.eqz - (local.get $3) - ) - ) - ) - ) - ) - (return - (f32.const 825.2233276367188) - ) - ) - ) - (local.get $3) - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (if (result i32) - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (if (result i32) - (i32.eqz - (local.get $3) - ) - (i32.const 57) - (i32.const -1) - ) - ) - (i32.const -32767) - (block $label$7 - (local.set $0 - (f32.const 16) - ) - (return - (local.get $0) - ) - ) - ) - ) - (block $label$8 (result i32) - (block $label$9 - (loop $label$10 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.set $3 - (local.get $3) - ) - ) - (br_if $label$9 - (local.get $3) - ) - ) - (i32.const 1195918659) - ) - (local.tee $3 - (if (result i32) - (i32.const -13) - (local.get $3) - (local.get $3) - ) - ) - ) - (block $label$11 (result i32) - (local.set $0 - (local.tee $0 - (local.tee $0 - (loop $label$12 (result f32) + (local.tee $2 + (local.tee $2 + (loop $label$5 (result f32) (block (if (i32.eqz (global.get $hangLimit) ) (return - (local.get $0) + (f32.const 0) ) ) (global.set $hangLimit @@ -647,403 +578,7 @@ ) ) ) - (local.get $0) - ) - ) - ) - ) - (br_if $label$11 - (call_indirect (type $FUNCSIG$iji) - (global.get $global$2) - (loop $label$17 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (nop) - (br_if $label$17 - (local.get $3) - ) - (i32.const -2048) - ) - ) - (i32.const 1) - ) - (local.tee $3 - (loop $label$13 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 13) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (loop $label$14 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (br_if $label$14 - (local.tee $3 - (local.tee $3 - (br_if $label$11 - (local.get $3) - (i32.eqz - (block $label$15 - (nop) - (br $label$13) - ) - ) - ) - ) - ) - ) - (br_if $label$14 - (i32.eqz - (local.get $3) - ) - ) - (local.tee $3 - (block $label$16 - (nop) - (br $label$13) - ) - ) - ) - ) - (br_if $label$13 - (local.get $3) - ) - (local.get $3) - ) - ) - ) - ) - ) - (block $label$18 (result i32) - (nop) - (i32.const 255) - ) - ) - ) - (block $label$19 (result i32) - (nop) - (i32.const 486998794) - ) - (block $label$20 (result i32) - (local.set $0 - (br_if $label$0 - (f32.const 1.9017128799693354e-30) - (local.tee $3 - (local.tee $3 - (local.get $3) - ) - ) - ) - ) - (loop $label$21 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$22 - (local.set $2 - (local.get $1) - ) - (block $label$23 - (local.set $2 - (i64.const 5208777217870088520) - ) - (f32.store offset=3 align=1 - (i32.and - (local.tee $3 - (local.get $3) - ) - (i32.const 15) - ) - (local.tee $0 - (f32.const 1.8919776323400583e-07) - ) - ) - ) - ) - (br_if $label$21 - (loop $label$24 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (block $label$25 - (local.set $3 - (loop $label$26 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const 2147483648) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (global.get $global$0) - ) - ) - (loop $label$27 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (f32.const -3402823466385288598117041e14) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (block $label$28 - (local.set $0 - (f32.const 16668) - ) - (call $log-i64 - (i64.const 274877906944) - ) - ) - (br_if $label$27 - (i32.eqz - (local.tee $3 - (local.get $3) - ) - ) - ) - (if - (i32.eqz - (local.tee $3 - (i32.const 33817656) - ) - ) - (br_if $label$25 - (i32.eqz - (i32.const 8) - ) - ) - (nop) - ) - ) - ) - ) - (br_if $label$24 - (i32.eqz - (i32.const 110) - ) - ) - (br_if $label$20 - (loop $label$29 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.tee $3 - (call $func_6 - (v128.const i32x4 0x4847080b 0xe740fc6d 0x49037f13 0x00000058) - (loop $label$30 (result f32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result f32) - (nop) - (br_if $label$30 - (local.get $3) - ) - (local.get $0) - ) - ) - (i32.const -32768) - (f64.const 2654) - (v128.const i32x4 0x140a0215 0x00000000 0xffffffe0 0xffffffff) - (local.tee $2 - (block $label$31 (result i64) - (drop - (local.get $0) - ) - (i64.const 9007199254740992) - ) - ) - ) - ) - ) - (br_if $label$20 - (local.get $3) - (i32.eqz - (i32.const 64) - ) - ) - ) - ) - ) - ) - (loop $label$32 (result i32) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result i32) - (loop $label$33 - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block - (block $label$34 - (local.set $0 - (local.get $0) - ) - (nop) - ) - (br_if $label$33 - (i32.const -4096) - ) - (br_if $label$32 - (i32.eqz - (local.get $3) - ) - ) - ) - ) - (br_if $label$32 - (i32.eqz - (local.get $3) - ) - ) - (local.tee $3 - (br_if $label$20 - (local.get $3) - (i32.eqz - (i32.const -2147483647) - ) + (f32.const 35184372088832) ) ) ) @@ -1053,26 +588,187 @@ ) ) ) - (local.get $3) - (block $label$73 (result i32) - (i32.popcnt - (i32.const -32767) - ) + ) + ) + ) + (br_if $label$1 + (i32.eqz + (local.get $5) + ) + ) + ) + (return + (f32.const 65521) + ) + ) + ) + (func $func_15 (; 15 ;) (type $FUNCSIG$fi) (param $0 i32) (result f32) + (local $1 f32) + (local $2 f64) + (local $3 v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (f32.const -65536) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (f64x2.splat + (return + (f32.const 1) + ) + ) + ) + (func $func_16 (; 16 ;) (result i32) + (local $0 i32) + (local $1 i64) + (local $2 v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (i32.const 84558856) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (block $label$0 (result i32) + (nop) + (br_if $label$0 + (i32.const 16777216) + (i32.eqz + (i32.const 524288) + ) + ) + ) + ) + (func $func_16_invoker (; 17 ;) (type $FUNCSIG$v) + (drop + (call $func_16) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_16) + ) + ) + (func $func_18 (; 18 ;) (result v128) + (local $0 v128) + (local $1 v128) + (local $2 v128) + (local $3 f64) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 v128) + (local $11 i32) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (local.get $10) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (local.tee $1 + (local.tee $1 + (loop $label$0 (result v128) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (v128.const i32x4 0xffe00000 0xc1efffff 0x571e0419 0x031f1e04) ) ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (block $label$1 (result v128) + (nop) + (local.get $0) ) ) - (local.get $0) - (f32.const 1.1985586025063025e-39) ) ) ) - (func $hangLimitInitializer (; 14 ;) + (func $func_18_invoker (; 19 ;) (type $FUNCSIG$v) + (drop + (call $func_18) + ) + (drop + (call $func_18) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_18) + ) + (call $log-i32 + (call $hashMemory) + ) + ) + (func $func_20 (; 20 ;) (type $FUNCSIG$Vjfii) (param $0 i64) (param $1 f32) (param $2 i32) (param $3 i32) (result v128) + (local $4 i64) + (local $5 f64) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (v128.const i32x4 0x00000000 0x40c11580 0x00000000 0xb8100000) + ) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (v128.const i32x4 0x00000000 0x80000000 0x00000078 0x00000000) + ) + (func $hangLimitInitializer (; 21 ;) (global.set $hangLimit (i32.const 10) ) ) - (func $deNan32 (; 15 ;) (param $0 f32) (result f32) + (func $deNan32 (; 22 ;) (param $0 f32) (result f32) (if (result f32) (f32.eq (local.get $0) @@ -1082,7 +778,7 @@ (f32.const 0) ) ) - (func $deNan64 (; 16 ;) (param $0 f64) (result f64) + (func $deNan64 (; 23 ;) (param $0 f64) (result f64) (if (result f64) (f64.eq (local.get $0) |