Transition to TypeFlags for specific type checks; Optimize logical ops a bit

This commit is contained in:
dcodeIO
2018-01-10 23:19:14 +01:00
parent fc777b3a89
commit d89703cdad
18 changed files with 750 additions and 720 deletions

View File

@ -70,32 +70,42 @@
)
)
(if
(if (result i32)
(tee_local $8
(if (result i32)
(i32.and
(if (result i32)
(i32.eqz
(tee_local $8
(i64.eq
(i64.shl
(get_local $3)
(i64.const 1)
(i32.and
(if (result i32)
(i32.eqz
(tee_local $8
(i64.eq
(i64.shl
(get_local $3)
(i64.const 1)
)
(i64.const 0)
)
)
)
(f64.ne
(tee_local $7
(get_local $1)
)
(get_local $7)
)
(get_local $8)
)
(i64.const 0)
(i32.const 1)
)
)
(get_local $8)
(f64.ne
(tee_local $7
(get_local $1)
)
(get_local $7)
)
)
(i32.eq
(get_local $4)
(i32.const 2047)
)
(get_local $8)
)
(get_local $8)
(i32.eq
(get_local $4)
(i32.const 2047)
)
(i32.const 1)
)
(return
(f64.div
@ -530,32 +540,42 @@
)
)
(if
(if (result i32)
(tee_local $8
(if (result i32)
(i32.and
(if (result i32)
(i32.eqz
(tee_local $8
(i32.eq
(i32.shl
(get_local $3)
(i32.const 1)
(i32.and
(if (result i32)
(i32.eqz
(tee_local $8
(i32.eq
(i32.shl
(get_local $3)
(i32.const 1)
)
(i32.const 0)
)
)
)
(f32.ne
(tee_local $7
(get_local $1)
)
(get_local $7)
)
(get_local $8)
)
(i32.const 0)
(i32.const 1)
)
)
(get_local $8)
(f32.ne
(tee_local $7
(get_local $1)
)
(get_local $7)
)
)
(i32.eq
(get_local $4)
(i32.const 255)
)
(get_local $8)
)
(get_local $8)
(i32.eq
(get_local $4)
(i32.const 255)
)
(i32.const 1)
)
(return
(f32.div