#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "src/base/bits.h"
#include "src/base/overflowing-math.h"
#include "src/base/safe_conversions.h"
#include "src/codegen/assembler-inl.h"
#include "src/objects/objects-inl.h"
#include "test/cctest/cctest.h"
#include "test/cctest/wasm/wasm-run-utils.h"
#include "test/common/value-helper.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_64 {
WASM_EXEC_TEST(I64Const) { … }
WASM_EXEC_TEST(I64Const_many) { … }
WASM_EXEC_TEST(Return_I64) { … }
WASM_EXEC_TEST(I64Add) { … }
const int64_t kHasBit33On = …;
WASM_EXEC_TEST(Regress5800_Add) { … }
WASM_EXEC_TEST(I64Sub) { … }
WASM_EXEC_TEST(Regress5800_Sub) { … }
WASM_EXEC_TEST(I64AddUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64SubUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64MulUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64ShlUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64ShrUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64SarUseOnlyLowWord) { … }
WASM_EXEC_TEST(I64DivS) { … }
WASM_EXEC_TEST(I64DivS_Trap) { … }
WASM_EXEC_TEST(I64DivS_Byzero_Const) { … }
WASM_EXEC_TEST(I64DivU) { … }
WASM_EXEC_TEST(I64DivU_Trap) { … }
WASM_EXEC_TEST(I64DivU_Byzero_Const) { … }
WASM_EXEC_TEST(I64RemS) { … }
WASM_EXEC_TEST(I64RemS_Trap) { … }
WASM_EXEC_TEST(I64RemU) { … }
WASM_EXEC_TEST(I64RemU_Trap) { … }
WASM_EXEC_TEST(I64And) { … }
WASM_EXEC_TEST(I64Ior) { … }
WASM_EXEC_TEST(I64Xor) { … }
WASM_EXEC_TEST(I64Shl) { … }
WASM_EXEC_TEST(I64ShrU) { … }
WASM_EXEC_TEST(I64ShrS) { … }
WASM_EXEC_TEST(I64Eq) { … }
WASM_EXEC_TEST(I64Ne) { … }
WASM_EXEC_TEST(I64LtS) { … }
WASM_EXEC_TEST(I64LeS) { … }
WASM_EXEC_TEST(I64LtU) { … }
WASM_EXEC_TEST(I64LeU) { … }
WASM_EXEC_TEST(I64GtS) { … }
WASM_EXEC_TEST(I64GeS) { … }
WASM_EXEC_TEST(I64GtU) { … }
WASM_EXEC_TEST(I64GeU) { … }
WASM_EXEC_TEST(I32ConvertI64) { … }
WASM_EXEC_TEST(I64SConvertI32) { … }
WASM_EXEC_TEST(I64UConvertI32) { … }
WASM_EXEC_TEST(I64Popcnt) { … }
WASM_EXEC_TEST(F32SConvertI64) { … }
WASM_EXEC_TEST(F32UConvertI64) { … }
WASM_EXEC_TEST(F64SConvertI64) { … }
WASM_EXEC_TEST(F64UConvertI64) { … }
WASM_EXEC_TEST(I64SConvertF32) { … }
WASM_EXEC_TEST(I64SConvertSatF32) { … }
WASM_EXEC_TEST(I64SConvertF64) { … }
WASM_EXEC_TEST(I64SConvertSatF64) { … }
WASM_EXEC_TEST(I64UConvertF32) { … }
WASM_EXEC_TEST(I64UConvertSatF32) { … }
WASM_EXEC_TEST(I64UConvertF64) { … }
WASM_EXEC_TEST(I64UConvertSatF64) { … }
WASM_EXEC_TEST(CallI64Parameter) { … }
WASM_EXEC_TEST(CallI64Return) { … }
void TestI64Binop(TestExecutionTier execution_tier, WasmOpcode opcode,
int64_t expected, int64_t a, int64_t b) { … }
void TestI64Cmp(TestExecutionTier execution_tier, WasmOpcode opcode,
int64_t expected, int64_t a, int64_t b) { … }
WASM_EXEC_TEST(I64Binops) { … }
WASM_EXEC_TEST(I64Compare) { … }
WASM_EXEC_TEST(I64Clz) { … }
WASM_EXEC_TEST(I64Ctz) { … }
WASM_EXEC_TEST(I64Popcnt2) { … }
WASM_EXEC_TEST(I64WasmRunner) { … }
WASM_EXEC_TEST(Call_Int64Sub) { … }
WASM_EXEC_TEST(LoadStoreI64_sx) { … }
WASM_EXEC_TEST(I64ReinterpretF64) { … }
WASM_EXEC_TEST(SignallingNanSurvivesI64ReinterpretF64) { … }
WASM_EXEC_TEST(F64ReinterpretI64) { … }
WASM_EXEC_TEST(LoadMemI64) { … }
WASM_EXEC_TEST(LoadMemI64_alignment) { … }
WASM_EXEC_TEST(MemI64_Sum) { … }
WASM_EXEC_TEST(StoreMemI64_alignment) { … }
WASM_EXEC_TEST(I64Global) { … }
WASM_EXEC_TEST(I64Eqz) { … }
WASM_EXEC_TEST(I64Ror) { … }
WASM_EXEC_TEST(I64Rol) { … }
WASM_EXEC_TEST(StoreMem_offset_oob_i64) { … }
WASM_EXEC_TEST(Store_i64_narrowed) { … }
WASM_EXEC_TEST(UnalignedInt64Load) { … }
WASM_EXEC_TEST(UnalignedInt64Store) { … }
static void CompileCallIndirectMany(TestExecutionTier tier, ValueType param) { … }
WASM_EXEC_TEST(Compile_Wasm_CallIndirect_Many_i64) { … }
static void Run_WasmMixedCall_N(TestExecutionTier execution_tier, int start) { … }
WASM_EXEC_TEST(MixedCall_i64_0) { … }
WASM_EXEC_TEST(MixedCall_i64_1) { … }
WASM_EXEC_TEST(MixedCall_i64_2) { … }
WASM_EXEC_TEST(MixedCall_i64_3) { … }
WASM_EXEC_TEST(Regress5874) { … }
WASM_EXEC_TEST(Regression_6858) { … }
}
}
}
}