// Copyright 2020 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. // // This file contains tests that run only on Liftoff, and each test verifies // that the code was compiled by Liftoff. The default behavior is that each // function is first attempted to be compiled by Liftoff, and if it fails, fall // back to TurboFan. However we want to enforce that Liftoff is the tier that // compiles these functions, in order to verify correctness of SIMD // implementation in Liftoff. #include "src/codegen/assembler-inl.h" #include "src/wasm/wasm-opcodes.h" #include "test/cctest/cctest.h" #include "test/cctest/wasm/wasm-run-utils.h" #include "test/common/wasm/test-signatures.h" #include "test/common/wasm/wasm-macro-gen.h" namespace v8 { namespace internal { namespace wasm { namespace test_run_wasm_simd_liftoff { TEST(S128Local) { … } TEST(S128Global) { … } TEST(S128Param) { … } TEST(S128Return) { … } TEST(REGRESS_1088273) { … } // A test to exercise logic in Liftoff's implementation of shuffle. The // implementation in Liftoff is a bit more tricky due to shuffle requiring // adjacent registers in ARM/ARM64. TEST(I8x16Shuffle) { … } // Exercise logic in Liftoff's implementation of shuffle when inputs to the // shuffle are the same register. TEST(I8x16Shuffle_SingleOperand) { … } // Exercise Liftoff's logic for zero-initializing stack slots. We were using an // incorrect instruction for storing zeroes into the slot when the slot offset // was too large to fit in the instruction as an immediate. TEST(FillStackSlotsWithZero_CheckStartOffset) { … } } // namespace test_run_wasm_simd_liftoff } // namespace wasm } // namespace internal } // namespace v8