Minor string comparision optimizations (#77)

This commit is contained in:
Max Graey
2018-04-17 00:02:55 +03:00
committed by Daniel Wirtz
parent 1013c21359
commit 6d0b5d92c2
7 changed files with 172 additions and 169 deletions

View File

@ -161,7 +161,7 @@
(call $abort
(i32.const 0)
(i32.const 72)
(i32.const 234)
(i32.const 231)
(i32.const 4)
)
(unreachable)
@ -381,7 +381,7 @@
(call $abort
(i32.const 0)
(i32.const 72)
(i32.const 213)
(i32.const 210)
(i32.const 4)
)
(unreachable)
@ -1092,7 +1092,7 @@
(call $abort
(i32.const 0)
(i32.const 72)
(i32.const 469)
(i32.const 466)
(i32.const 10)
)
(unreachable)
@ -3293,18 +3293,19 @@
)
)
(if
(i32.eqz
(get_local $0)
)
(return
(i32.eqz
(get_local $1)
(i32.and
(if (result i32)
(tee_local $2
(i32.eqz
(get_local $0)
)
)
(get_local $2)
(i32.eqz
(get_local $1)
)
)
)
)
(if
(i32.eqz
(get_local $1)
(i32.const 1)
)
(return
(i32.const 0)
@ -3447,31 +3448,32 @@
)
)
(if
(i32.eqz
(get_local $0)
)
(return
(i32.eqz
(get_local $1)
(i32.and
(if (result i32)
(tee_local $2
(i32.eqz
(get_local $0)
)
)
(get_local $2)
(i32.eqz
(get_local $1)
)
)
)
)
(if
(i32.eqz
(get_local $1)
(i32.const 1)
)
(return
(i32.const 0)
)
)
(set_local $2
(set_local $3
(i32.load
(get_local $1)
)
)
(if
(i32.eqz
(tee_local $3
(tee_local $2
(i32.load
(get_local $0)
)
@ -3479,13 +3481,13 @@
)
(return
(i32.eqz
(get_local $2)
(get_local $3)
)
)
)
(if
(i32.eqz
(get_local $2)
(get_local $3)
)
(return
(i32.const 1)
@ -3503,11 +3505,11 @@
)
(i32.shl
(select
(get_local $3)
(get_local $2)
(get_local $3)
(i32.lt_s
(get_local $3)
(get_local $2)
(get_local $3)
)
)
(i32.const 1)
@ -3613,18 +3615,19 @@
)
)
(if
(i32.eqz
(get_local $0)
)
(return
(i32.eqz
(get_local $1)
(i32.and
(if (result i32)
(tee_local $2
(i32.eqz
(get_local $0)
)
)
(get_local $2)
(i32.eqz
(get_local $1)
)
)
)
)
(if
(i32.eqz
(get_local $1)
(i32.const 1)
)
(return
(i32.const 0)
@ -3694,7 +3697,7 @@
(call $abort
(i32.const 0)
(i32.const 72)
(i32.const 386)
(i32.const 383)
(i32.const 4)
)
(unreachable)
@ -3729,7 +3732,7 @@
(call $abort
(i32.const 0)
(i32.const 72)
(i32.const 391)
(i32.const 388)
(i32.const 6)
)
(unreachable)