3 unstable releases
Uses new Rust 2024
| 0.3.1 | Sep 24, 2025 |
|---|---|
| 0.3.0 | Sep 23, 2025 |
| 0.1.0 | Sep 21, 2025 |
#2658 in Command line utilities
102 downloads per month
520KB
808 lines
lsx86features: list x86 extension sets used by a compiled binary
This CLI tool is useful for checking whether your compiled binaries make use of certain vector instructions that are not commonly available but your CPU supports. It is essentially a wrapper around the iced-x86 and goblin Rust crates. If you are interested in how specific functions were compiled, you can also list instruction sets for specific symbol names.
For example, suppose that your CPU supports the AVX-512 vector extension set:
$ lscpu | grep ^Flags | tr ' ' '\n' | grep avx512
avx512f
avx512dq
avx512ifma
avx512cd
avx512bw
avx512vl
avx512vbmi
avx512_vbmi2
avx512_vnni
avx512_bitalg
avx512_vpopcntdq
If you want to know whether functions in your hot path use this extension set, you can check and confirm with lsx86features:
| for full binary | by function | |
|---|---|---|
| output as list | ![]() |
![]() |
| output as table | ![]() |
![]() |
| output as JSON | ![]() |
![]() |
Features
| Feature | CLI option |
|---|---|
| List extension sets for each function. | -s or --show-symbol |
| Demangle symbol names for C++, Rust, and Swift. | -d or --show-demangled |
| Structured output as JSON. | -j or --json |
| Filter for extension sets (with wildcard support). | -F or --feature-filter <STRING> |
| Filter for function names (with wildcard support). | -D or --demangled-symbol-filter <STRING> |
Installation
You can install lsx86features from crates.io:
cargo install --locked lsx86features
Or via this repository:
cargo install --locked --git https://github.com/gn0/lsx86features.git
License
lsx86features is distributed under the GNU General Public License (GPL), version 3. See the file LICENSE for more information.
Dependencies
~19MB
~400K SLoC





