diff options
Diffstat (limited to 'test/passes/optimize-instructions_all-features.txt')
-rw-r--r-- | test/passes/optimize-instructions_all-features.txt | 3345 |
1 files changed, 3345 insertions, 0 deletions
diff --git a/test/passes/optimize-instructions_all-features.txt b/test/passes/optimize-instructions_all-features.txt new file mode 100644 index 000000000..53c28e896 --- /dev/null +++ b/test/passes/optimize-instructions_all-features.txt @@ -0,0 +1,3345 @@ +(module + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $none_=>_i32 (func (result i32))) + (type $none_=>_none (func)) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_=>_none (func (param i32))) + (type $i32_i64_=>_none (func (param i32 i64))) + (type $none_=>_i64 (func (result i64))) + (type $i32_i64_f32_=>_none (func (param i32 i64 f32))) + (type $i64_=>_i64 (func (param i64) (result i64))) + (type $i32_i32_f64_f64_=>_none (func (param i32 i32 f64 f64))) + (type $i32_i64_f32_f64_=>_none (func (param i32 i64 f32 f64))) + (type $i32_i64_f64_i32_=>_none (func (param i32 i64 f64 i32))) + (type $none_=>_f64 (func (result f64))) + (memory $0 0) + (export "load-off-2" (func $load-off-2)) + (func $f (; 0 ;) (param $i1 i32) (param $i2 i64) + (if + (i32.eqz + (local.get $i1) + ) + (drop + (i32.const 10) + ) + ) + (if + (local.get $i1) + (drop + (i32.const 12) + ) + (drop + (i32.const 11) + ) + ) + (if + (i64.eqz + (local.get $i2) + ) + (drop + (i32.const 11) + ) + (drop + (i32.const 12) + ) + ) + (drop + (i32.le_s + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.lt_s + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.ge_s + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.gt_s + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.le_u + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.lt_u + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.ge_u + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.gt_u + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.eqz + (f32.gt + (f32.const 1) + (f32.const 2) + ) + ) + ) + (drop + (i32.eqz + (f32.ge + (f32.const 1) + (f32.const 2) + ) + ) + ) + (drop + (i32.eqz + (f32.lt + (f32.const 1) + (f32.const 2) + ) + ) + ) + (drop + (i32.eqz + (f32.le + (f32.const 1) + (f32.const 2) + ) + ) + ) + (drop + (i32.eqz + (f64.gt + (f64.const 1) + (f64.const 2) + ) + ) + ) + (drop + (i32.eqz + (f64.ge + (f64.const 1) + (f64.const 2) + ) + ) + ) + (drop + (i32.eqz + (f64.lt + (f64.const 1) + (f64.const 2) + ) + ) + ) + (drop + (i32.eqz + (f64.le + (f64.const 1) + (f64.const 2) + ) + ) + ) + (drop + (f32.ne + (f32.const 1) + (f32.const 2) + ) + ) + (drop + (f32.eq + (f32.const 1) + (f32.const 2) + ) + ) + (drop + (f64.ne + (f64.const 1) + (f64.const 2) + ) + ) + (drop + (f64.eq + (f64.const 1) + (f64.const 2) + ) + ) + (drop + (i32.eqz + (i32.const 100) + ) + ) + (drop + (i32.eq + (i32.const 0) + (i32.const 100) + ) + ) + (drop + (i32.eqz + (i32.const 0) + ) + ) + (drop + (i64.eqz + (i64.const 100) + ) + ) + (drop + (i64.eq + (i64.const 0) + (i64.const 100) + ) + ) + (drop + (i64.eqz + (i64.const 0) + ) + ) + (if + (i32.const 123) + (nop) + ) + (drop + (select + (i32.const 102) + (i32.const 101) + (local.get $i1) + ) + ) + (drop + (select + (local.tee $i1 + (i32.const 103) + ) + (local.tee $i1 + (i32.const 104) + ) + (i32.eqz + (local.get $i1) + ) + ) + ) + (drop + (i32.const 0) + ) + ) + (func $load-store (; 1 ;) + (drop + (i32.load8_u + (i32.const 0) + ) + ) + (drop + (i32.load8_u + (i32.const 1) + ) + ) + (drop + (i32.and + (i32.load8_s + (i32.const 2) + ) + (i32.const 254) + ) + ) + (drop + (i32.and + (i32.load8_u + (i32.const 3) + ) + (i32.const 1) + ) + ) + (drop + (i32.load16_u + (i32.const 4) + ) + ) + (drop + (i32.load16_u + (i32.const 5) + ) + ) + (drop + (i32.and + (i32.load16_s + (i32.const 6) + ) + (i32.const 65534) + ) + ) + (drop + (i32.and + (i32.load16_u + (i32.const 7) + ) + (i32.const 1) + ) + ) + (i32.store8 + (i32.const 8) + (i32.const -1) + ) + (i32.store8 + (i32.const 9) + (i32.and + (i32.const -2) + (i32.const 254) + ) + ) + (i32.store16 + (i32.const 10) + (i32.const -3) + ) + (i32.store16 + (i32.const 11) + (i32.and + (i32.const -4) + (i32.const 65534) + ) + ) + (i64.store8 + (i32.const 11) + (i64.const 1) + ) + (i64.store16 + (i32.const 11) + (i64.const 2) + ) + (i64.store32 + (i32.const 11) + (i64.const 3) + ) + ) + (func $and-neg1 (; 2 ;) + (drop + (i32.const 100) + ) + (drop + (i32.and + (i32.const 100) + (i32.const 1) + ) + ) + ) + (func $and-pos1 (; 3 ;) + (drop + (i32.eqz + (i32.const 1000) + ) + ) + (drop + (i32.eqz + (i32.const 1000) + ) + ) + (drop + (i32.and + (i32.const 100) + (i32.const 1) + ) + ) + (drop + (i32.lt_s + (i32.const 2000) + (i32.const 3000) + ) + ) + ) + (func $canonicalize (; 4 ;) (param $x i32) (param $y i32) (param $fx f64) (param $fy f64) + (drop + (i32.and + (unreachable) + (i32.const 1) + ) + ) + (drop + (i32.and + (i32.const 1) + (unreachable) + ) + ) + (drop + (i32.div_s + (unreachable) + (i32.const 1) + ) + ) + (drop + (i32.div_s + (i32.const 1) + (unreachable) + ) + ) + (drop + (i32.and + (i32.const 1) + (i32.const 2) + ) + ) + (drop + (i32.and + (local.get $x) + (i32.const 3) + ) + ) + (drop + (i32.and + (local.get $x) + (i32.const 4) + ) + ) + (drop + (i32.and + (local.get $x) + (local.get $y) + ) + ) + (drop + (i32.and + (local.get $x) + (local.get $y) + ) + ) + (drop + (i32.and + (local.tee $x + (i32.const -4) + ) + (local.get $y) + ) + ) + (drop + (i32.and + (block $block (result i32) + (i32.const -5) + ) + (local.get $x) + ) + ) + (drop + (i32.and + (block $block3 (result i32) + (i32.const -6) + ) + (local.get $x) + ) + ) + (drop + (i32.and + (block $block4 (result i32) + (i32.const 5) + ) + (loop $loop-in (result i32) + (i32.const 6) + ) + ) + ) + (drop + (i32.and + (block $block6 (result i32) + (i32.const 8) + ) + (loop $loop-in5 (result i32) + (i32.const 7) + ) + ) + ) + (drop + (i32.and + (block $block8 (result i32) + (i32.const 10) + ) + (loop $loop-in7 (result i32) + (call $and-pos1) + (i32.const 9) + ) + ) + ) + (drop + (i32.and + (block $block10 (result i32) + (call $and-pos1) + (i32.const 12) + ) + (loop $loop-in9 (result i32) + (i32.const 11) + ) + ) + ) + (drop + (i32.and + (loop $loop-in11 (result i32) + (call $and-pos1) + (i32.const 13) + ) + (block $block12 (result i32) + (call $and-pos1) + (i32.const 14) + ) + ) + ) + (drop + (i32.and + (block $block13 (result i32) + (call $and-pos1) + (i32.const 14) + ) + (loop $loop-in14 (result i32) + (call $and-pos1) + (i32.const 13) + ) + ) + ) + (drop + (i32.and + (block $block15 (result i32) + (i32.const 15) + ) + (local.get $x) + ) + ) + (drop + (i32.and + (block $block16 (result i32) + (i32.const 15) + ) + (local.get $x) + ) + ) + (drop + (i32.and + (i32.gt_s + (i32.const 16) + (i32.const 17) + ) + (i32.gt_u + (i32.const 18) + (i32.const 19) + ) + ) + ) + (drop + (i32.and + (i32.gt_s + (i32.const 22) + (i32.const 23) + ) + (i32.gt_u + (i32.const 20) + (i32.const 21) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (local.get $x) + ) + (i32.ctz + (local.get $y) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (local.get $y) + ) + (i32.ctz + (local.get $x) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (local.get $x) + ) + (i32.eqz + (local.get $y) + ) + ) + ) + (drop + (i32.add + (i32.ctz + (local.get $y) + ) + (i32.eqz + (local.get $x) + ) + ) + ) + ) + (func $ne0 (; 5 ;) (result i32) + (if + (call $ne0) + (nop) + ) + (if + (call $ne0) + (nop) + ) + (if + (i32.or + (call $ne0) + (call $ne0) + ) + (nop) + ) + (if + (i32.and + (i32.ne + (call $ne0) + (i32.const 0) + ) + (i32.ne + (call $ne0) + (i32.const 0) + ) + ) + (nop) + ) + (i32.const 1) + ) + (func $recurse-bool (; 6 ;) + (if + (if (result i32) + (i32.const 1) + (call $ne0) + (call $ne1) + ) + (nop) + ) + (if + (block $block (result i32) + (nop) + (call $ne0) + ) + (nop) + ) + ) + (func $ne1 (; 7 ;) (result i32) + (unreachable) + ) + (func $load-off-2 (; 8 ;) (param $0 i32) (result i32) + (i32.store + (i32.const 6) + (local.get $0) + ) + (i32.store + (i32.const 6) + (local.get $0) + ) + (i32.store offset=2 + (i32.add + (local.get $0) + (i32.const 5) + ) + (local.get $0) + ) + (i32.store offset=2 + (i32.add + (local.get $0) + (i32.const 7) + ) + (local.get $0) + ) + (i32.store offset=2 + (i32.add + (local.get $0) + (i32.const -11) + ) + (local.get $0) + ) + (i32.store offset=2 + (i32.add + (local.get $0) + (i32.const -13) + ) + (local.get $0) + ) + (i32.store + (i32.const 4) + (local.get $0) + ) + (i32.store offset=2 + (i32.const -2) + (local.get $0) + ) + (i32.store + (i32.const 25) + (local.get $0) + ) + (i32.store offset=2 + (i32.const -25) + (local.get $0) + ) + (drop + (i32.load + (i32.const 8) + ) + ) + (drop + (i32.load + (i32.const 8) + ) + ) + (drop + (i32.load offset=2 + (i32.add + (local.get $0) + (i32.const 6) + ) + ) + ) + (drop + (i32.load + (i32.const 10) + ) + ) + (i32.load offset=2 + (i32.add + (local.get $0) + (i32.const 10) + ) + ) + ) + (func $sign-ext (; 9 ;) (param $0 i32) (param $1 i32) + (drop + (i32.eqz + (i32.and + (local.get $0) + (i32.const 255) + ) + ) + ) + (drop + (i32.eqz + (i32.and + (local.get $0) + (i32.const 65535) + ) + ) + ) + (drop + (i32.eqz + (i32.and + (local.get $0) + (i32.const 134217727) + ) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const 100) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const 107) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.and + (local.get $1) + (i32.const 255) + ) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $0) + (i32.const 65535) + ) + (i32.and + (local.get $1) + (i32.const 65535) + ) + ) + ) + (drop + (i32.eqz + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 23) + ) + ) + ) + (drop + (i32.eqz + (i32.shr_u + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (drop + (i32.lt_s + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + (i32.const 0) + ) + ) + ) + (func $sign-ext-input (; 10 ;) (param $0 i32) (param $1 i32) + (drop + (i32.const 100) + ) + (drop + (i32.const 127) + ) + (drop + (i32.shr_s + (i32.shl + (i32.const 128) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (unreachable) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.div_s + (i32.const 1) + (i32.const 2) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.and + (i32.const 127) + (i32.const 128) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.and + (i32.const 128) + (i32.const 129) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.xor + (i32.const 127) + (i32.const 126) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.xor + (i32.const 127) + (i32.const 128) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.or + (i32.const 127) + (i32.const 126) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.or + (i32.const 127) + (i32.const 128) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.const 32) + (i32.const 26) + ) + (i32.const 24) + ) + ) + (drop + (i32.shl + (i32.const 32) + (i32.const 1) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.const 32) + (i32.const 27) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_u + (i32.const 256) + (i32.const 1) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_u + (i32.const 256) + (i32.const 2) + ) + ) + (drop + (i32.shr_u + (i32.const 128) + (i32.const 35) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_s + (i32.const 256) + (i32.const 1) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.const 256) + (i32.const 2) + ) + ) + (drop + (i32.shr_s + (i32.const 128) + (i32.const 35) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_s + (i32.const -1) + (i32.const 32) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.and + (i32.const -1) + (i32.const 2147483647) + ) + (i32.const 31) + ) + ) + (drop + (i32.const 0) + ) + (drop + (f32.le + (f32.const -1) + (f32.const -1) + ) + ) + (drop + (i32.clz + (i32.const 0) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.clz + (i32.const 0) + ) + (i32.const 26) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.clz + (i32.const 0) + ) + (i32.const 27) + ) + (i32.const 24) + ) + ) + (drop + (i32.wrap_i64 + (i64.clz + (i64.const 0) + ) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.wrap_i64 + (i64.clz + (i64.const 0) + ) + ) + (i32.const 25) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.wrap_i64 + (i64.clz + (i64.const 0) + ) + ) + (i32.const 26) + ) + (i32.const 24) + ) + ) + (drop + (i32.eqz + (i32.const -1) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_u + (i32.wrap_i64 + (i64.const -1) + ) + (i32.const 24) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_u + (i32.wrap_i64 + (i64.const -1) + ) + (i32.const 25) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_u + (i32.wrap_i64 + (i64.extend_i32_s + (i32.const -1) + ) + ) + (i32.const 24) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_u + (i32.wrap_i64 + (i64.extend_i32_s + (i32.const -1) + ) + ) + (i32.const 25) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.xor + (local.get $0) + (i32.le_u + (local.get $0) + (i32.const 2) + ) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (func $linear-sums (; 11 ;) (param $0 i32) (param $1 i32) + (drop + (i32.add + (i32.shl + (local.get $0) + (i32.const 4) + ) + (local.get $1) + ) + ) + (drop + (i32.add + (i32.add + (local.get $1) + (i32.shl + (local.get $0) + (i32.const 3) + ) + ) + (i32.const 12) + ) + ) + (drop + (i32.const 4) + ) + (drop + (i32.const 18) + ) + (drop + (i32.const 6) + ) + (drop + (i32.const -4) + ) + (drop + (i32.const 2) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 26) + ) + (drop + (i32.const -20) + ) + (drop + (i32.const 22) + ) + (drop + (i32.add + (i32.shl + (i32.const 1) + (local.get $0) + ) + (i32.const 14) + ) + ) + (drop + (i32.add + (i32.shl + (local.get $1) + (i32.const 3) + ) + (i32.const -66) + ) + ) + (drop + (i32.const 44) + ) + (drop + (i32.add + (i32.mul + (local.get $0) + (i32.const 10) + ) + (i32.const 14) + ) + ) + (drop + (i32.add + (i32.shl + (local.get $0) + (i32.const 1) + ) + (i32.const 34) + ) + ) + (drop + (local.get $0) + ) + ) + (func $almost-sign-ext (; 12 ;) (param $0 i32) + (drop + (i32.shr_s + (i32.shl + (i32.const 100) + (i32.const 25) + ) + (i32.const 24) + ) + ) + (drop + (i32.shl + (i32.const 50) + (i32.const 1) + ) + ) + ) + (func $squaring (; 13 ;) (param $0 i32) (param $1 i32) + (drop + (i32.and + (local.get $0) + (i32.const 8) + ) + ) + (drop + (i32.and + (local.get $0) + (i32.and + (local.get $0) + (i32.const 11) + ) + ) + ) + (drop + (i32.and + (local.get $0) + (i32.const 8) + ) + ) + (drop + (i32.or + (local.get $0) + (i32.const 203) + ) + ) + (drop + (i32.shl + (local.get $0) + (i32.const 19) + ) + ) + (drop + (i32.shr_s + (local.get $0) + (i32.const 19) + ) + ) + (drop + (i32.shr_u + (local.get $0) + (i32.const 19) + ) + ) + (drop + (i32.shr_u + (i32.shr_s + (local.get $0) + (i32.const 11) + ) + (i32.const 200) + ) + ) + ) + (func $sign-ext-ne (; 14 ;) (param $0 i32) (param $1 i32) + (drop + (i32.ne + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.ne + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.ne + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const 107) + ) + ) + (drop + (i32.ne + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const 111) + ) + ) + (drop + (i32.ne + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.and + (local.get $1) + (i32.const 255) + ) + ) + ) + ) + (func $sign-ext-eqz (; 15 ;) (param $0 i32) (param $1 i32) + (drop + (i32.eqz + (i32.and + (local.get $0) + (i32.const 255) + ) + ) + ) + ) + (func $sign-ext-boolean (; 16 ;) (param $0 i32) (param $1 i32) + (drop + (if (result i32) + (i32.and + (local.get $0) + (i32.const 255) + ) + (i32.const 100) + (i32.const 200) + ) + ) + ) + (func $add-sub-zero (; 17 ;) (param $0 i32) (param $1 i32) + (drop + (local.get $0) + ) + (drop + (local.get $0) + ) + ) + (func $store-signext (; 18 ;) (param $0 i32) + (i32.store8 + (i32.const 8) + (local.get $0) + ) + (i32.store8 + (i32.const 8) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 25) + ) + (i32.const 25) + ) + ) + (i32.store8 + (i32.const 8) + (local.get $0) + ) + (i32.store16 + (i32.const 8) + (local.get $0) + ) + (i32.store16 + (i32.const 8) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 17) + ) + (i32.const 17) + ) + ) + (i32.store16 + (i32.const 8) + (local.get $0) + ) + (i32.store + (i32.const 8) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 16) + ) + (i32.const 16) + ) + ) + (i32.store + (i32.const 8) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 8) + ) + (i32.const 8) + ) + ) + ) + (func $sign-ext-tee (; 19 ;) (param $0 i32) (param $1 i32) + (drop + (i32.shr_s + (i32.shl + (local.tee $0 + (i32.const 128) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (local.tee $0 + (i32.const 127) + ) + ) + ) + (func $sign-ext-load (; 20 ;) (param $0 i32) (param $1 i32) + (drop + (i32.load8_s + (i32.const 256) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.shr_u + (i32.load8_s + (i32.const 256) + ) + (i32.const 1) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_u + (i32.load8_u + (i32.const 256) + ) + (i32.const 1) + ) + ) + (drop + (i32.load16_s + (i32.const 256) + ) + ) + (drop + (local.tee $1 + (i32.load8_s + (i32.const 1) + ) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.tee $1 + (i32.load8_u + (i32.const 1) + ) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.and + (local.tee $1 + (i32.load8_s + (i32.const 1) + ) + ) + (i32.const 255) + ) + ) + (drop + (local.tee $1 + (i32.load8_u + (i32.const 1) + ) + ) + ) + ) + (func $mask-bits (; 21 ;) (param $0 i32) (param $1 i32) + (drop + (local.tee $0 + (i32.const 127) + ) + ) + (drop + (local.tee $0 + (i32.const 128) + ) + ) + (drop + (i32.and + (local.tee $0 + (i32.const 128) + ) + (i32.const 254) + ) + ) + (drop + (i32.and + (local.tee $0 + (i32.const 128) + ) + (i32.const 1279) + ) + ) + (drop + (i32.and + (local.tee $0 + (i32.const 128) + ) + (i32.const 1290) + ) + ) + (drop + (local.tee $0 + (i32.const 128) + ) + ) + (drop + (local.tee $0 + (i32.const 128) + ) + ) + (drop + (i32.and + (local.tee $0 + (i32.const 128) + ) + (i32.const 127) + ) + ) + ) + (func $local-info-zero-ext (; 22 ;) (param $0 i32) (param $1 i32) + (local $x i32) + (local $y i32) + (local $z i32) + (local $w i32) + (local.set $x + (i32.const 212) + ) + (drop + (local.get $x) + ) + (local.set $y + (i32.const 500) + ) + (drop + (i32.and + (local.get $y) + (i32.const 255) + ) + ) + (local.set $0 + (i32.const 212) + ) + (drop + (i32.and + (local.get $0) + (i32.const 255) + ) + ) + (local.set $z + (i32.const 212) + ) + (local.set $z + (i32.const 220) + ) + (drop + (local.get $z) + ) + (local.set $w + (i32.const 212) + ) + (local.set $w + (i32.const 1000) + ) + (drop + (i32.and + (local.get $w) + (i32.const 255) + ) + ) + ) + (func $local-info-sign-ext-bitsize (; 23 ;) (param $0 i32) (param $1 i32) + (local $x i32) + (local $y i32) + (local $z i32) + (local $w i32) + (local.set $x + (i32.const 127) + ) + (drop + (local.get $x) + ) + (local.set $y + (i32.const 128) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $y) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $0 + (i32.const 127) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $z + (i32.const 127) + ) + (local.set $z + (i32.const 100) + ) + (drop + (local.get $z) + ) + (local.set $w + (i32.const 127) + ) + (local.set $w + (i32.const 150) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $w) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (func $local-info-sign-ext-already-exted (; 24 ;) (param $0 i32) (param $1 i32) + (local $x i32) + (local $y i32) + (local $z i32) + (local $w i32) + (local.set $x + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (local.get $x) + ) + (local.set $y + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 16) + ) + (i32.const 16) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $y) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $0 + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $z + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $z + (i32.shr_s + (i32.shl + (local.get $1) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (local.get $z) + ) + (local.set $w + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $w + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 23) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $w) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 24) + ) + (i32.const 23) + ) + ) + ) + (func $signed-loads-fill-the-bits (; 25 ;) (param $$e i32) (result i32) + (local $$0 i32) + (local $$conv i32) + (local.set $$0 + (i32.load8_s + (i32.const 1024) + ) + ) + (local.set $$conv + (i32.and + (local.get $$0) + (i32.const 255) + ) + ) + (return + (i32.eq + (local.get $$e) + (local.get $$conv) + ) + ) + ) + (func $local-info-sign-ext-already-exted-by-load (; 26 ;) (param $0 i32) (param $1 i32) + (local $x i32) + (local $y i32) + (local $z i32) + (local $w i32) + (local.set $x + (i32.load8_s + (i32.const 1024) + ) + ) + (drop + (local.get $x) + ) + (local.set $y + (i32.load8_u + (i32.const 1024) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $y) + (i32.const 24) + ) + (i32.const 24) + ) + ) + (local.set $z + (i32.load16_s + (i32.const 1024) + ) + ) + (drop + (i32.shr_s + (i32.shl + (local.get $z) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (func $compare-load-s-sign-extend (; 27 ;) (param $0 i32) (param $1 i32) + (drop + (i32.eq + (i32.load8_u + (local.get $0) + ) + (i32.and + (local.get $1) + (i32.const 255) + ) + ) + ) + (drop + (i32.eq + (i32.load8_u + (local.get $0) + ) + (i32.and + (local.get $1) + (i32.const 255) + ) + ) + ) + (drop + (i32.eq + (i32.load8_u + (local.get $0) + ) + (i32.shr_s + (i32.shl + (local.get $1) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (drop + (i32.eq + (i32.load8_s + (local.get $0) + ) + (i32.shr_s + (i32.shl + (local.get $1) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (drop + (i32.eq + (i32.load8_u + (local.get $0) + ) + (i32.shr_s + (i32.shl + (local.get $1) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) + (drop + (i32.eq + (i32.load8_s + (local.get $0) + ) + (i32.shr_s + (i32.shl + (local.get $1) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + ) + (func $unsign-diff-sizes (; 28 ;) (param $x i32) (param $y i32) (result i32) + (i32.ne + (i32.shr_s + (i32.shl + (call $unsign-diff-sizes + (i32.const -1) + (i32.const 5) + ) + (i32.const 24) + ) + (i32.const 24) + ) + (i32.shr_s + (i32.shl + (call $unsign-diff-sizes + (i32.const 1) + (i32.const 2006) + ) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (func $unsign-same-sizes (; 29 ;) (param $x i32) (param $y i32) (result i32) + (i32.ne + (i32.and + (call $unsign-same-sizes + (i32.const -1) + (i32.const 5) + ) + (i32.const 255) + ) + (i32.and + (call $unsign-same-sizes + (i32.const 1) + (i32.const 2006) + ) + (i32.const 255) + ) + ) + ) + (func $fuzz-almost-sign-ext (; 30 ;) + (drop + (i32.shr_s + (i32.shl + (i32.load16_u + (i32.const 2278) + ) + (i32.const 17) + ) + (i32.const 16) + ) + ) + (drop + (i32.shr_s + (i32.shl + (i32.load16_u + (i32.const 2278) + ) + (i32.const 17) + ) + (i32.const 16) + ) + ) + ) + (func $fuzz-comp-impossible (; 31 ;) (param $x i32) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 65535) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const 127) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const -2147483648) + ) + ) + (drop + (i32.eq + (i32.and + (local.get $x) + (i32.const 255) + ) + (i32.const 252) + ) + ) + ) + (func $if-parallel (; 32 ;) (param $0 i32) (param $1 i32) + (drop + (i32.add + (local.get $1) + (i32.const 1) + ) + ) + (drop + (block (result i32) + (drop + (local.tee $0 + (local.get $1) + ) + ) + (i32.add + (local.get $1) + (i32.const 1) + ) + ) + ) + (drop + (block (result i32) + (i32.add + (local.get $1) + (unreachable) + ) + ) + ) + (drop + (block (result i32) + (drop + (local.tee $0 + (local.get $1) + ) + ) + (i32.add + (local.get $1) + (unreachable) + ) + ) + ) + (drop + (if (result i32) + (unreachable) + (i32.add + (local.get $1) + (unreachable) + ) + (i32.add + (local.get $1) + (unreachable) + ) + ) + ) + ) + (func $select-parallel (; 33 ;) (param $0 i32) (param $1 i32) + (drop + (i32.add + (local.get $1) + (i32.const 1) + ) + ) + (drop + (select + (local.tee $0 + (local.get $1) + ) + (local.tee $0 + (local.get $1) + ) + (local.get $0) + ) + ) + (drop + (block (result i32) + (drop + (local.tee $0 + (local.get $1) + ) + ) + (i32.add + (local.get $1) + (i32.const 1) + ) + ) + ) + (drop + (select + (local.tee $0 + (local.get $1) + ) + (local.tee $0 + (local.get $1) + ) + (local.tee $0 + (local.get $1) + ) + ) + ) + (drop + (select + (local.tee $0 + (local.get $1) + ) + (local.tee $0 + (local.get $1) + ) + (unreachable) + ) + ) + ) + (func $zero-shifts-is-not-sign-ext (; 34 ;) + (drop + (i32.eq + (i32.load16_s align=1 + (i32.const 790656516) + ) + (i32.const -5431187) + ) + ) + (drop + (i32.eq + (i32.shl + (i32.load16_s align=1 + (i32.const 790656516) + ) + (i32.const 1) + ) + (i32.const -5431187) + ) + ) + ) + (func $zero-ops (; 35 ;) (result i32) + (return + (i32.eq + (i32.load16_s align=1 + (i32.const 790656516) + ) + (i32.const -1337) + ) + ) + ) + (func $sign-ext-1-and-ne (; 36 ;) (result i32) + (i32.ne + (i32.and + (call $sign-ext-1-and-ne) + (i32.const 2147483647) + ) + (i32.const -2147483648) + ) + ) + (func $neg-shifts-and-255 (; 37 ;) (result i32) + (i32.and + (i32.shr_u + (i32.const -99) + (i32.const -32) + ) + (i32.const 255) + ) + ) + (func $neg-shifts-and-255-b (; 38 ;) (result i32) + (i32.and + (i32.shl + (i32.const -2349025) + (i32.const -32) + ) + (i32.const 255) + ) + ) + (func $shifts-square-overflow (; 39 ;) (param $x i32) (result i32) + (i32.shr_u + (i32.shr_u + (local.get $x) + (i32.const 65535) + ) + (i32.const 32767) + ) + ) + (func $shifts-square-no-overflow-small (; 40 ;) (param $x i32) (result i32) + (i32.shr_u + (local.get $x) + (i32.const 9) + ) + ) + (func $shifts-square-overflow-64 (; 41 ;) (param $x i64) (result i64) + (i64.shr_u + (i64.shr_u + (local.get $x) + (i64.const 65535) + ) + (i64.const 64767) + ) + ) + (func $shifts-square-no-overflow-small-64 (; 42 ;) (param $x i64) (result i64) + (i64.shr_u + (local.get $x) + (i64.const 9) + ) + ) + (func $shifts-square-unreachable (; 43 ;) (param $x i32) (result i32) + (i32.shr_u + (i32.shr_u + (unreachable) + (i32.const 1031) + ) + (i32.const 4098) + ) + ) + (func $mix-shifts (; 44 ;) (result i32) + (i32.shr_s + (i32.shl + (i32.const 23) + (i32.const -61) + ) + (i32.const 168) + ) + ) + (func $actually-no-shifts (; 45 ;) (result i32) + (i32.const 33) + ) + (func $less-shifts-than-it-seems (; 46 ;) (param $x i32) (result i32) + (i32.const 4800) + ) + (func $and-popcount32 (; 47 ;) (result i32) + (i32.and + (i32.popcnt + (i32.const -1) + ) + (i32.const 31) + ) + ) + (func $and-popcount32-big (; 48 ;) (result i32) + (i32.popcnt + (i32.const -1) + ) + ) + (func $and-popcount64 (; 49 ;) (result i64) + (i64.and + (i64.popcnt + (i64.const -1) + ) + (i64.const 63) + ) + ) + (func $and-popcount64-big (; 50 ;) (result i64) + (i64.and + (i64.popcnt + (i64.const -1) + ) + (i64.const 127) + ) + ) + (func $and-popcount64-bigger (; 51 ;) (result i64) + (i64.and + (i64.popcnt + (i64.const -1) + ) + (i64.const 255) + ) + ) + (func $optimizeAddedConstants-filters-through-nonzero (; 52 ;) (result i32) + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap_i64 + (i64.const 0) + ) + ) + (i32.const -31744) + ) + ) + (func $optimizeAddedConstants-filters-through-nonzero-b (; 53 ;) (result i32) + (i32.add + (i32.shl + (i32.const -536870912) + (i32.wrap_i64 + (i64.const -1) + ) + ) + (i32.const -31744) + ) + ) + (func $return-proper-value-from-shift-left-by-zero (; 54 ;) (result i32) + (if (result i32) + (i32.add + (loop $label$0 (result i32) + (block $label$1 + (br_if $label$1 + (i32.load + (i32.const 0) + ) + ) + ) + (i32.const -62) + ) + (i32.const 40) + ) + (i32.const 1) + (i32.const 0) + ) + ) + (func $de-morgan-2 (; 55 ;) (param $x i32) (param $y i32) + (drop + (i32.eqz + (i32.or + (local.get $x) + (local.get $y) + ) + ) + ) + (drop + (i32.or + (i32.eqz + (local.get $x) + ) + (i32.eqz + (local.get $y) + ) + ) + ) + (drop + (i32.xor + (i32.eqz + (local.get $x) + ) + (i32.eqz + (local.get $y) + ) + ) + ) + (drop + (i32.and + (local.get $y) + (i32.eqz + (local.get $x) + ) + ) + ) + (drop + (i32.and + (i32.eqz + (local.get $y) + ) + (local.get $x) + ) + ) + (drop + (i32.and + (i32.eqz + (local.get $x) + ) + (i32.wrap_i64 + (i64.const 2) + ) + ) + ) + (drop + (i32.and + (i32.eqz + (local.get $y) + ) + (i32.wrap_i64 + (i64.const 1) + ) + ) + ) + ) + (func $subzero1 (; 56 ;) (param $0 i32) (result i32) + (i32.sub + (i32.const 32) + (i32.clz + (local.get $0) + ) + ) + ) + (func $subzero2 (; 57 ;) (param $0 i32) (result i32) + (i32.sub + (i32.const 32) + (i32.clz + (local.get $0) + ) + ) + ) + (func $subzero3 (; 58 ;) (param $0 i32) (param $1 i32) (result i32) + (i32.sub + (local.get $1) + (i32.clz + (local.get $0) + ) + ) + ) + (func $subzero4 (; 59 ;) (param $0 i32) (param $1 i32) (result i32) + (i32.sub + (local.get $0) + (i32.clz + (local.get $1) + ) + ) + ) + (func $mul-power-2 (; 60 ;) (param $x i32) (result i32) + (drop + (call $mul-power-2 + (i32.shl + (local.get $x) + (i32.const 2) + ) + ) + ) + (drop + (call $mul-power-2 + (i32.mul + (local.get $x) + (i32.const 5) + ) + ) + ) + (drop + (call $mul-power-2 + (local.get $x) + ) + ) + (drop + (call $mul-power-2 + (i32.const 0) + ) + ) + (drop + (call $mul-power-2 + (i32.mul + (call $mul-power-2 + (i32.const 123) + ) + (i32.const 0) + ) + ) + ) + (drop + (call $mul-power-2 + (i32.mul + (local.get $x) + (i32.const -1) + ) + ) + ) + (drop + (call $mul-power-2 + (i32.shl + (local.get $x) + (i32.const 31) + ) + ) + ) + (unreachable) + ) + (func $urem-power-2 (; 61 ;) (param $x i32) (result i32) + (drop + (call $urem-power-2 + (i32.and + (local.get $x) + (i32.const 3) + ) + ) + ) + (drop + (call $urem-power-2 + (i32.rem_u + (local.get $x) + (i32.const 5) + ) + ) + ) + (drop + (call $urem-power-2 + (i32.const 0) + ) + ) + (drop + (call $urem-power-2 + (i32.rem_u + (local.get $x) + (i32.const 0) + ) + ) + ) + (drop + (call $urem-power-2 + (i32.rem_u + (local.get $x) + (i32.const -1) + ) + ) + ) + (drop + (call $urem-power-2 + (i32.and + (local.get $x) + (i32.const 2147483647) + ) + ) + ) + (unreachable) + ) + (func $orZero (; 62 ;) (param $0 i32) (result i32) + (local.get $0) + ) + (func $andZero (; 63 ;) (param $0 i32) (result i32) + (drop + (i32.const 0) + ) + (drop + (i32.and + (call $andZero + (i32.const 1234) + ) + (i32.const 0) + ) + ) + (unreachable) + ) + (func $abstract-additions (; 64 ;) (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64) + (drop + (local.get $x32) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $x64) + ) + (drop + (i32.const 0) + ) + (drop + (i64.const 0) + ) + (drop + (f32.mul + (local.get $y32) + (f32.const 0) + ) + ) + (drop + (f64.mul + (local.get $y64) + (f64.const 0) + ) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $y32) + ) + (drop + (local.get $y64) + ) + (drop + (i32.const 0) + ) + (drop + (i64.const 0) + ) + (drop + (i32.and + (unreachable) + (i32.const 0) + ) + ) + (drop + (i64.and + (unreachable) + (i64.const 0) + ) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x32) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $x64) + ) + (drop + (local.get $y32) + ) + (drop + (local.get $y64) + ) + (drop + (f32.div + (local.get $y32) + (f32.const 1.2000000476837158) + ) + ) + (drop + (i32.mul + (local.get $x32) + (i32.const -1) + ) + ) + (drop + (i64.mul + (local.get $x64) + (i64.const -1) + ) + ) + (drop + (f32.mul + (local.get $y32) + (f32.const -1) + ) + ) + (drop + (f64.mul + (local.get $y64) + (f64.const -1) + ) + ) + (drop + (i32.eq + (local.get $x32) + (i32.const 10) + ) + ) + (drop + (i32.le_u + (i32.add + (local.get $x32) + (i32.const 10) + ) + (i32.const 20) + ) + ) + (drop + (i32.eq + (local.get $x32) + (i32.const 30) + ) + ) + (drop + (i64.eq + (local.get $x64) + (i64.const 10) + ) + ) + (drop + (i32.eq + (local.get $x32) + (i32.const 10) + ) + ) + (drop + (i32.eq + (i32.add + (local.get $x32) + (i32.const 10) + ) + (local.get $x32) + ) + ) + (drop + (i32.eq + (local.get $x32) + (i32.const 30) + ) + ) + (drop + (i32.eq + (i32.sub + (local.get $x32) + (i32.const 30) + ) + (local.get $x32) + ) + ) + (drop + (i32.eq + (i32.sub + (local.get $x32) + (i32.const 30) + ) + (local.get $x32) + ) + ) + (drop + (i32.eq + (i32.sub + (local.get $x32) + (i32.const 10) + ) + (local.get $x32) + ) + ) + (drop + (i64.le_s + (i64.sub + (local.get $x64) + (i64.const 288230376151711744) + ) + (i64.const 9223372036854775807) + ) + ) + ) + (func $negatives-are-sometimes-better (; 65 ;) (param $x i32) (param $y i64) (param $z f32) + (drop + (i32.sub + (local.get $x) + (i32.const -64) + ) + ) + (drop + (i32.add + (local.get $x) + (i32.const -64) + ) + ) + (drop + (i32.sub + (local.get $x) + (i32.const -8192) + ) + ) + (drop + (i32.sub + (local.get $x) + (i32.const -1048576) + ) + ) + (drop + (i32.sub + (local.get $x) + (i32.const -134217728) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -64) + ) + ) + (drop + (i64.add + (local.get $y) + (i64.const -64) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -8192) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -1048576) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -134217728) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -17179869184) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -2199023255552) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -281474976710656) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -36028797018963968) + ) + ) + (drop + (i64.sub + (local.get $y) + (i64.const -4611686018427387904) + ) + ) + (drop + (f32.add + (local.get $z) + (f32.const 64) + ) + ) + ) + (func $shift-a-zero (; 66 ;) (param $x i32) (param $y i64) (param $z f32) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i64.const 0) + ) + (drop + (i32.shl + (i32.const 0) + (unreachable) + ) + ) + ) + (func $identical-siblings (; 67 ;) (param $x i32) (param $y i64) (param $z f64) (param $xx i32) + (drop + (i32.const 0) + ) + (drop + (i64.const 0) + ) + (drop + (f64.sub + (local.get $z) + (local.get $z) + ) + ) + (drop + (i32.sub + (local.get $x) + (local.get $xx) + ) + ) + (drop + (i32.sub + (unreachable) + (unreachable) + ) + ) + (drop + (i32.add + (local.get $x) + (local.get $x) + ) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (local.get $x) + ) + (drop + (local.get $x) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i64.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (i32.const 0) + ) + (drop + (local.get $y) + ) + (drop + (local.get $y) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + (drop + (i32.const 1) + ) + ) + (func $all_ones (; 68 ;) (param $x i32) (param $y i64) + (drop + (local.get $x) + ) + (drop + (i32.const -1) + ) + (drop + (i32.or + (local.tee $x + (i32.const 1337) + ) + (i32.const -1) + ) + ) + (drop + (local.get $y) + ) + (drop + (i64.const -1) + ) + ) + (func $xor (; 69 ;) (param $x i32) (param $y i64) + (drop + (local.get $x) + ) + ) + (func $select-on-const (; 70 ;) (param $x i32) (param $y i32) + (drop + (local.get $x) + ) + (drop + (i32.const 3) + ) + (drop + (local.tee $x + (i32.const 5) + ) + ) + (drop + (block (result i32) + (drop + (local.tee $x + (i32.const 6) + ) + ) + (i32.const 7) + ) + ) + (drop + (select + (i32.const 4) + (local.tee $x + (i32.const 5) + ) + (i32.const 1) + ) + ) + (drop + (local.tee $x + (i32.const 6) + ) + ) + ) + (func $getFallthrough (; 71 ;) + (local $x0 i32) + (local $x1 i32) + (local $x2 i32) + (local $x3 i32) + (local $x4 i32) + (local $x5 i32) + (local $x6 i32) + (local $x7 i32) + (local.set $x0 + (i32.const 1) + ) + (drop + (local.get $x0) + ) + (local.set $x1 + (local.tee $x2 + (i32.const 1) + ) + ) + (drop + (local.get $x1) + ) + (local.set $x3 + (loop $loop-in (result i32) + (i32.const 1) + ) + ) + (drop + (local.get $x3) + ) + (local.set $x4 + (if (result i32) + (i32.const 1) + (i32.const 2) + (i32.const 3) + ) + ) + (drop + (i32.and + (local.get $x4) + (i32.const 7) + ) + ) + (local.set $x5 + (if (result i32) + (i32.const 1) + (unreachable) + (i32.const 3) + ) + ) + (drop + (local.get $x5) + ) + (local.set $x6 + (if (result i32) + (i32.const 1) + (i32.const 3) + (unreachable) + ) + ) + (drop + (local.get $x6) + ) + (drop + (block $out (result i32) + (local.set $x7 + (br_if $out + (i32.const 1) + (i32.const 1) + ) + ) + (drop + (local.get $x7) + ) + (unreachable) + ) + ) + ) + (func $tee-with-unreachable-value (; 72 ;) (result f64) + (local $var$0 i32) + (block $label$1 (result f64) + (local.tee $var$0 + (br_if $label$1 + (f64.const 1) + (unreachable) + ) + ) + ) + ) + (func $add-sub-zero-reorder-1 (; 73 ;) (param $temp i32) (result i32) + (i32.add + (i32.add + (i32.sub + (i32.const 0) + (local.get $temp) + ) + (local.tee $temp + (i32.const 1) + ) + ) + (i32.const 2) + ) + ) + (func $add-sub-zero-reorder-2 (; 74 ;) (param $temp i32) (result i32) + (i32.add + (i32.sub + (local.tee $temp + (i32.const 1) + ) + (local.get $temp) + ) + (i32.const 2) + ) + ) + (func $pre-combine-or (; 75 ;) (param $x i32) (param $y i32) + (drop + (i32.ge_s + (local.get $x) + (local.get $y) + ) + ) + (drop + (i32.ge_s + (local.get $x) + (local.get $y) + ) + ) + (drop + (i32.or + (i32.eq + (local.get $x) + (i32.const 1) + ) + (i32.gt_s + (local.get $x) + (local.get $y) + ) + ) + ) + (drop + (i32.or + (i32.eq + (local.get $x) + (local.get $y) + ) + (i32.gt_s + (local.get $x) + (i32.const 1) + ) + ) + ) + (drop + (i32.or + (i32.gt_s + (call $ne0) + (local.get $y) + ) + (i32.eq + (call $ne0) + (local.get $y) + ) + ) + ) + (drop + (i32.or + (i32.gt_s + (local.get $y) + (call $ne0) + ) + (i32.eq + (call $ne0) + (local.get $y) + ) + ) + ) + ) + (func $combine-or (; 76 ;) (param $x i32) (param $y i32) + (drop + (i32.ge_s + (local.get $x) + (local.get $y) + ) + ) + ) + (func $select-into-arms (; 77 ;) (param $x i32) (param $y i32) + (if + (select + (local.get $x) + (local.get $y) + (local.get $y) + ) + (unreachable) + ) + ) +) +(module + (type $none_=>_none (func)) + (import "env" "memory" (memory $0 (shared 256 256))) + (func $x (; 0 ;) + (drop + (i32.shr_s + (i32.shl + (i32.atomic.load8_u + (i32.const 100) + ) + (i32.const 24) + ) + (i32.const 24) + ) + ) + ) +) +(module + (type $none_=>_anyref (func (result anyref))) + (func $test (; 0 ;) (result anyref) + (ref.null) + ) +) |