summaryrefslogtreecommitdiff
path: root/deps/v8/test/wasm-spec-tests/wasm-spec-tests.status
blob: 9a7e12bd33347c96d09bd955e81b9902c08c58a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# Copyright 2016 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

[
[ALWAYS, {
  'skip-stack-guard-page': [PASS, ['((arch == ppc or arch == ppc64 or arch == s390 or arch == s390x) and simulator_run)', SKIP]],
  # Missing rebase in the proposal repository.
  'proposals/js-types/table': [FAIL],
  # "data" is supposed to fail for "data segment does not fit"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/data': [FAIL],
  # "elem" is supposed to fail for "elements segment does not fit"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/elem': [FAIL],
  # "imports" is supposed to fail for "multiple tables"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/imports': [FAIL],
  # "linking" is supposed to fail for "elements segment does not fit"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/linking': [FAIL],
  # "table" is supposed to fail for "multiple tables"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/table': [FAIL],
  # "unreached-invalid" is supposed to fail for "type mismatch"; missing rebase on
  # https://github.com/WebAssembly/spec/commit/7fa2f20a.
  'proposals/memory64/unreached-invalid': [FAIL],

  # TODO(wasm): Roll newest tests into "js-types" repository.
  'proposals/js-types/globals': [FAIL],

  # Tests that need to run sequentially (e.g. due to memory consumption).
  'simd_f32x4*': [PASS, HEAVY],
  'simd_f64x2*': [PASS, HEAVY],
  'f32*': [PASS, HEAVY],
  'f64*': [PASS, HEAVY],
}],  # ALWAYS

['arch == arm and not simulator_run', {
  # See https://crbug.com/v8/10938 denormals not handled correctly on ARM.
  'simd_f32x4': [PASS, FAIL],
  'simd_f32x4_arith': [PASS, FAIL],
  'simd_f32x4_cmp': [PASS, FAIL],
  # This test only has 1 problematic use of f32x4.min and f32x4.div, consider
  # removing it from upstream, then we can run this test.
  'simd_splat' : [PASS, FAIL],
  'simd_f32x4_pmin_pmax' : [PASS, FAIL],
}],  # arch == arm and not simulator_run

['arch == mips64el or arch == mips64', {
  # These tests fail because mips does not support the correct NaN bit patterns.
  'float_misc': [SKIP],
  'float_exprs': [SKIP],
  'f32': [SKIP],
  'f64': [SKIP],
  'f32_bitwise': [SKIP],
  'f64_bitwise': [SKIP],
  'proposals/reference-types/conversions':  [SKIP],
  'proposals/bulk-memory-operations/conversions': [SKIP],
  'proposals/js-types/f32': [SKIP],
  'proposals/js-types/f64': [SKIP],
  'proposals/js-types/f32_bitwise': [SKIP],
  'proposals/js-types/f64_bitwise': [SKIP],
  'proposals/js-types/float_exprs': [SKIP],
  'proposals/js-types/float_misc': [SKIP],
  'proposals/js-types/conversions': [SKIP],
  'proposals/bulk-memory-operations/f32': [SKIP],
  'proposals/bulk-memory-operations/f64': [SKIP],
  'proposals/reference-types/f32': [SKIP],
  'proposals/reference-types/f64': [SKIP],
  'proposals/bulk-memory-operations/float_misc': [SKIP],
  'proposals/reference-types/float_misc': [SKIP],
  'proposals/tail-call/f32': [SKIP],
  'proposals/tail-call/f32_bitwise': [SKIP],
  'proposals/tail-call/f64': [SKIP],
  'proposals/tail-call/f64_bitwise': [SKIP],
  'proposals/tail-call/float_exprs': [SKIP],
  'proposals/tail-call/float_misc': [SKIP],
  'proposals/tail-call/conversions': [SKIP],
}],  # 'arch == mips64el or arch == mips64'

['(arch == mips64el or arch == mips64) and not simulator_run', {
  # This test fail because mips does not support the correct NaN bit patterns.
  # But it doesn't fail in simulator.
  'conversions': [SKIP],
}],  # '(arch == mips64el or arch == mips64) and not simulator_run'

['(arch == mips64el or arch == loong64) and simulator_run', {
  # These tests need larger stack size on simulator.
  'skip-stack-guard-page': '--sim-stack-size=8192',
  'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192',
}],  # '(arch == mips64el or arch == loong64) and simulator_run'

['arch == riscv64', {
   # These tests need larger stack size on simulator.
   'skip-stack-guard-page': '--sim-stack-size=8192',
   'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192',
}],  # 'arch == riscv64'



['arch == riscv32', {
   # These tests need larger stack size on simulator.
   'skip-stack-guard-page': '--sim-stack-size=8192',
   'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192',

   # SIMD is not fully implemented yet.
   'simd*': [SKIP],

   'func': ['variant == stress', SKIP],
}],  # 'arch == riscv32'

['arch == ppc or arch == ppc64', {
  # These tests fail because ppc float min and max doesn't convert sNaN to qNaN.
  'f32': [SKIP],
  'f64': [SKIP],
  'proposals/js-types/f32': [SKIP],
  'proposals/js-types/f64': [SKIP],
  'proposals/bulk-memory-operations/f32': [SKIP],
  'proposals/bulk-memory-operations/f64': [SKIP],
  'proposals/reference-types/f32': [SKIP],
  'proposals/reference-types/f64': [SKIP],
  'proposals/tail-call/f32': [SKIP],
  'proposals/tail-call/f64': [SKIP],
  # This test fails because ppc float to double doesn't convert sNaN to qNaN.
  'conversions': [SKIP],
  'proposals/js-types/conversions': [SKIP],
  'proposals/bulk-memory-operations/conversions': [SKIP],
  'proposals/reference-types/conversions':  [SKIP],
  'proposals/tail-call/conversions':  [SKIP],
}],  # 'arch == ppc or arch == ppc64'

['arch == s390 or arch == s390x', {
  # These tests fail because s390 float min and max doesn't convert sNaN to qNaN.
  'f32': [SKIP],
  'f64': [SKIP],
  'proposals/js-types/f32': [SKIP],
  'proposals/js-types/f64': [SKIP],
  'proposals/bulk-memory-operations/f32': [SKIP],
  'proposals/bulk-memory-operations/f64': [SKIP],
  'proposals/reference-types/f32': [SKIP],
  'proposals/reference-types/f64': [SKIP],
  'proposals/tail-call/f32': [SKIP],
  'proposals/tail-call/f64': [SKIP],
}],  # 'arch == s390 or arch == s390x'

##############################################################################
# TODO(v8:7777): Change this once wasm is supported in jitless mode.
['not has_webassembly or variant == jitless', {
  '*': [SKIP],
}],  # not has_webassembly or variant == jitless

################################################################################
['variant == stress_snapshot', {
  '*': [SKIP],  # only relevant for mjsunit tests.
}],  # variant == stress_snapshot

##############################################################################
['no_simd_hardware == True', {
  'linking': [SKIP],
  'simd*': [SKIP],
  'proposals/tail-call/simd_lane': [SKIP],
  'proposals/js-types/linking': [SKIP],
}],  # no_simd_hardware == True

##############################################################################
['variant == stress', {
  # Spec tests are executing long enough even without stress mode.
  # As stress mode is unlikely to flush out bugs, skip the tests there.
  '*': [SKIP],
}],  # variant == stress

##############################################################################
# Skip tests that require a large amount of virtual address space (inside the
# sandbox if that is enabled) if tsan is enabled.
['tsan == True', {
  'memory_copy': [SKIP],
}],  # tsan == True

]