mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 07:02:13 +00:00
2897 lines
44 KiB
Plaintext
2897 lines
44 KiB
Plaintext
(module
|
|
(type $FUNCSIG$v (func))
|
|
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
|
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
|
(memory $0 1)
|
|
(data (i32.const 8) "\07\00\00\00s\00i\00m\00d\00.\00t\00s\00")
|
|
(table $0 1 funcref)
|
|
(elem (i32.const 0) $null)
|
|
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
|
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
|
(global $~lib/ASC_FEATURE_SIMD i32 (i32.const 0))
|
|
(global $~lib/memory/HEAP_BASE i32 (i32.const 28))
|
|
(export "memory" (memory $0))
|
|
(export "table" (table $0))
|
|
(start $start)
|
|
(func $start:~lib/allocator/arena (; 1 ;) (type $FUNCSIG$v)
|
|
global.get $~lib/memory/HEAP_BASE
|
|
i32.const 7
|
|
i32.add
|
|
i32.const 7
|
|
i32.const -1
|
|
i32.xor
|
|
i32.and
|
|
global.set $~lib/allocator/arena/startOffset
|
|
global.get $~lib/allocator/arena/startOffset
|
|
global.set $~lib/allocator/arena/offset
|
|
)
|
|
(func $simd/test_v128 (; 2 ;) (type $FUNCSIG$v)
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 7
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x04030202 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
i8x16.ne
|
|
i8x16.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 12
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x01010101 0x01010101 0x01010101 0x01010101
|
|
v128.and
|
|
v128.const i32 0x00010001 0x00010001 0x00010001 0x00010001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 18
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x01010101 0x01010101 0x01010101 0x01010101
|
|
v128.or
|
|
v128.const i32 0x05030301 0x09070705 0x0d0b0b09 0x110f0f0d
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 25
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x01010101 0x01010101 0x01010101 0x01010101
|
|
v128.xor
|
|
v128.const i32 0x05020300 0x09060704 0x0d0a0b08 0x110e0f0c
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 32
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.not
|
|
v128.const i32 0xfbfcfdfe 0xf7f8f9fa 0xf3f4f5f6 0xeff0f1f2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 39
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d
|
|
v128.const i32 0x0d0e0f10 0x090a0b0c 0x05060708 0x01020304
|
|
v128.const i32 0xff00ff00 0xff00ff00 0xff00ff00 0xff00ff00
|
|
v128.bitselect
|
|
v128.const i32 0x040e0210 0x080a060c 0x0c060a08 0x10020e04
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 45
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_i8x16 (; 3 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
(local $3 v128)
|
|
(local $4 v128)
|
|
(local $5 v128)
|
|
(local $6 v128)
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x7f0f0e0d
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x7f0f0e0d
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 62
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i8x16.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x01010101 0x01010101 0x01010101 0x01010101
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 64
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
i8x16.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x05040302 0x09080706 0x0d0c0b0a 0x80100f0e
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 66
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i8x16.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 67
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i8x16.mul
|
|
local.get $2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 68
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
i8x16.neg
|
|
v128.const i32 0xfcfdfeff 0xf8f9fafb 0xf4f5f6f7 0x81f1f2f3
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 69
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i8x16.extract_lane_s 0
|
|
i32.const 24
|
|
i32.shl
|
|
i32.const 24
|
|
i32.shr_s
|
|
i32.const 2
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 74
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i8x16.extract_lane_s 15
|
|
i32.const 24
|
|
i32.shl
|
|
i32.const 24
|
|
i32.shr_s
|
|
i32.const -128
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 75
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i8x16.extract_lane_u 15
|
|
i32.const 255
|
|
i32.and
|
|
i32.const 128
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 76
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i32.const 17
|
|
i8x16.replace_lane 15
|
|
v128.const i32 0x05040302 0x09080706 0x0d0c0b0a 0x11100f0e
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 77
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x04030201 0x08070605 0x01010101 0x01010101
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 82
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x7f7f7f7e 0x7f7f7f7f 0x7f7f7f7f 0x7f7f7f7f
|
|
i32.const 2
|
|
i8x16.splat
|
|
i8x16.add_saturate_s
|
|
i32.const 127
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 87
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0xfffffffe 0xffffffff 0xffffffff 0xffffffff
|
|
i32.const 2
|
|
i8x16.splat
|
|
i8x16.add_saturate_u
|
|
i32.const -1
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 93
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x80808081 0x80808080 0x80808080 0x80808080
|
|
i32.const 2
|
|
i8x16.splat
|
|
i8x16.sub_saturate_s
|
|
i32.const -128
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 99
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i32.const 2
|
|
i8x16.splat
|
|
i8x16.sub_saturate_u
|
|
i32.const 0
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 105
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i8x16.splat
|
|
i32.const 1
|
|
i8x16.shl
|
|
i32.const 2
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 111
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -2
|
|
i8x16.splat
|
|
i32.const 1
|
|
i8x16.shr_s
|
|
i32.const -1
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 112
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -1
|
|
i8x16.splat
|
|
i32.const 1
|
|
i8x16.shr_u
|
|
i32.const 127
|
|
i8x16.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 113
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i8x16.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 114
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i8x16.splat
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 115
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 0
|
|
i8x16.splat
|
|
i32.const 1
|
|
i8x16.replace_lane 0
|
|
local.set $3
|
|
i32.const 0
|
|
i8x16.splat
|
|
i32.const -1
|
|
i8x16.replace_lane 0
|
|
local.set $4
|
|
local.get $4
|
|
local.set $5
|
|
local.get $4
|
|
v128.not
|
|
local.set $6
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.eq
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 120
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.ne
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 121
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.lt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 122
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i8x16.lt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 123
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i8x16.le_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 124
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.le_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 125
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i8x16.gt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 126
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.gt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 127
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i8x16.ge_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 128
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i8x16.ge_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 129
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_i16x8 (; 4 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
(local $3 v128)
|
|
(local $4 v128)
|
|
(local $5 v128)
|
|
(local $6 v128)
|
|
v128.const i32 0x00020001 0x00040003 0x00060005 0x7fff0007
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x00020001 0x00040003 0x00060005 0x7fff0007
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 134
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i16x8.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x00010001 0x00010001 0x00010001 0x00010001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 136
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
i16x8.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x00030002 0x00050004 0x00070006 0x80000008
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 138
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i16x8.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 139
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i16x8.mul
|
|
local.get $2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 140
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
i16x8.neg
|
|
v128.const i32 0xfffeffff 0xfffcfffd 0xfffafffb 0x8001fff9
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 141
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i16x8.extract_lane_s 0
|
|
i32.const 16
|
|
i32.shl
|
|
i32.const 16
|
|
i32.shr_s
|
|
i32.const 2
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 146
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i16x8.extract_lane_s 7
|
|
i32.const 16
|
|
i32.shl
|
|
i32.const 16
|
|
i32.shr_s
|
|
i32.const -32768
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 147
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i16x8.extract_lane_u 7
|
|
i32.const 65535
|
|
i32.and
|
|
i32.const 32768
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 148
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i32.const 9
|
|
i16x8.replace_lane 7
|
|
v128.const i32 0x00030002 0x00050004 0x00070006 0x00090008
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 149
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x00020001 0x00040003 0x00010001 0x00010001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 154
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x7fff7ffe 0x7fff7fff 0x7fff7fff 0x7fff7fff
|
|
i32.const 2
|
|
i16x8.splat
|
|
i16x8.add_saturate_s
|
|
i32.const 32767
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 159
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0xfffffffe 0xffffffff 0xffffffff 0xffffffff
|
|
i32.const 2
|
|
i16x8.splat
|
|
i16x8.add_saturate_u
|
|
i32.const -1
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 165
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x80008001 0x80008000 0x80008000 0x80008000
|
|
i32.const 2
|
|
i16x8.splat
|
|
i16x8.sub_saturate_s
|
|
i32.const -32768
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 171
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i32.const 2
|
|
i16x8.splat
|
|
i16x8.sub_saturate_u
|
|
i32.const 0
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 177
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i16x8.splat
|
|
i32.const 1
|
|
i16x8.shl
|
|
i32.const 2
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 183
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -2
|
|
i16x8.splat
|
|
i32.const 1
|
|
i16x8.shr_s
|
|
i32.const -1
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 184
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -1
|
|
i16x8.splat
|
|
i32.const 1
|
|
i16x8.shr_u
|
|
i32.const 32767
|
|
i16x8.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 185
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i16x8.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 186
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i16x8.splat
|
|
i16x8.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 187
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 0
|
|
i16x8.splat
|
|
i32.const 1
|
|
i16x8.replace_lane 0
|
|
local.set $3
|
|
i32.const 0
|
|
i16x8.splat
|
|
i32.const -1
|
|
i16x8.replace_lane 0
|
|
local.set $4
|
|
local.get $4
|
|
local.set $5
|
|
local.get $4
|
|
v128.not
|
|
local.set $6
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.eq
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 192
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.ne
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 193
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.lt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 194
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i16x8.lt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 195
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i16x8.le_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 196
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.le_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 197
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i16x8.gt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 198
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.gt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 199
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i16x8.ge_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 200
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i16x8.ge_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 201
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_i32x4 (; 5 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
(local $3 v128)
|
|
(local $4 v128)
|
|
(local $5 v128)
|
|
(local $6 v128)
|
|
v128.const i32 0x00000001 0x00000002 0x00000003 0x7fffffff
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x00000001 0x00000002 0x00000003 0x7fffffff
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 206
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i32x4.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x00000001 0x00000001 0x00000001 0x00000001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 208
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
i32x4.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x00000002 0x00000003 0x00000004 0x80000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 210
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i32x4.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 211
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i32x4.mul
|
|
local.get $2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 212
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
i32x4.neg
|
|
v128.const i32 0xffffffff 0xfffffffe 0xfffffffd 0x80000001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 213
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i32x4.extract_lane 0
|
|
i32.const 2
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 218
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i32x4.extract_lane 3
|
|
i32.const -2147483648
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 219
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i32.const 5
|
|
i32x4.replace_lane 3
|
|
v128.const i32 0x00000002 0x00000003 0x00000004 0x00000005
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 220
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x00000001 0x00000002 0x00000001 0x00000001
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 225
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i32x4.splat
|
|
i32.const 1
|
|
i32x4.shl
|
|
i32.const 2
|
|
i32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 230
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -2
|
|
i32x4.splat
|
|
i32.const 1
|
|
i32x4.shr_s
|
|
i32.const -1
|
|
i32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 231
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -1
|
|
i32x4.splat
|
|
i32.const 1
|
|
i32x4.shr_u
|
|
i32.const 2147483647
|
|
i32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 232
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i32x4.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 233
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 1
|
|
i32x4.splat
|
|
i32x4.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 234
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const 0
|
|
i32x4.splat
|
|
i32.const 1
|
|
i32x4.replace_lane 0
|
|
local.set $3
|
|
i32.const 0
|
|
i32x4.splat
|
|
i32.const -1
|
|
i32x4.replace_lane 0
|
|
local.set $4
|
|
local.get $4
|
|
local.set $5
|
|
local.get $4
|
|
v128.not
|
|
local.set $6
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.eq
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 239
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.ne
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 240
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.lt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 241
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i32x4.lt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 242
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i32x4.le_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 243
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.le_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 244
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i32x4.gt_s
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 245
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.gt_u
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 246
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $3
|
|
i32x4.ge_s
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 247
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $4
|
|
i32x4.ge_u
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 248
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f32.const -1.5
|
|
f32x4.splat
|
|
i32x4.trunc_sat_f32x4_s
|
|
i32.const -1
|
|
i32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 249
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f32.const -1.5
|
|
f32x4.splat
|
|
i32x4.trunc_sat_f32x4_u
|
|
i32.const 0
|
|
i32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 254
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_i64x2 (; 6 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
v128.const i32 0x00000001 0x00000000 0xffffffff 0x7fffffff
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x00000001 0x00000000 0xffffffff 0x7fffffff
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 263
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const 1
|
|
i64x2.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x00000001 0x00000000 0x00000001 0x00000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 265
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
i64x2.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x00000002 0x00000000 0x00000000 0x80000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 267
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
i64x2.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 268
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
i64x2.neg
|
|
v128.const i32 0xffffffff 0xffffffff 0x00000001 0x80000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 269
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i64x2.extract_lane 0
|
|
i64.const 2
|
|
i64.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 274
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i64x2.extract_lane 1
|
|
i64.const -9223372036854775808
|
|
i64.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 275
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
i64.const 3
|
|
i64x2.replace_lane 1
|
|
v128.const i32 0x00000002 0x00000000 0x00000003 0x00000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 276
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x00000001 0x00000000 0x00000001 0x00000000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 281
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const 1
|
|
i64x2.splat
|
|
i32.const 1
|
|
i64x2.shl
|
|
i64.const 2
|
|
i64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 286
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const -2
|
|
i64x2.splat
|
|
i32.const 1
|
|
i64x2.shr_s
|
|
i64.const -1
|
|
i64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 287
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const -1
|
|
i64x2.splat
|
|
i32.const 1
|
|
i64x2.shr_u
|
|
i64.const 9223372036854775807
|
|
i64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 288
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000001 0x00000000 0x00000000 0x00000000
|
|
i64x2.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 289
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const 1
|
|
i64x2.splat
|
|
i64x2.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.const 1
|
|
i32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 290
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f64.const -1.5
|
|
f64x2.splat
|
|
i64x2.trunc_sat_f64x2_s
|
|
i64.const -1
|
|
i64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 291
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f64.const -1.5
|
|
f64x2.splat
|
|
i64x2.trunc_sat_f64x2_u
|
|
i64.const 0
|
|
i64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 296
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_f32x4 (; 7 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
(local $3 v128)
|
|
(local $4 v128)
|
|
(local $5 v128)
|
|
(local $6 v128)
|
|
(local $7 v128)
|
|
v128.const i32 0x3fc00000 0x40200000 0x40600000 0x40900000
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x3fc00000 0x40200000 0x40600000 0x40900000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 305
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f32.const 1
|
|
f32x4.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x3f800000 0x3f800000 0x3f800000 0x3f800000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 307
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
f32x4.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x40200000 0x40600000 0x40900000 0x40b00000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 309
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
f32x4.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 310
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
f32x4.mul
|
|
local.get $2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 311
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $0
|
|
f32x4.mul
|
|
local.set $3
|
|
local.get $3
|
|
local.get $0
|
|
f32x4.div
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 313
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $0
|
|
f32x4.mul
|
|
local.get $0
|
|
i8x16.ne
|
|
i8x16.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 314
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
f32x4.neg
|
|
v128.const i32 0xbfc00000 0xc0200000 0xc0600000 0xc0900000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 315
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f32x4.extract_lane 0
|
|
f32.const 2.5
|
|
f32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 316
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f32x4.extract_lane 3
|
|
f32.const 5.5
|
|
f32.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 317
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f32.const 6.5
|
|
f32x4.replace_lane 3
|
|
v128.const i32 0x40200000 0x40600000 0x40900000 0x40d00000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 318
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x3fc00000 0x40200000 0x3f800000 0x3f800000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 323
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f32.const 0
|
|
f32x4.splat
|
|
f32.const 1
|
|
f32x4.replace_lane 0
|
|
local.set $4
|
|
f32.const 0
|
|
f32x4.splat
|
|
f32.const -1
|
|
f32x4.replace_lane 0
|
|
local.set $5
|
|
v128.const i32 0xffffffff 0x00000000 0x00000000 0x00000000
|
|
local.set $6
|
|
v128.const i32 0x00000000 0xffffffff 0xffffffff 0xffffffff
|
|
local.set $7
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.eq
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 332
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.ne
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 333
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.lt
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 334
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $5
|
|
f32x4.le
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 335
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $5
|
|
f32x4.gt
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 336
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.ge
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 337
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.min
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 338
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f32x4.max
|
|
local.get $4
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 339
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
f32x4.abs
|
|
local.get $4
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 340
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x40800000 0x41100000 0x41800000 0x41c80000
|
|
f32x4.sqrt
|
|
v128.const i32 0x40000000 0x40400000 0x40800000 0x40a00000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 341
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -1
|
|
i32x4.splat
|
|
f32x4.convert_i32x4_s
|
|
f32.const -1
|
|
f32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 342
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i32.const -1
|
|
i32x4.splat
|
|
f32x4.convert_i32x4_u
|
|
f32.const 4294967296
|
|
f32x4.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 347
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_f64x2 (; 8 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
(local $2 v128)
|
|
(local $3 v128)
|
|
(local $4 v128)
|
|
(local $5 v128)
|
|
(local $6 v128)
|
|
(local $7 v128)
|
|
v128.const i32 0x00000000 0x3ff80000 0x00000000 0x40040000
|
|
local.set $0
|
|
local.get $0
|
|
v128.const i32 0x00000000 0x3ff80000 0x00000000 0x40040000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 356
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f64.const 1
|
|
f64x2.splat
|
|
local.set $1
|
|
local.get $1
|
|
v128.const i32 0x00000000 0x3ff00000 0x00000000 0x3ff00000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 358
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
f64x2.add
|
|
local.set $2
|
|
local.get $2
|
|
v128.const i32 0x00000000 0x40040000 0x00000000 0x400c0000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 360
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
f64x2.sub
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 361
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
local.get $1
|
|
f64x2.mul
|
|
local.get $2
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 362
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $0
|
|
f64x2.mul
|
|
local.set $3
|
|
local.get $3
|
|
local.get $0
|
|
f64x2.div
|
|
local.get $0
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 364
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $3
|
|
local.get $0
|
|
f64x2.mul
|
|
local.get $0
|
|
i8x16.ne
|
|
i8x16.any_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 365
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
f64x2.neg
|
|
v128.const i32 0x00000000 0xbff80000 0x00000000 0xc0040000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 366
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f64x2.extract_lane 0
|
|
f64.const 2.5
|
|
f64.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 367
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f64x2.extract_lane 1
|
|
f64.const 3.5
|
|
f64.eq
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 368
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $2
|
|
f64.const 4.5
|
|
f64x2.replace_lane 1
|
|
v128.const i32 0x00000000 0x40040000 0x00000000 0x40120000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 369
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 1 2 3 4 5 6 7 24 25 26 27 28 29 30 31
|
|
v128.const i32 0x00000000 0x3ff80000 0x00000000 0x3ff00000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 374
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
f64.const 0
|
|
f64x2.splat
|
|
f64.const 1
|
|
f64x2.replace_lane 0
|
|
local.set $4
|
|
f64.const 0
|
|
f64x2.splat
|
|
f64.const -1
|
|
f64x2.replace_lane 0
|
|
local.set $5
|
|
v128.const i32 0xffffffff 0xffffffff 0x00000000 0x00000000
|
|
local.set $6
|
|
v128.const i32 0x00000000 0x00000000 0xffffffff 0xffffffff
|
|
local.set $7
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.eq
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 383
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.ne
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 384
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.lt
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 385
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $5
|
|
f64x2.le
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 386
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $4
|
|
local.get $5
|
|
f64x2.gt
|
|
local.get $6
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 387
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.ge
|
|
local.get $7
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 388
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.min
|
|
local.get $5
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 389
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
local.get $4
|
|
f64x2.max
|
|
local.get $4
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 390
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
local.get $5
|
|
f64x2.abs
|
|
local.get $4
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 391
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
v128.const i32 0x00000000 0x40100000 0x00000000 0x40220000
|
|
f64x2.sqrt
|
|
v128.const i32 0x00000000 0x40000000 0x00000000 0x40080000
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 392
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const -1
|
|
i64x2.splat
|
|
f64x2.convert_i64x2_s
|
|
f64.const -1
|
|
f64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 393
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
i64.const -1
|
|
i64x2.splat
|
|
f64x2.convert_i64x2_u
|
|
f64.const 18446744073709551615
|
|
f64x2.splat
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 398
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $simd/test_v8x16 (; 9 ;) (type $FUNCSIG$v)
|
|
(local $0 v128)
|
|
(local $1 v128)
|
|
v128.const i32 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c
|
|
local.set $0
|
|
v128.const i32 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c
|
|
local.set $1
|
|
local.get $0
|
|
local.get $1
|
|
v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
|
|
v128.const i32 0x13021100 0x17061504 0x1b0a1908 0x1f0e1d0c
|
|
i8x16.eq
|
|
i8x16.all_true
|
|
i32.const 0
|
|
i32.ne
|
|
i32.eqz
|
|
if
|
|
i32.const 0
|
|
i32.const 8
|
|
i32.const 408
|
|
i32.const 2
|
|
call $~lib/env/abort
|
|
unreachable
|
|
end
|
|
)
|
|
(func $start:simd (; 10 ;) (type $FUNCSIG$v)
|
|
call $start:~lib/allocator/arena
|
|
block
|
|
call $simd/test_v128
|
|
call $simd/test_i8x16
|
|
call $simd/test_i16x8
|
|
call $simd/test_i32x4
|
|
call $simd/test_i64x2
|
|
call $simd/test_f32x4
|
|
call $simd/test_f64x2
|
|
call $simd/test_v8x16
|
|
end
|
|
)
|
|
(func $start (; 11 ;) (type $FUNCSIG$v)
|
|
call $start:simd
|
|
)
|
|
(func $null (; 12 ;) (type $FUNCSIG$v)
|
|
)
|
|
)
|