修复 SIMD 函数版本映射,添加 AVX2 支持并更新测试以验证未对齐指针处理

This commit is contained in:
2025-11-15 13:45:06 +08:00
parent 886b6843e6
commit 31a9ce6d6c
2 changed files with 6 additions and 10 deletions

View File

@@ -479,15 +479,8 @@ TEST_F(AlignmentTest, UnalignedBufferHandling) {
std::vector<float, avx512_aligned_allocator> aligned_storage(1025);
float* unaligned_ptr = aligned_storage.data() + 1; // 偏移1个元素破坏对齐
// 虽然指针未对齐,但函数应该仍然能工作(可能性能较低)
// 这测试了函数的鲁棒性,而不是对齐的要求
std::vector<float> 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);
}
// ============================================================================