1d2726dd0b
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}
159 lines
6.4 KiB
Plaintext
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.
|
|
}],
|
|
|
|
]
|