/src/capstonenext/arch/AArch64/AArch64DisassemblerExtension.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* Capstone Disassembly Engine */ |
2 | | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */ |
3 | | /* Rot127 <unisono@quyllur.org>, 2022-2023 */ |
4 | | |
5 | | #include "AArch64DisassemblerExtension.h" |
6 | | #include "AArch64BaseInfo.h" |
7 | | |
8 | | bool AArch64_getFeatureBits(unsigned int mode, unsigned int feature) |
9 | 169k | { |
10 | 169k | if (feature == AArch64_FeatureAMX || feature == AArch64_FeatureMUL53 || |
11 | 169k | feature == AArch64_FeatureAppleSys) { |
12 | 3 | return mode & CS_MODE_APPLE_PROPRIETARY; |
13 | 3 | } |
14 | | // we support everything |
15 | 169k | return true; |
16 | 169k | } |
17 | | |
18 | | /// Tests a NULL terminated array of features if they are enabled. |
19 | | bool AArch64_testFeatureList(unsigned int mode, const unsigned int *features) |
20 | 4.71k | { |
21 | 4.71k | int i = 0; |
22 | 7.08k | while (features[i]) { |
23 | 2.37k | if (!AArch64_getFeatureBits(mode, features[i])) |
24 | 0 | return false; |
25 | 2.37k | ++i; |
26 | 2.37k | } |
27 | 4.71k | return true; |
28 | 4.71k | } |