| Crates.io | simdscan |
| lib.rs | simdscan |
| version | 0.1.2 |
| created_at | 2025-06-10 08:58:40.6443+00 |
| updated_at | 2025-06-10 12:51:57.164995+00 |
| description | Classify SIMD instructions by ISA extension |
| homepage | |
| repository | https://github.com/vimkim/simdscan |
| max_upload_size | |
| id | 1706855 |
| size | 29,941 |
A blazingly fast Rust CLI tool that analyzes x86-64 binaries to detect and classify SIMD instructions by their ISA extension. Perfect for performance analysis, compiler optimization verification, and understanding what SIMD features your binaries actually use.
# Install from crates.io
cargo install simdscan
# Analyze a binary
simdscan ./my_program
# Get detailed breakdown in YAML
simdscan -f yaml --show-insts ./my_program
objdump (from GNU binutils) must be available in your PATHcargo install simdscan
git clone https://github.com/yourusername/simdscan
cd simdscan
cargo install --path .
Download pre-built binaries from the releases page.
# Analyze any x86-64 binary (ELF, Mach-O, PE)
simdscan path/to/binary
# YAML output with instruction details
simdscan -f yaml --show-insts my_program
# JSON output (default)
simdscan -f json my_program
# Help
simdscan --help
| Option | Description |
|---|---|
binary |
Path to the binary file to analyze |
-f, --format <FORMAT> |
Output format: json (default) or yaml |
--show-insts |
Include detailed per-ISA instruction breakdown |
{
"binary": "./my_program",
"has_simd": true,
"isa_summary": {
"AVX": 156,
"SSE2": 43,
"SSE4": 12
},
"total_simd_insts": 211
}
--show-insts){
"binary": "./my_program",
"has_simd": true,
"isa_summary": {
"AVX": 156,
"SSE2": 43,
"SSE4": 12
},
"total_simd_insts": 211,
"isa_details": {
"AVX": {
"unique_mnemonics": 8,
"occurrences": {
"vmovaps": 45,
"vaddps": 32,
"vmulps": 28,
"vsubps": 21,
"vxorps": 15,
"vdivps": 10,
"vmovups": 3,
"vzeroupper": 2
}
},
"SSE2": {
"unique_mnemonics": 5,
"occurrences": {
"movdqa": 18,
"movdqu": 12,
"paddq": 8,
"pshufd": 3,
"pxor": 2
}
}
}
}
objdump -d to disassemble the target binarySimdscan is designed for speed:
Contributions are welcome! Here's how you can help:
git clone https://github.com/vimkim/simdscan
cd simdscan
cargo build
Licensed under either of:
Made with ❤️ and ⚡ by the Rust community