AArch64 FEAT_CSSC instruction support for IDA Pro and Ghidra.
# Install plugin
./plugins/ida/install.sh
# Development mode (symlinks for live editing)
IDA_PLUGIN_MODE=link ./plugins/ida/install.sh
# Custom IDA plugins directory
./plugins/ida/install.sh /path/to/ida/pluginsRestart IDA Pro after installation.
# Install and rebuild language pack
GHIDRA_HOME=/path/to/ghidra ./plugins/ghidra/install.sh
# Skip SLEIGH rebuild (manual rebuild required)
GHIDRA_HOME=/path/to/ghidra ./plugins/ghidra/install.sh --skip-buildInstall nice stand-alone macOS app packaged version of Ghidra
brew install --cask blacktop/tap/ghidra-app Install the lanuage extension
./plugins/ghidra/install.sh /Applications/Ghidra.app/Contents/Resources/ghidraRe-import or reopen binaries in Ghidra after installation.
The plugin auto-loads when opening AArch64 binaries. If needed, manually load via: Edit → Plugins → AArch64 CSSC
Instructions are automatically recognized after installation. No manual activation required.
- UMAX/UMIN (register, 32/64-bit)
- Hex-Rays decompiler intrinsics:
__cssc_umax,__cssc_umin
- ABS (register, 32/64-bit)
- CNT (register, 32/64-bit)
- CTZ (register, 32/64-bit)
- SMAX/SMIN (register, 32/64-bit)
- UMAX/UMIN (register, 32/64-bit)
- Decompiler intrinsics:
__cssc_abs,__cssc_cnt,__cssc_ctz - Min/max operations use conditional patterns recognized by the decompiler
Edit plugins/ida/aarch64_cssc.py and add entries to CSSC_INSTRUCTIONS list.
Edit plugins/ghidra/sleigh/AARCH64_CSSC.sinc following existing patterns.
ARM instruction encodings: arm-xml/isa_a64/ISA_A64_xml_A_profile-2025-06/
Shout out to dougall's Apple AMX plugin
MIT Copyright (c) 2025 blacktop