Skip to content

Commit bac8bd1

Browse files
authored
fuzz: adds regression case for #2198 (#2201)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
1 parent b7df8b1 commit bac8bd1

File tree

3 files changed

+117
-0
lines changed

3 files changed

+117
-0
lines changed

internal/integration_test/fuzzcases/fuzzcases_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,3 +1077,13 @@ func Test2140(t *testing.T) {
10771077
}
10781078
nodiff.RequireNoDiffT(t, getWasmBinary(t, "2140"), true, true)
10791079
}
1080+
1081+
func Test2201(t *testing.T) {
1082+
if !platform.CompilerSupported() {
1083+
return
1084+
}
1085+
if runtime.GOARCH == "amd64" {
1086+
t.Skip("TODO: #2198")
1087+
}
1088+
nodiff.RequireNoDiffT(t, getWasmBinary(t, "2201"), false, false)
1089+
}
Binary file not shown.
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
(module
2+
(type (;0;) (func (param i32 i32 i32)))
3+
(type (;1;) (func (param i32 i32 i32) (result i32)))
4+
(type (;2;) (func (param i32 i32 i32 i32)))
5+
(type (;3;) (func (param i32 i32)))
6+
(type (;4;) (func (param i32)))
7+
(func (;0;) (type 3) (param i32 i32)
8+
(local i32)
9+
i32.const 13
10+
local.set 2
11+
i32.const 1
12+
i64.const 1
13+
i64.store offset=16 align=4
14+
local.get 2
15+
local.get 2
16+
i32.store16 offset=52
17+
local.get 2
18+
call 3
19+
local.get 2
20+
local.get 2
21+
i64.load align=4
22+
i64.store offset=88
23+
i32.const 0
24+
local.get 2
25+
i32.load offset=88
26+
i32.load offset=88
27+
unreachable
28+
)
29+
(func (;1;) (type 2) (param i32 i32 i32 i32)
30+
i32.const 0
31+
i32.const -701700
32+
i32.store offset=8
33+
i32.const 1
34+
i32.const 1
35+
i32.store offset=8
36+
)
37+
(func (;2;) (type 0) (param i32 i32 i32)
38+
(local i32 i32 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 v128 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
39+
v128.const i32x4 0x53525150 0x57565554 0x5b5a5958 0x5f5e5d5c
40+
local.set 10
41+
v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000
42+
local.set 20
43+
i32.const 0
44+
i32.load offset=8
45+
local.set 22
46+
local.get 22
47+
local.set 1
48+
i32.const 0
49+
local.set 28
50+
local.get 1
51+
local.tee 30
52+
local.get 30
53+
local.get 30
54+
local.get 30
55+
call 4
56+
local.set 31
57+
i32.const 0
58+
local.get 19
59+
v128.store align=4
60+
i32.const 1
61+
local.get 18
62+
v128.store align=4
63+
i32.const 0
64+
local.get 17
65+
v128.store align=4
66+
local.get 0
67+
local.get 16
68+
v128.store align=4
69+
i32.const 1
70+
local.get 15
71+
v128.store align=4
72+
i32.const 1
73+
local.get 14
74+
v128.store align=4
75+
i32.const 1
76+
local.get 10
77+
v128.store align=4
78+
i32.const 0
79+
local.get 9
80+
v128.store align=4
81+
i32.const 0
82+
local.get 7
83+
v128.store align=4
84+
drop
85+
)
86+
(func (;3;) (type 4) (param i32)
87+
local.get 0
88+
local.get 0
89+
local.get 0
90+
local.get 0
91+
call 1
92+
i32.const 1
93+
i32.const 1
94+
i32.const 0
95+
call 2
96+
)
97+
(func (;4;) (type 1) (param i32 i32 i32) (result i32)
98+
i32.const 1
99+
i32.const 0
100+
local.get 2
101+
memory.fill
102+
i32.const 1
103+
return
104+
)
105+
(memory (;0;) 19)
106+
(export "" (func 0))
107+
)

0 commit comments

Comments
 (0)