Rust is_x86_feature_detected宏的用法和示例
在Rust中,is_x86_feature_detected
宏用于在运行时检查CPU是否支持特定的指令集;例如,你可以用它来检查CPU是否支持SSE、AVX等指令集;
只能在x86
和x86-64
平台上使用!
is_x86_feature_detected 用法
该宏仅有一个参数,表示要检测指令集的名称(小写),必须为字面量,返回一个布尔值;
fn main(){
println!("sse: {}",is_x86_feature_detected!("sse"));
println!("mmx: {}",is_x86_feature_detected!("mmx"));
}
程序运行效果
sse: true mmx: true
is_x86_feature_detected 支持的参数
- aes
- pclmulqdq
- rdrand
- rdseed
- tsc
- mmx
- sse
- sse2
- sse3
- ssse3
- sse4.1
- sse4.2
- sse4a
- sha
- avx
- avx2
- avx512f
- avx512cd
- avx512er
- avx512pf
- avx512bw
- avx512dq
- avx512vl
- avx512ifma
- avx512vbmi
- avx512vpopcntdq
- avx512vbmi2
- gfni
- vaes
- vpclmulqdq
- avx512vnni
- avx512bitalg
- avx512bf16
- avx512vp2intersect
- f16c
- fma
- bmi1
- bmi2
- abm
- lzcnt
- tbm
- popcnt
- fxsr
- xsave
- xsaveopt
- xsaves
- xsavec
- cmpxchg16b
- adx
- rtm
- movbe
- ermsb