summaryrefslogtreecommitdiff
path: root/test/passes/optimize-instructions_all-features.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/passes/optimize-instructions_all-features.txt')
-rw-r--r--test/passes/optimize-instructions_all-features.txt5704
1 files changed, 0 insertions, 5704 deletions
diff --git a/test/passes/optimize-instructions_all-features.txt b/test/passes/optimize-instructions_all-features.txt
deleted file mode 100644
index df60ebfaa..000000000
--- a/test/passes/optimize-instructions_all-features.txt
+++ /dev/null
@@ -1,5704 +0,0 @@
-(module
- (type $i32_i32_=>_none (func (param i32 i32)))
- (type $none_=>_i32 (func (result i32)))
- (type $i32_=>_i32 (func (param i32) (result i32)))
- (type $i32_i64_=>_none (func (param i32 i64)))
- (type $none_=>_none (func))
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (type $i32_=>_none (func (param i32)))
- (type $i32_i32_i64_i64_=>_none (func (param i32 i32 i64 i64)))
- (type $i32_i64_f32_f64_=>_none (func (param i32 i64 f32 f64)))
- (type $none_=>_i64 (func (result i64)))
- (type $i64_=>_i64 (func (param i64) (result i64)))
- (type $i32_i64_f32_=>_none (func (param i32 i64 f32)))
- (type $f32_=>_none (func (param f32)))
- (type $f64_=>_none (func (param f64)))
- (type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64)))
- (type $i32_i32_f64_f64_=>_none (func (param i32 i32 f64 f64)))
- (type $i32_i64_f64_i32_=>_none (func (param i32 i64 f64 i32)))
- (type $f32_f64_=>_none (func (param f32 f64)))
- (type $f64_f32_=>_none (func (param f64 f32)))
- (type $f64_f64_f32_f32_=>_none (func (param f64 f64 f32 f32)))
- (type $none_=>_f64 (func (result f64)))
- (memory $0 0)
- (export "load-off-2" (func $load-off-2))
- (func $f (param $i1 i32) (param $i2 i64)
- (drop
- (i32.and
- (local.get $i1)
- (i32.const 1)
- )
- )
- (drop
- (i32.or
- (local.get $i1)
- (i32.const 3)
- )
- )
- (drop
- (i32.xor
- (local.get $i1)
- (i32.const 5)
- )
- )
- (drop
- (i32.mul
- (local.get $i1)
- (i32.const -10)
- )
- )
- (drop
- (i32.mul
- (local.get $i1)
- (i32.const -133169153)
- )
- )
- (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_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.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
- (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)
- )
- (i32.store8
- (i32.const 7)
- (i32.const 255)
- )
- (i32.store8
- (i32.const 8)
- (i32.const 255)
- )
- (i32.store8
- (i32.const 9)
- (i32.const 0)
- )
- (i32.store16
- (i32.const 10)
- (i32.const 65535)
- )
- (i32.store16
- (i32.const 11)
- (i32.const 0)
- )
- (i32.store16
- (i32.const 13)
- (i32.const 65535)
- )
- (i32.store
- (i32.const 14)
- (i32.const 65536)
- )
- (i64.store8
- (i32.const 8)
- (i64.const 255)
- )
- (i64.store8
- (i32.const 9)
- (i64.const 0)
- )
- (i64.store16
- (i32.const 10)
- (i64.const 65535)
- )
- (i64.store16
- (i32.const 11)
- (i64.const 0)
- )
- (i64.store32
- (i32.const 12)
- (i64.const 4294967295)
- )
- (i64.store32
- (i32.const 13)
- (i64.const 0)
- )
- (i64.store
- (i32.const 14)
- (i64.const 4294967296)
- )
- )
- (func $and-neg1
- (drop
- (i32.const 100)
- )
- (drop
- (i32.and
- (i32.const 100)
- (i32.const 1)
- )
- )
- )
- (func $and-pos1
- (drop
- (i32.eqz
- (i32.const 1000)
- )
- )
- (drop
- (i32.eqz
- (i32.const 1000)
- )
- )
- (drop
- (i32.and
- (i32.const 100)
- (i32.const 1)
- )
- )
- (drop
- (i32.lt_u
- (i32.const 2000)
- (i32.const 3000)
- )
- )
- )
- (func $canonicalize (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_u
- (i32.const 16)
- (i32.const 17)
- )
- (i32.gt_u
- (i32.const 18)
- (i32.const 19)
- )
- )
- )
- (drop
- (i32.and
- (i32.gt_u
- (i32.const 20)
- (i32.const 21)
- )
- (i32.gt_u
- (i32.const 22)
- (i32.const 23)
- )
- )
- )
- (drop
- (i32.lt_s
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (f64.ne
- (local.get $fx)
- (f64.const -1)
- )
- )
- (drop
- (f64.gt
- (local.get $fx)
- (f64.const -2)
- )
- )
- (drop
- (f64.le
- (local.get $fx)
- (f64.const inf)
- )
- )
- (drop
- (f64.ge
- (local.get $fx)
- (f64.const nan:0x8000000000000)
- )
- )
- (drop
- (f64.ge
- (f64.const 1)
- (f64.const 2)
- )
- )
- (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 (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
- (if
- (if (result i32)
- (i32.const 1)
- (call $ne0)
- (call $ne1)
- )
- (nop)
- )
- (if
- (block $block (result i32)
- (nop)
- (call $ne0)
- )
- (nop)
- )
- )
- (func $ne1 (result i32)
- (unreachable)
- )
- (func $load-off-2 (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.sub
- (local.get $0)
- (i32.const 11)
- )
- (local.get $0)
- )
- (i32.store offset=2
- (i32.sub
- (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 (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
- (block (result i32)
- (drop
- (local.get $0)
- )
- (i32.const 0)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $0)
- )
- (i32.const 0)
- )
- )
- (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)
- )
- )
- (drop
- (if (result i32)
- (i32.shr_s
- (i32.shl
- (unreachable)
- (i32.const 16)
- )
- (i32.const 16)
- )
- (i32.const 111)
- (i32.const 222)
- )
- )
- )
- (func $sign-ext-input (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_u
- (i32.const 1)
- (i32.const 1)
- )
- )
- (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 3)
- )
- )
- (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 3)
- )
- )
- (drop
- (i32.shr_s
- (i32.shl
- (i32.const -1)
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- (drop
- (i32.shr_u
- (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 (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.sub
- (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 (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 (param $0 i32) (param $1 i32)
- (drop
- (i32.and
- (local.get $0)
- (i32.const 8)
- )
- )
- (drop
- (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 8)
- )
- )
- )
- (func $sign-ext-ne (param $0 i32) (param $1 i32)
- (drop
- (block (result i32)
- (drop
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $0)
- )
- (i32.const 1)
- )
- )
- (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 (param $0 i32) (param $1 i32)
- (drop
- (i32.eqz
- (i32.and
- (local.get $0)
- (i32.const 255)
- )
- )
- )
- )
- (func $sign-ext-boolean (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 (param $0 i32) (param $1 i64)
- (drop
- (local.get $0)
- )
- (drop
- (local.get $0)
- )
- (drop
- (local.get $1)
- )
- (drop
- (local.get $1)
- )
- )
- (func $store-signext (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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
- (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 (param $x i32)
- (drop
- (block (result i32)
- (drop
- (local.get $x)
- )
- (i32.const 0)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $x)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.eq
- (i32.and
- (local.get $x)
- (i32.const 255)
- )
- (i32.const 127)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $x)
- )
- (i32.const 0)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $x)
- )
- (i32.const 0)
- )
- )
- (drop
- (block (result i32)
- (drop
- (local.get $x)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.eq
- (i32.and
- (local.get $x)
- (i32.const 255)
- )
- (i32.const 252)
- )
- )
- )
- (func $if-parallel (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 (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
- (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 (result i32)
- (return
- (i32.eq
- (i32.load16_s align=1
- (i32.const 790656516)
- )
- (i32.const -1337)
- )
- )
- )
- (func $zero-ops-64 (result i32)
- (return
- (i64.eq
- (i64.load16_s align=1
- (i32.const 790656516)
- )
- (i64.const -1337)
- )
- )
- )
- (func $zero-ops-64-special (result i32)
- (return
- (i32.wrap_i64
- (i64.popcnt
- (i64.const 7377)
- )
- )
- )
- )
- (func $sign-ext-1-and-ne (result i32)
- (drop
- (call $sign-ext-1-and-ne)
- )
- (i32.const 1)
- )
- (func $neg-shifts-and-255 (result i32)
- (i32.and
- (i32.const -99)
- (i32.const 255)
- )
- )
- (func $neg-shifts-and-255-b (result i32)
- (i32.and
- (i32.const -2349025)
- (i32.const 255)
- )
- )
- (func $shifts-square-overflow (param $x i32) (result i32)
- (i32.shr_u
- (i32.shr_u
- (local.get $x)
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (func $shifts-square-no-overflow-small (param $x i32) (result i32)
- (i32.shr_u
- (local.get $x)
- (i32.const 9)
- )
- )
- (func $shifts-square-overflow-64 (param $x i64) (result i64)
- (i64.shr_u
- (i64.shr_u
- (local.get $x)
- (i64.const 63)
- )
- (i64.const 63)
- )
- )
- (func $shifts-square-no-overflow-small-64 (param $x i64) (result i64)
- (i64.shr_u
- (local.get $x)
- (i64.const 9)
- )
- )
- (func $shifts-square-unreachable (param $x i32) (result i32)
- (i32.shr_u
- (i32.shr_u
- (unreachable)
- (i32.const 1031)
- )
- (i32.const 4098)
- )
- )
- (func $mix-shifts (result i32)
- (i32.shr_u
- (i32.shl
- (i32.const 23)
- (i32.const 3)
- )
- (i32.const 8)
- )
- )
- (func $actually-no-shifts (result i32)
- (i32.const 33)
- )
- (func $less-shifts-than-it-seems (param $x i32) (result i32)
- (i32.const 4800)
- )
- (func $and-popcount32 (result i32)
- (i32.and
- (i32.popcnt
- (i32.const -1)
- )
- (i32.const 31)
- )
- )
- (func $and-popcount32-big (result i32)
- (i32.popcnt
- (i32.const -1)
- )
- )
- (func $and-popcount64 (result i64)
- (i64.and
- (i64.popcnt
- (i64.const -1)
- )
- (i64.const 63)
- )
- )
- (func $and-popcount64-big (result i64)
- (i64.and
- (i64.popcnt
- (i64.const -1)
- )
- (i64.const 127)
- )
- )
- (func $and-popcount64-bigger (result i64)
- (i64.and
- (i64.popcnt
- (i64.const -1)
- )
- (i64.const 255)
- )
- )
- (func $optimizeAddedConstants-filters-through-nonzero (result i32)
- (i32.sub
- (i32.shl
- (i32.const -536870912)
- (i32.wrap_i64
- (i64.const 0)
- )
- )
- (i32.const 31744)
- )
- )
- (func $optimizeAddedConstants-filters-through-nonzero-b (result i32)
- (i32.sub
- (i32.shl
- (i32.const -536870912)
- (i32.wrap_i64
- (i64.const -1)
- )
- )
- (i32.const 31744)
- )
- )
- (func $return-proper-value-from-shift-left-by-zero (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 (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 (param $0 i32) (result i32)
- (i32.sub
- (i32.const 32)
- (i32.clz
- (local.get $0)
- )
- )
- )
- (func $subzero2 (param $0 i32) (result i32)
- (i32.sub
- (i32.const 32)
- (i32.clz
- (local.get $0)
- )
- )
- )
- (func $subzero3 (param $0 i32) (param $1 i32) (result i32)
- (i32.sub
- (local.get $1)
- (i32.clz
- (local.get $0)
- )
- )
- )
- (func $subzero4 (param $0 i32) (param $1 i32) (result i32)
- (i32.sub
- (local.get $0)
- (i32.clz
- (local.get $1)
- )
- )
- )
- (func $mul-32-power-2 (param $x i32) (result i32)
- (drop
- (call $mul-32-power-2
- (i32.shl
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- (drop
- (call $mul-32-power-2
- (i32.mul
- (local.get $x)
- (i32.const 5)
- )
- )
- )
- (drop
- (call $mul-32-power-2
- (local.get $x)
- )
- )
- (drop
- (call $mul-32-power-2
- (i32.const 0)
- )
- )
- (drop
- (call $mul-32-power-2
- (i32.mul
- (call $mul-32-power-2
- (i32.const 123)
- )
- (i32.const 0)
- )
- )
- )
- (drop
- (call $mul-32-power-2
- (i32.sub
- (i32.const 0)
- (local.get $x)
- )
- )
- )
- (drop
- (call $mul-32-power-2
- (i32.shl
- (local.get $x)
- (i32.const 31)
- )
- )
- )
- (unreachable)
- )
- (func $mul-64-power-2 (param $x i64) (result i64)
- (drop
- (call $mul-64-power-2
- (i64.shl
- (local.get $x)
- (i64.const 2)
- )
- )
- )
- (drop
- (call $mul-64-power-2
- (i64.mul
- (local.get $x)
- (i64.const 5)
- )
- )
- )
- (drop
- (call $mul-64-power-2
- (local.get $x)
- )
- )
- (drop
- (call $mul-64-power-2
- (i64.const 0)
- )
- )
- (drop
- (call $mul-64-power-2
- (i64.mul
- (call $mul-64-power-2
- (i64.const 123)
- )
- (i64.const 0)
- )
- )
- )
- (drop
- (call $mul-64-power-2
- (i64.sub
- (i64.const 0)
- (local.get $x)
- )
- )
- )
- (drop
- (call $mul-64-power-2
- (i64.shl
- (local.get $x)
- (i64.const 63)
- )
- )
- )
- (unreachable)
- )
- (func $div-32-power-2 (param $x i32) (result i32)
- (drop
- (call $div-32-power-2
- (i32.shr_u
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- (drop
- (call $div-32-power-2
- (i32.div_u
- (local.get $x)
- (i32.const 5)
- )
- )
- )
- (drop
- (call $div-32-power-2
- (local.get $x)
- )
- )
- (drop
- (call $div-32-power-2
- (i32.div_u
- (local.get $x)
- (i32.const 0)
- )
- )
- )
- (drop
- (call $div-32-power-2
- (i32.div_u
- (call $div-32-power-2
- (i32.const 123)
- )
- (i32.const 0)
- )
- )
- )
- (drop
- (call $div-32-power-2
- (i32.eq
- (local.get $x)
- (i32.const -1)
- )
- )
- )
- (drop
- (call $div-32-power-2
- (i32.shr_u
- (local.get $x)
- (i32.const 31)
- )
- )
- )
- (unreachable)
- )
- (func $urem-32-power-2 (param $x i32) (result i32)
- (drop
- (call $urem-32-power-2
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.rem_u
- (local.get $x)
- (i32.const 5)
- )
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.const 0)
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.rem_u
- (local.get $x)
- (i32.const 0)
- )
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.rem_u
- (local.get $x)
- (i32.const -1)
- )
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- )
- )
- (drop
- (call $urem-32-power-2
- (i32.const 0)
- )
- )
- (unreachable)
- )
- (func $fdiv-32-power-2 (param $x f32)
- (drop
- (f32.mul
- (local.get $x)
- (f32.const 0.5)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const -0.5)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const 2.3283064365386963e-10)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const 5.421010862427522e-20)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const 8507059173023461586584365e13)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const 1.1754943508222875e-38)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const -8507059173023461586584365e13)
- )
- )
- (drop
- (f32.mul
- (local.get $x)
- (f32.const -1.1754943508222875e-38)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const 5.877471754111438e-39)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const 5.877471754111438e-39)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const 0)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const nan:0x400000)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const inf)
- )
- )
- (drop
- (f32.div
- (local.get $x)
- (f32.const -inf)
- )
- )
- )
- (func $fdiv-64-power-2 (param $x f64)
- (drop
- (f64.mul
- (local.get $x)
- (f64.const 0.5)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const -0.5)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const 2.3283064365386963e-10)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const 5.421010862427522e-20)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const 4494232837155789769323262e283)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const 2.2250738585072014e-308)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const -4494232837155789769323262e283)
- )
- )
- (drop
- (f64.mul
- (local.get $x)
- (f64.const -2.2250738585072014e-308)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const 1.1125369292536007e-308)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const 8988465674311579538646525e283)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const 0)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const nan:0x8000000000000)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const inf)
- )
- )
- (drop
- (f64.div
- (local.get $x)
- (f64.const -inf)
- )
- )
- )
- (func $srem-by-const (param $x i32) (param $y i64)
- (drop
- (i32.const 0)
- )
- (drop
- (i64.const 0)
- )
- (drop
- (i32.rem_s
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i64.rem_s
- (local.get $y)
- (i64.const -9223372036854775808)
- )
- )
- )
- (func $srem-by-pot-eq-ne-zero (param $x i32) (param $y i64)
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 3)
- )
- )
- )
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 3)
- )
- )
- )
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 1)
- )
- )
- )
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 3)
- )
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i32.wrap_i64
- (i64.and
- (local.get $y)
- (i64.const 1)
- )
- )
- )
- (drop
- (i32.eqz
- (i32.const 0)
- )
- )
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- )
- )
- (drop
- (i32.ne
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 0)
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- )
- )
- (drop
- (i64.ne
- (i64.and
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- (i64.const 0)
- )
- )
- (drop
- (i32.eqz
- (i32.rem_s
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.rem_s
- (local.get $y)
- (i64.const 3)
- )
- )
- )
- )
- (func $orZero (param $0 i32) (result i32)
- (local.get $0)
- )
- (func $andZero (param $0 i32) (result i32)
- (drop
- (i32.const 0)
- )
- (drop
- (i32.and
- (call $andZero
- (i32.const 1234)
- )
- (i32.const 0)
- )
- )
- (unreachable)
- )
- (func $abstract-additions (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
- (f32.mul
- (local.get $y32)
- (f32.const 1)
- )
- )
- (drop
- (f64.mul
- (local.get $y64)
- (f64.const 1)
- )
- )
- (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
- (f32.mul
- (local.get $y32)
- (f32.const 1)
- )
- )
- (drop
- (f64.mul
- (local.get $y64)
- (f64.const 1)
- )
- )
- (drop
- (f32.div
- (local.get $y32)
- (f32.const 1.2000000476837158)
- )
- )
- (drop
- (i32.sub
- (i32.const 0)
- (local.get $x32)
- )
- )
- (drop
- (i64.sub
- (i64.const 0)
- (local.get $x64)
- )
- )
- (drop
- (f32.sub
- (f32.const -0)
- (local.get $y32)
- )
- )
- (drop
- (f64.sub
- (f64.const -0)
- (local.get $y64)
- )
- )
- (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.add
- (local.get $x32)
- (i32.const 30)
- )
- (local.get $x32)
- )
- )
- (drop
- (i32.eq
- (i32.sub
- (local.get $x32)
- (i32.const 10)
- )
- (local.get $x32)
- )
- )
- (drop
- (i32.const 1)
- )
- )
- (func $negatives-are-sometimes-better (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 (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 (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 (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 (param $x i32) (param $y i64)
- (drop
- (local.get $x)
- )
- )
- (func $select-on-const (param $x i32) (param $y i64)
- (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)
- )
- )
- (drop
- (i32.eqz
- (i32.eqz
- (local.get $x)
- )
- )
- )
- (drop
- (i32.eqz
- (local.get $x)
- )
- )
- (drop
- (i32.ge_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i32.lt_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i32.lt_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i32.gt_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i32.le_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i32.ge_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i64.extend_i32_u
- (i32.eqz
- (i32.eqz
- (local.get $x)
- )
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i32.eqz
- (local.get $x)
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.eqz
- (local.get $y)
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i32.eqz
- (i64.eqz
- (local.get $y)
- )
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.ge_s
- (local.get $y)
- (i64.const 0)
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.lt_s
- (local.get $y)
- (i64.const 0)
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.lt_s
- (local.get $y)
- (i64.const 0)
- )
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.ge_s
- (local.get $y)
- (i64.const 0)
- )
- )
- )
- (drop
- (select
- (i32.const 0)
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (select
- (i32.const 2)
- (local.get $x)
- (i32.const 2)
- )
- )
- (drop
- (select
- (local.get $x)
- (i32.const 2)
- (local.get $x)
- )
- )
- (drop
- (select
- (local.get $y)
- (i64.const 0)
- (i64.eqz
- (i64.const 0)
- )
- )
- )
- (drop
- (select
- (local.get $y)
- (i64.const 2)
- (i64.eqz
- (i64.const 2)
- )
- )
- )
- )
- (func $optimize-boolean (param $x i32) (param $y i64)
- (drop
- (select
- (i32.const 1)
- (i32.const 2)
- (local.get $x)
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i32.eqz
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- )
- (drop
- (i32.wrap_i64
- (i64.shr_u
- (local.get $y)
- (i64.const 63)
- )
- )
- )
- (drop
- (i32.eqz
- (i32.shr_u
- (local.get $x)
- (i32.const 31)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.shr_u
- (local.get $y)
- (i64.const 63)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.shr_u
- (local.get $y)
- (i64.const 63)
- )
- )
- )
- (drop
- (i64.eqz
- (local.get $y)
- )
- )
- (drop
- (i32.eqz
- (i32.wrap_i64
- (local.get $y)
- )
- )
- )
- (drop
- (i32.wrap_i64
- (i64.and
- (local.get $y)
- (i64.const 1)
- )
- )
- )
- (drop
- (i64.eqz
- (i64.and
- (local.get $y)
- (i64.const 1)
- )
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i64.and
- (local.get $y)
- (i64.const 1)
- )
- )
- (drop
- (i64.const 1)
- )
- (drop
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i64.ne
- (local.get $y)
- (i64.const 0)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (if (result i32)
- (i32.and
- (local.get $x)
- (i32.const 3)
- )
- (i32.const 1)
- (i32.const 0)
- )
- )
- (drop
- (if (result i32)
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 1)
- (i32.const 0)
- )
- )
- )
- (func $optimize-bitwise-oprations (param $x i32) (param $y i32) (param $z i64) (param $w i64)
- (drop
- (i32.rotl
- (i32.const -2)
- (local.get $x)
- )
- )
- (drop
- (i64.rotl
- (i64.const -2)
- (local.get $z)
- )
- )
- )
- (func $getFallthrough
- (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 (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 (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 (param $temp i32) (result i32)
- (i32.add
- (i32.sub
- (local.tee $temp
- (i32.const 1)
- )
- (local.get $temp)
- )
- (i32.const 2)
- )
- )
- (func $const-float-zero (param $fx f32) (param $fy f64)
- (drop
- (f32.sub
- (local.get $fx)
- (f32.const 0)
- )
- )
- (drop
- (f64.sub
- (local.get $fy)
- (f64.const 0)
- )
- )
- (drop
- (f32.add
- (local.get $fx)
- (f32.const -0)
- )
- )
- (drop
- (f64.add
- (local.get $fy)
- (f64.const -0)
- )
- )
- (drop
- (f32.add
- (local.get $fx)
- (f32.const 0)
- )
- )
- (drop
- (f64.add
- (local.get $fy)
- (f64.const 0)
- )
- )
- (drop
- (f32.sub
- (f32.const 0)
- (local.get $fx)
- )
- )
- (drop
- (f64.sub
- (f64.const 0)
- (local.get $fy)
- )
- )
- (drop
- (f32.add
- (local.get $fx)
- (f32.const 0)
- )
- )
- (drop
- (f64.add
- (local.get $fy)
- (f64.const 0)
- )
- )
- (drop
- (f32.sub
- (f32.const -nan:0x34546d)
- (f32.const 0)
- )
- )
- )
- (func $rhs-is-neg-one (param $x i32) (param $y i64) (param $fx f32) (param $fy f64)
- (drop
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i64.add
- (local.get $y)
- (i64.const 1)
- )
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.gt_s
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i64.gt_s
- (local.get $y)
- (i64.const -1)
- )
- )
- (drop
- (i64.extend_i32_s
- (i32.const 0)
- )
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.le_s
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i64.le_s
- (local.get $y)
- (i64.const -1)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i64.eq
- (local.get $y)
- (i64.const -1)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i64.ne
- (local.get $y)
- (i64.const -1)
- )
- )
- (drop
- (i32.sub
- (i32.const 0)
- (local.get $x)
- )
- )
- (drop
- (i64.sub
- (i64.const 0)
- (local.get $y)
- )
- )
- (drop
- (f32.sub
- (f32.const -0)
- (local.get $fx)
- )
- )
- (drop
- (f64.sub
- (f64.const -0)
- (local.get $fy)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.eq
- (local.get $y)
- (i64.const -1)
- )
- )
- )
- )
- (func $rhs-is-const (param $x i32) (param $y i64) (param $fx f32) (param $fy f64)
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.eq
- (local.get $y)
- (i64.const -9223372036854775808)
- )
- )
- )
- (drop
- (i64.div_s
- (local.get $y)
- (i64.const -2147483648)
- )
- )
- (drop
- (i32.ge_u
- (local.get $x)
- (i32.const -2)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -1)
- )
- )
- (drop
- (i32.ge_u
- (local.get $x)
- (i32.const -2147483647)
- )
- )
- (drop
- (i32.shr_u
- (local.get $x)
- (i32.const 31)
- )
- )
- (drop
- (i64.extend_i32_u
- (i64.eq
- (local.get $y)
- (i64.const -1)
- )
- )
- )
- (drop
- (i64.shr_u
- (local.get $y)
- (i64.const 63)
- )
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const 0)
- )
- )
- (drop
- (i64.ne
- (local.get $y)
- (i64.const 0)
- )
- )
- (drop
- (i32.eqz
- (local.get $x)
- )
- )
- (drop
- (i64.eqz
- (local.get $y)
- )
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const 2147483647)
- )
- )
- (drop
- (i64.ne
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i64.ne
- (local.get $y)
- (i64.const -9223372036854775808)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i64.eq
- (local.get $y)
- (i64.const -9223372036854775808)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const 2147483647)
- )
- )
- (drop
- (i64.eq
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- )
- (drop
- (f32.sub
- (f32.const -0)
- (local.get $fx)
- )
- )
- (drop
- (f64.mul
- (local.get $fy)
- (f64.const 2.1)
- )
- )
- (drop
- (f64.mul
- (local.get $fy)
- (f64.const -2)
- )
- )
- (drop
- (f32.div
- (local.get $fx)
- (f32.const -inf)
- )
- )
- (drop
- (f64.div
- (local.get $fy)
- (f64.const 0)
- )
- )
- (drop
- (f64.div
- (local.get $fy)
- (f64.const -nan:0x8000000000000)
- )
- )
- (drop
- (f64.div
- (f64.const -5)
- (local.get $fy)
- )
- )
- )
- (func $lhs-is-neg-one (param $x i32) (param $y i64)
- (drop
- (i32.const -1)
- )
- (drop
- (i64.const -1)
- )
- (drop
- (i32.const -1)
- )
- (drop
- (i64.const -1)
- )
- (drop
- (i32.const -1)
- )
- (drop
- (i64.const -1)
- )
- (drop
- (i32.shr_s
- (i32.const -1)
- (call $ne0)
- )
- )
- (drop
- (i32.shr_u
- (i32.const -1)
- (local.get $x)
- )
- )
- )
- (func $lhs-is-const (param $x i32) (param $y i64)
- (drop
- (i32.sub
- (i32.const 1)
- (local.get $x)
- )
- )
- (drop
- (i64.sub
- (i64.const 1)
- (local.get $y)
- )
- )
- (drop
- (i32.sub
- (i32.const -2)
- (local.get $x)
- )
- )
- (drop
- (i64.sub
- (i64.const -2)
- (local.get $y)
- )
- )
- (drop
- (i32.sub
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i64.sub
- (local.get $y)
- (i64.const 1)
- )
- )
- (drop
- (i32.sub
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- )
- (func $pre-combine-or (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.lt_s
- (call $ne0)
- (local.get $y)
- )
- (i32.eq
- (call $ne0)
- (local.get $y)
- )
- )
- )
- )
- (func $combine-or (param $x i32) (param $y i32)
- (drop
- (i32.ge_s
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (func $select-into-arms (param $x i32) (param $y i32)
- (if
- (select
- (local.get $x)
- (local.get $y)
- (local.get $y)
- )
- (unreachable)
- )
- )
- (func $optimize-boolean-context (param $x i32) (param $y i32)
- (if
- (local.get $x)
- (unreachable)
- )
- (drop
- (select
- (local.get $x)
- (local.get $y)
- (local.get $x)
- )
- )
- )
- (func $optimize-relationals (param $x i32) (param $y i32) (param $X i64) (param $Y i64)
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -2147483647)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const 2147483647)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i64.eq
- (local.get $X)
- (local.get $Y)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i64.eq
- (local.get $X)
- (local.get $Y)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i64.ne
- (local.get $X)
- (local.get $Y)
- )
- )
- (drop
- (i32.gt_s
- (i32.sub
- (local.get $x)
- (local.get $y)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.ge_s
- (i32.sub
- (local.get $x)
- (local.get $y)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.const 1)
- )
- (drop
- (i32.lt_s
- (i32.sub
- (local.get $x)
- (local.get $y)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.le_s
- (i32.sub
- (local.get $x)
- (local.get $y)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.const 0)
- )
- (drop
- (i32.eq
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.eq
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const -2147483648)
- )
- )
- (drop
- (i32.lt_s
- (i32.sub
- (local.get $x)
- (i32.const -2147483648)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.ge_s
- (i32.sub
- (local.get $x)
- (i32.const -2147483648)
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.gt_s
- (i32.sub
- (local.get $x)
- (block $block (result i32)
- (i32.const -2147483648)
- )
- )
- (i32.const 0)
- )
- )
- (drop
- (i32.gt_s
- (i32.sub
- (local.get $x)
- (block $block29 (result i32)
- (i32.const -2147483648)
- )
- )
- (i32.const 0)
- )
- )
- )
- (func $unsigned-context (param $x i32) (param $y i64)
- (drop
- (i32.div_u
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 3)
- )
- )
- (drop
- (i32.div_s
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const -3)
- )
- )
- (drop
- (i32.eq
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const -2147483648)
- )
- )
- (drop
- (i64.shr_u
- (i64.and
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- (i64.const 1)
- )
- )
- (drop
- (i64.div_s
- (i64.and
- (local.get $y)
- (i64.const 9223372036854775807)
- )
- (i64.const -1)
- )
- )
- (drop
- (i32.rem_u
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 3)
- )
- )
- (drop
- (i32.shr_u
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 7)
- )
- )
- (drop
- (i32.ge_u
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const 7)
- )
- )
- (drop
- (i32.ge_s
- (i32.and
- (local.get $x)
- (i32.const 2147483647)
- )
- (i32.const -7)
- )
- )
- )
- (func $optimize-float-mul-by-two (param $0 f64) (param $1 f32)
- (drop
- (f64.add
- (local.get $0)
- (local.get $0)
- )
- )
- (drop
- (f32.add
- (local.get $1)
- (local.get $1)
- )
- )
- (drop
- (f64.mul
- (call $tee-with-unreachable-value)
- (f64.const 2)
- )
- )
- (drop
- (f64.mul
- (local.get $0)
- (f64.const -2)
- )
- )
- )
- (func $duplicate-elimination (param $x i32) (param $y i32) (param $z i32) (param $w f64)
- (drop
- (f64.abs
- (local.get $w)
- )
- )
- (drop
- (f64.ceil
- (local.get $w)
- )
- )
- (drop
- (f64.floor
- (local.get $w)
- )
- )
- (drop
- (f64.trunc
- (local.get $w)
- )
- )
- (drop
- (f64.nearest
- (local.get $w)
- )
- )
- (drop
- (f64.nearest
- (f64.trunc
- (local.get $w)
- )
- )
- )
- (drop
- (f64.trunc
- (f64.nearest
- (local.get $w)
- )
- )
- )
- (drop
- (local.get $w)
- )
- (drop
- (f64.neg
- (local.get $w)
- )
- )
- (drop
- (local.get $w)
- )
- (drop
- (i32.eqz
- (i32.eqz
- (local.get $x)
- )
- )
- )
- (drop
- (i32.eqz
- (local.get $x)
- )
- )
- (drop
- (i64.eqz
- (i64.const 1)
- )
- )
- (drop
- (i32.ne
- (local.get $x)
- (i32.const 2)
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (drop
- (i32.rem_s
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.rem_u
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (local.get $y)
- )
- (drop
- (local.get $y)
- )
- (drop
- (i32.sub
- (local.get $y)
- (i32.sub
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (drop
- (local.get $y)
- )
- (drop
- (local.get $y)
- )
- (drop
- (local.get $y)
- )
- (drop
- (local.get $y)
- )
- (drop
- (local.get $x)
- )
- (drop
- (i32.and
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.and
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.or
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.or
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.or
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.or
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.or
- (local.get $z)
- (i32.or
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (drop
- (i32.or
- (local.get $y)
- (i32.or
- (local.get $x)
- (local.get $z)
- )
- )
- )
- (drop
- (i32.or
- (call $ne0)
- (local.get $x)
- )
- )
- (drop
- (i32.or
- (i32.or
- (call $ne0)
- (local.get $x)
- )
- (call $ne0)
- )
- )
- (drop
- (i32.or
- (call $ne0)
- (local.get $x)
- )
- )
- (drop
- (i32.or
- (call $ne0)
- (i32.or
- (call $ne0)
- (local.get $x)
- )
- )
- )
- (drop
- (i32.rem_s
- (i32.rem_s
- (local.get $y)
- (local.get $x)
- )
- (local.get $y)
- )
- )
- (drop
- (i32.rem_u
- (local.get $y)
- (i32.rem_u
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (drop
- (i32.or
- (local.get $x)
- (i32.or
- (local.tee $x
- (i32.const 1)
- )
- (local.get $x)
- )
- )
- )
- (drop
- (i32.or
- (i32.or
- (local.get $x)
- (local.tee $x
- (i32.const 1)
- )
- )
- (local.get $x)
- )
- )
- (drop
- (i32.xor
- (local.get $x)
- (i32.xor
- (local.tee $x
- (i32.const 1)
- )
- (local.get $x)
- )
- )
- )
- (drop
- (i32.xor
- (i32.xor
- (local.get $x)
- (local.tee $x
- (i32.const 1)
- )
- )
- (local.get $x)
- )
- )
- )
- (func $optimize-shifts (param $x i32) (param $y i32) (param $z i64) (param $w i64)
- (drop
- (local.get $x)
- )
- (drop
- (local.get $x)
- )
- (drop
- (local.get $x)
- )
- (drop
- (local.get $x)
- )
- (drop
- (local.get $x)
- )
- (drop
- (local.get $z)
- )
- (drop
- (local.get $z)
- )
- (drop
- (local.get $z)
- )
- (drop
- (local.get $z)
- )
- (drop
- (local.get $z)
- )
- (drop
- (i32.shl
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.shl
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.shr_s
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i32.shr_u
- (local.get $x)
- (local.get $y)
- )
- )
- (drop
- (i64.shl
- (local.get $z)
- (local.get $w)
- )
- )
- (drop
- (i64.shl
- (local.get $z)
- (local.get $w)
- )
- )
- (drop
- (i64.shr_s
- (local.get $z)
- (local.get $w)
- )
- )
- (drop
- (i64.shr_u
- (local.get $z)
- (local.get $w)
- )
- )
- (drop
- (local.get $x)
- )
- (drop
- (local.get $z)
- )
- (drop
- (i64.shl
- (local.get $z)
- (i64.and
- (local.get $w)
- (i64.const 32)
- )
- )
- )
- (drop
- (i64.shr_u
- (local.get $z)
- (i64.and
- (local.get $w)
- (i64.const 31)
- )
- )
- )
- )
- (func $optimize-float-points (param $x0 f64) (param $x1 f64) (param $y0 f32) (param $y1 f32)
- (drop
- (f64.mul
- (local.get $x0)
- (local.get $x0)
- )
- )
- (drop
- (f32.mul
- (local.get $y0)
- (local.get $y0)
- )
- )
- (drop
- (f64.mul
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- )
- )
- (drop
- (f64.abs
- (f64.mul
- (local.get $x0)
- (local.get $x1)
- )
- )
- )
- (drop
- (f32.abs
- (f32.mul
- (local.get $y1)
- (local.get $y0)
- )
- )
- )
- (drop
- (f64.abs
- (f64.mul
- (local.get $x0)
- (f64.const 0)
- )
- )
- )
- (drop
- (f32.abs
- (f32.mul
- (f32.const 0)
- (local.get $y0)
- )
- )
- )
- (drop
- (f64.abs
- (f64.mul
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- (f64.add
- (local.get $x0)
- (local.get $x0)
- )
- )
- )
- )
- (drop
- (f64.abs
- (local.get $x0)
- )
- )
- (drop
- (f32.abs
- (local.get $y0)
- )
- )
- (drop
- (f64.abs
- (f64.sub
- (f64.const 0)
- (local.get $x0)
- )
- )
- )
- (drop
- (f32.abs
- (f32.sub
- (f32.const 0)
- (local.get $y0)
- )
- )
- )
- (drop
- (f64.div
- (local.get $x0)
- (local.get $x0)
- )
- )
- (drop
- (f32.div
- (local.get $y0)
- (local.get $y0)
- )
- )
- (drop
- (f64.div
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- )
- )
- (drop
- (f64.abs
- (f64.div
- (local.get $x0)
- (local.get $x1)
- )
- )
- )
- (drop
- (f32.abs
- (f32.div
- (local.get $y1)
- (local.get $y0)
- )
- )
- )
- (drop
- (f64.mul
- (local.get $x0)
- (local.get $x0)
- )
- )
- (drop
- (f32.mul
- (local.get $y0)
- (local.get $y0)
- )
- )
- (drop
- (f64.div
- (local.get $x0)
- (local.get $x0)
- )
- )
- (drop
- (f32.div
- (local.get $y0)
- (local.get $y0)
- )
- )
- (drop
- (f64.abs
- (f64.div
- (local.get $x0)
- (f64.const 0)
- )
- )
- )
- (drop
- (f32.abs
- (f32.div
- (f32.const 0)
- (local.get $y0)
- )
- )
- )
- (drop
- (f64.abs
- (f64.div
- (f64.add
- (local.get $x0)
- (local.get $x1)
- )
- (f64.add
- (local.get $x0)
- (local.get $x0)
- )
- )
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (import "env" "memory" (memory $0 (shared 256 256)))
- (func $x
- (drop
- (i32.shr_s
- (i32.shl
- (i32.atomic.load8_u
- (i32.const 100)
- )
- (i32.const 24)
- )
- (i32.const 24)
- )
- )
- )
-)
-(module
- (type $i32_i32_i32_=>_none (func (param i32 i32 i32)))
- (memory $0 0)
- (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32)
- (memory.copy
- (local.get $dst)
- (local.get $dst)
- (local.get $sz)
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (i32.const 0)
- )
- (i32.store8
- (local.get $dst)
- (i32.load8_u
- (local.get $src)
- )
- )
- (i32.store16 align=1
- (local.get $dst)
- (i32.load16_u align=1
- (local.get $src)
- )
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (i32.const 3)
- )
- (i32.store align=1
- (local.get $dst)
- (i32.load align=1
- (local.get $src)
- )
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (i32.const 5)
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (i32.const 6)
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (i32.const 7)
- )
- (i64.store align=1
- (local.get $dst)
- (i64.load align=1
- (local.get $src)
- )
- )
- (v128.store align=1
- (local.get $dst)
- (v128.load align=1
- (local.get $src)
- )
- )
- (memory.copy
- (local.get $dst)
- (local.get $src)
- (local.get $sz)
- )
- (memory.copy
- (i32.const 0)
- (i32.const 0)
- (i32.load
- (i32.const 3)
- )
- )
- )
-)
-(module
- (type $none_=>_anyref (func (result anyref)))
- (func $if-arms-subtype-fold (result anyref)
- (ref.null extern)
- )
- (func $if-arms-subtype-nofold (result anyref)
- (if (result anyref)
- (i32.const 0)
- (ref.null extern)
- (ref.null func)
- )
- )
-)
-(module
- (type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64)))
- (func $duplicate-elimination (param $x i32) (param $y i32) (param $z i32) (param $w f64)
- (drop
- (i32.extend8_s
- (local.get $x)
- )
- )
- (drop
- (i32.extend16_s
- (local.get $x)
- )
- )
- )
-)
-(module
- (type $none_=>_none (func))
- (func $test
- (if
- (try (result i32)
- (do
- (i32.const 123)
- )
- (catch_all
- (i32.const 456)
- )
- )
- (nop)
- )
- )
-)
-(module
- (type $i32_=>_i32 (func (param i32) (result i32)))
- (type $ref?|i32_->_i32|_=>_i32 (func (param (ref null $i32_=>_i32)) (result i32)))
- (func $call_from-param (param $f (ref null $i32_=>_i32)) (result i32)
- (unreachable)
- )
-)