summaryrefslogtreecommitdiff
path: root/arch/powerpc/assembler.cpp
AgeCommit message (Collapse)Author
2025-07-28[PPC] Make assembler.cpp compile over 30 times fasterMark Rowe
Clang was taking around 30 seconds to compile assembler.cpp on my machine, with most of its time spent in code generation for the global initializer for `lookup`. Changing the map key from `std::string` to `std::string_view` drops compile time to under a second. This is because the compiler no longer has to code gen the allocation, initialization, and moves of 2,100 `std::string`s. `std::string_view` is effectively free to initialize in comparison. While I was here I made the map `static const`. It's not required for the build time improvement, but it is more correct and helped me check that no-one is mutating the map.
2025-06-29[powerpc] Full merge of PowerPC disassembler PRs, including:Galen Williamson
* Remove dependency on capstone for PowerPC disassembly #6292 * Add support for PowerPC VLE instruction set #6740 * Add support for paired-single instructions #6821 * Various post-merge fixes and tweaks to disassembly and lifting * Removal of dependence on capstone for assembler's scoring mechanism (capstone currently disabled, but not removed from codebase yet)
2025-04-14[powerpc] Fix incorrect disassembly of LIS, ADDIS, ANDI, ANDIS; add assembly ↵Galen Williamson
of subis
2024-11-06Fixes Vector35/binaryninja-api#5968: "PowerPC flag names no longer ↵Galen Williamson
recognized (due to changes in capstone register numbering)": handles new capstone flag numbers, allows assembling `isel` instructions with capstone syntax, disassembles flag registers with capstone syntax
2024-03-05Move architecture modules into the API repoRusty Wagner