26 lines
530 B
C++
26 lines
530 B
C++
#include <gtest/gtest.h>
|
|
#include "cpu_features.h"
|
|
|
|
class simd_test : public ::testing::Test {
|
|
protected:
|
|
void SetUp() override {
|
|
|
|
}
|
|
|
|
virtual void TearDown() override {
|
|
|
|
}
|
|
};
|
|
|
|
TEST_F(simd_test, feature_detection) {
|
|
EXPECT_TRUE(cpu_supports(cpu_feature::SSE));
|
|
EXPECT_TRUE(cpu_supports(cpu_feature::SSE2));
|
|
|
|
// 测试 AVX 和 AVX2 支持
|
|
EXPECT_NO_THROW({
|
|
bool avx_supported = cpu_supports(cpu_feature::AVX);
|
|
bool avx2_supported = cpu_supports(cpu_feature::AVX2);
|
|
});
|
|
cpu_feature_detector::instance().print_info();
|
|
}
|