894bf6df72
Narrowing operations need to sign extend the result. E.g. for narrowing uint16 to uint8, we compare uint16 to uint8 max, 0xff. The final result should be 0xffffffff (sign extended) since we try to keep nodes in their sign extended form, to work well with the rest of the lowering operations. With this, we pass the last spec test (that is not ignored), simd_conversions. Bug: v8:10507 Change-Id: I8914fd69db9378b8244cba5dcacff98d36893649 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436613 Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70272}
141 lines
5.6 KiB
Plaintext
141 lines
5.6 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],
|
|
}], # ALWAYS
|
|
|
|
['arch == arm and not simulator_run', {
|
|
# See https://crbug.com/v8/10938 denormals not handled correctly on ARM.
|
|
'proposals/simd/simd_f32x4': [PASS, FAIL],
|
|
'proposals/simd/simd_f32x4_arith': [PASS, FAIL],
|
|
'proposals/simd/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.
|
|
'proposals/simd/simd_splat' : [PASS, FAIL],
|
|
}], # arch == arm and not simulator_run
|
|
|
|
['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.
|
|
}],
|
|
|
|
]
|