Added some unit test for get_cpu_features_used

This commit is contained in:
ptitSeb
2022-11-24 11:43:06 +01:00
parent 8d19394a3a
commit cee68baee8

View File

@ -329,4 +329,17 @@ mod tests {
error => panic!("Unexpected error: {:?}", error),
};
}
#[test]
fn errors_for_unsuported_cpufeatures() {
let compiler = SinglepassCompiler::new(Singlepass::default());
let mut features = CpuFeature::AVX | CpuFeature::SSE42 | CpuFeature::LZCNT | CpuFeature::BMI1;
// simple test
assert!(compiler.get_cpu_features_used(&features).is_subset(CpuFeature::AVX | CpuFeature::SSE42 | CpuFeature::LZCNT | CpuFeature::BMI1));
// check that an AVX build don't work on SSE4.2 only host
assert!(!compiler.get_cpu_features_used(&features).is_subset(CpuFeature::SSE42 | CpuFeature::LZCNT | CpuFeature::BMI1));
// check that having a host with AVX512 doesn't change anything
features.insert_all(CpuFeature::AVX512DQ | CpuFeature::AVX512F);
assert!(compiler.get_cpu_features_used(&features).is_subset(CpuFeature::AVX | CpuFeature::SSE42 | CpuFeature::LZCNT | CpuFeature::BMI1));
}
}