Update internal ABI to zero/sign-extend where necessary only (#87)

This commit is contained in:
Daniel Wirtz
2018-05-06 00:00:54 +02:00
committed by GitHub
parent ce2bf00d62
commit 50f6c1c460
72 changed files with 8846 additions and 9459 deletions

View File

@@ -10,501 +10,7 @@
(export "memory" (memory $0))
(start $start)
(func $retain-i32/test (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
(if
(i32.ne
(i32.and
(i32.add
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.add
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 4)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.sub
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.sub
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 5)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.mul
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.mul
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 6)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.and
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.and
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 7)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.or
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.or
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 8)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.xor
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.xor
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 9)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.shl
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 10)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.add
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.add
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 13)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.sub
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.sub
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 14)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.mul
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.mul
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 15)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.and
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 16)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.or
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.or
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 17)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.xor
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.xor
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 18)
(i32.const 2)
)
(unreachable)
)
)
(if
(i32.ne
(i32.and
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 255)
)
(i32.and
(i32.shl
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.and
(get_local $1)
(i32.const 255)
)
)
(i32.const 255)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 19)
(i32.const 2)
)
(unreachable)
)
)
(nop)
)
(func $start (; 2 ;) (type $v)
(local $0 i32)