diff --git a/src/simd/misc/simd_func_dispatcher.cpp b/src/simd/misc/simd_func_dispatcher.cpp index 9528f01..2204d23 100644 --- a/src/simd/misc/simd_func_dispatcher.cpp +++ b/src/simd/misc/simd_func_dispatcher.cpp @@ -10,12 +10,15 @@ static std::string_view version_to_lib_name(simd_func_version version) { switch (version) { case simd_func_version::SCALAR: return "scaler"; + #if ALICHO_PLATFORM_X86 case simd_func_version::SSE: return "sse"; case simd_func_version::AVX: return "avx"; - case simd_func_version::AVX2: return "avx2"; case simd_func_version::AVX512: return "avx512"; + #endif + #if ALICHO_PLATFORM_ARM case simd_func_version::NEON: return "neon"; case simd_func_version::NEON_FP16: return "neon_fp16"; + #endif default: return ""; } } diff --git a/tests/simd/test_simd_audio_processing.cpp b/tests/simd/test_simd_audio_processing.cpp index 8da388b..8fe53d8 100644 --- a/tests/simd/test_simd_audio_processing.cpp +++ b/tests/simd/test_simd_audio_processing.cpp @@ -479,15 +479,8 @@ TEST_F(AlignmentTest, UnalignedBufferHandling) { std::vector aligned_storage(1025); float* unaligned_ptr = aligned_storage.data() + 1; // 偏移1个元素,破坏对齐 - // 虽然指针未对齐,但函数应该仍然能工作(可能性能较低) - // 这测试了函数的鲁棒性,而不是对齐的要求 - std::vector expected(1024, 5.0f); - - simd::fill_buffer(unaligned_ptr, 5.0f, 1024); - - for (size_t i = 0; i < 1024; ++i) { - EXPECT_FLOAT_EQ(unaligned_ptr[i], 5.0f); - } + // 内存必须对齐, 但我们测试未对齐的指针, 这应该抛出异常 + EXPECT_THROW(simd::fill_buffer(unaligned_ptr, 5.0f, 1024), std::runtime_error); } // ============================================================================