/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 | 223k | { |
10 | 223k | if (feature == AArch64_FeatureAMX || feature == AArch64_FeatureMUL53 || |
11 | 223k | feature == AArch64_FeatureAppleSys) { |
12 | 4 | return mode & CS_MODE_APPLE_PROPRIETARY; |
13 | 4 | } |
14 | | // we support everything |
15 | 223k | return true; |
16 | 223k | } |
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 | 7.02k | { |
21 | 7.02k | int i = 0; |
22 | 10.5k | while (features[i]) { |
23 | 3.55k | if (!AArch64_getFeatureBits(mode, features[i])) |
24 | 0 | return false; |
25 | 3.55k | ++i; |
26 | 3.55k | } |
27 | 7.02k | return true; |
28 | 7.02k | } |