# Compilers
# V8 is a runtime backend, not a wasmer-compiler CompilerConfig, so these
# sys-compiler-specific tests do not apply.
v8 middlewares
v8 metering
v8 deterministic
v8 issues::reports_progress_steps
v8 issues::progress_can_abort
v8 imports::dynamic_function
v8 serialize::test_deserialize

# SIMD
singlepass spec::simd # Singlepass doesn't support yet SIMD (no one asked for this feature)
singlepass relaxed # Singlepass doesn't support relaxed SIMD yet
singlepass wasmer::simd_generated_ext_ops
singlepass wasmer::simd

# Exception handling
singlepass      spec::throw
singlepass      spec::try_table
singlepass      wasmer::exception_handling
windows         spec::throw
windows         spec::try_table
windows         wasmer::exception_handling

# Misc
singlepass wide_arithmetic
v8 wide_arithmetic
singlepass spec::linking
cranelift spec::linking
llvm spec::linking
singlepass spec::threads::imports
cranelift spec::threads::imports
llvm spec::threads::imports


# Tail-call
singlepass return_call
cranelift return_call

# Traps
## Traps. Tracing doesn't work properly in Singlepass
## Unwinding is not properly implemented in Singlepass
# Needs investigation
singlepass+aarch64+macos traps::test_trap_trace
cranelift+aarch64+macos    traps::test_trap_trace
llvm+aarch64    traps::test_trap_trace
llvm+riscv64    traps::test_trap_trace
llvm+loongarch64    traps::test_trap_trace
singlepass+aarch64+macos traps::test_trap_stack_overflow # Need to investigate
singlepass+aarch64+macos traps::trap_display_pretty
llvm       traps::trap_display_pretty
windows    trap_display_pretty
windows    traps::test_trap_trace
cranelift+aarch64+macos    traps::trap_display_pretty
singlepass+aarch64+macos traps::trap_display_multi_module
llvm       traps::trap_display_multi_module
cranelift+aarch64+macos    traps::trap_display_multi_module
windows+singlepass   traps::trap_display_multi_module
singlepass traps::call_signature_mismatch   # Need to investigate, get foo (a[0]:0x33) instead of 0x30 for indirect call
llvm       traps::call_signature_mismatch
macos+aarch64    traps::call_signature_mismatch
singlepass+aarch64+macos traps::start_trap_pretty
llvm       traps::start_trap_pretty
cranelift+aarch64+macos    traps::start_trap_pretty

# LLVM currently doesn't implement stack probing on AArch64, RISC-V.
# https://github.com/wasmerio/wasmer/issues/2808
llvm+aarch64      spec::skip_stack_guard_page
llvm+riscv64      spec::skip_stack_guard_page
llvm+loongarch64  spec::skip_stack_guard_page
# Codegen("trampoline generation produced relocations")
llvm+windows      issues::huge_number_of_arguments_fn

# riscv support is still early, function call ABI needs some work
llvm+riscv64      static_function::llvm
llvm+riscv64      static_function_with_env::llvm
llvm+riscv64      static_function_with_results::llvm
llvm+riscv64      spec::f32::llvm
llvm+riscv64      spec::f64::llvm
llvm+riscv64      spec::float_misc::llvm
llvm+riscv64      spec::memory_copy::llvm
llvm+riscv64      spec::memory_init::llvm
llvm+riscv64      spec::memory_trap::llvm
llvm+riscv64      spec::multi_value::binary::llvm
llvm+riscv64      spec::multi_value::block::llvm
llvm+riscv64      spec::simd::simd_align::llvm
llvm+riscv64      spec::simd::simd_f32x4_rounding::llvm
llvm+riscv64      spec::simd::simd_f64x2_rounding::llvm
llvm+riscv64      wasmer::nan_canonicalization::llvm

#6032
llvm+riscv64      wasmer::stack_overflow_sret::llvm

# riscv support on Cranelift is also very young
cranelift+riscv64 spec::align::cranelift
cranelift+riscv64 spec::memory_copy::cranelift
cranelift+riscv64 spec::memory_trap::cranelift
cranelift+riscv64 spec::r#if::cranelift

# no SIMD on riscv, Cranelift will not handle them
cranelift+riscv64 spec::simd
cranelift+riscv64 relaxed
# 6078
cranelift+riscv64 wasmer::simd_generated_ext_ops
cranelift+riscv64 wasmer::simd

# loongarch64 support is still early, function call ABI needs some work
llvm+loongarch64  static_function::llvm
llvm+loongarch64  static_function_with_env::llvm
llvm+loongarch64  static_function_with_results::llvm
llvm+loongarch64  spec::f32::llvm
llvm+loongarch64  spec::f64::llvm
llvm+loongarch64  spec::float_misc::llvm
llvm+loongarch64  spec::memory_copy::llvm
llvm+loongarch64  spec::memory_init::llvm
llvm+loongarch64  spec::memory_trap::llvm
llvm+loongarch64  spec::multi_value::binary::llvm
llvm+loongarch64  spec::multi_value::block::llvm
llvm+loongarch64  spec::simd::simd_align::llvm
llvm+loongarch64  spec::simd::simd_f32x4_rounding::llvm
llvm+loongarch64  spec::simd::simd_f64x2_rounding::llvm
llvm+loongarch64  wasmer::nan_canonicalization::llvm
llvm+loongarch64  wasmer::stack_overflow_sret::llvm

# #6017 - a crash in the LLVM compiler
llvm+loongarch64  spec::simd::simd_f32x4::llvm
llvm+loongarch64  spec::simd::simd_f64x2::llvm
llvm+loongarch64  spec::simd::simd_load::llvm
llvm+loongarch64  spec::simd::simd_splat::llvm
llvm+loongarch64  spec::simd_f32x4::llvm
llvm+loongarch64  spec::simd_f64x2::llvm
llvm+loongarch64  spec::simd_load::llvm
llvm+loongarch64  spec::simd_splat::llvm


# Windows doesn't overcommit and fails to allocate 4GB of memory
windows wasmer::max_size_of_memory

# Some AARCH64 CPU have issue with segfault writin 64bits on border page, where the 1 32bits might be written.
aarch64+linux spec::align
aarch64+linux spec::memory_trap

spec::instance

# TODO: #5816
cranelift+riscv64 spec::skip_stack_guard_page

# #5943 - multi-value tests
singlepass        multi_value_imports
cranelift         multi_value_imports
llvm+windows      multi_value_imports
llvm+loongarch64  multi_value_imports
llvm+riscv64      multi_value_imports
llvm+windows      static_function_with_results

# V8 ignores
v8                  table64
v8                  wasmer::nan_canonicalization
#6571
v8                  spec::global
v8                  spec::table_grow
