v8/test/wasm-spec-tests/wasm-spec-tests.status
Ng Zhi An 1d2726dd0b [wasm-simd] Stage SIMD
SIMD has been pretty stable for a while now, we are not expecting big
changes (like opcode renumbers), there might be new instructions added,
and they will all be backwards-compatible.

The reference interpreter in the SIMD proposal is now capable of
generating JS files for all test cases, so we can now run them.

There is a bit of tweaking necessary, since SIMD tests are in
tests/core/simd subfolder in the spec, so we need to change the glob
into a find that will traverse into subdirectory.

Bug: v8:10835
Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69793}
2020-09-09 22:50:14 +00:00

159 lines
6.4 KiB
Plaintext

# 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]],
# TODO(wasm) Investigate failing spec tests after update.
'binary': [FAIL],
'proposals/js-types/binary-leb128': [FAIL],
'proposals/bulk-memory-operations/binary': [FAIL],
'proposals/bulk-memory-operations/binary-leb128': [FAIL],
# TODO(v8:9144): The MVP behavior when bounds-checking segments changed in
# the bulk-memory proposal. Since we've enabled bulk-memory by default, we
# need to update to use its testsuite.
'linking': [FAIL],
'binary-leb128': [FAIL],
'elem': [FAIL],
'data': [FAIL],
# TODO(wasm): Roll newest tests into "js-types" repository.
'proposals/js-types/exports': [FAIL],
'proposals/js-types/globals': [FAIL],
'proposals/js-types/linking': [FAIL],
# TODO(wasm): Roll newest tests into "tail-call" repository.
'proposals/tail-call/data': [FAIL],
'proposals/tail-call/elem': [FAIL],
'proposals/tail-call/exports': [FAIL],
'proposals/tail-call/func': [FAIL],
'proposals/tail-call/globals': [FAIL],
'proposals/tail-call/imports': [FAIL],
'proposals/tail-call/linking': [FAIL],
'proposals/tail-call/type': [FAIL],
# This test requires the reftypes flag to be disabled.
'proposals/bulk-memory-operations/imports': [FAIL],
# SIMD test cases
# Scalar lowering is incomplete, we skip these and selectively enable as
# we finish the implementation, see v8:10507.
'proposals/simd/simd_bit_shift' : [PASS, FAIL],
'proposals/simd/simd_boolean' : [PASS, FAIL],
'proposals/simd/simd_const' : [PASS, FAIL],
'proposals/simd/simd_conversions' : [PASS, FAIL],
'proposals/simd/simd_f32x4': [PASS, FAIL],
'proposals/simd/simd_f32x4_arith': [PASS, FAIL],
'proposals/simd/simd_f64x2': [PASS, FAIL],
'proposals/simd/simd_f64x2_arith' : [PASS, FAIL],
'proposals/simd/simd_f64x2_cmp' : [PASS, FAIL],
'proposals/simd/simd_i16x8_arith' : [PASS, FAIL],
'proposals/simd/simd_i16x8_arith2' : [PASS, FAIL],
'proposals/simd/simd_i16x8_cmp' : [PASS, FAIL],
'proposals/simd/simd_i16x8_sat_arith' : [PASS, FAIL],
'proposals/simd/simd_i64x2_arith' : [PASS, FAIL],
'proposals/simd/simd_i8x16_arith' : [PASS, FAIL],
'proposals/simd/simd_i8x16_arith2' : [PASS, FAIL],
'proposals/simd/simd_i8x16_cmp' : [PASS, FAIL],
'proposals/simd/simd_i8x16_sat_arith' : [PASS, FAIL],
'proposals/simd/simd_lane' : [PASS, FAIL],
'proposals/simd/simd_load' : [PASS, FAIL],
'proposals/simd/simd_load_extend' : [PASS, FAIL],
'proposals/simd/simd_load_splat' : [PASS, FAIL],
'proposals/simd/simd_splat' : [PASS, FAIL],
}], # ALWAYS
['arch == mipsel or arch == mips64el or arch == mips 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 == mipsel or arch == mips64el or arch == mips or arch == mips64'
['(arch == mipsel or arch == mips64el or arch == mips 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 == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simulator_run'
['(arch == mipsel or arch == mips64el) 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 == mipsel or arch == mips64el) and simulator_run'
['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'
##############################################################################
['lite_mode or variant == jitless', {
# TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
'*': [SKIP],
}], # lite_mode or variant == jitless
################################################################################
['variant == stress_snapshot', {
'*': [SKIP], # only relevant for mjsunit tests.
}],
]