diff options
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/aarch64.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index b35a818..1e38749 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -84,9 +84,15 @@ typedef uint32_t aarch64_insn; /* CPU-specific features. */ typedef unsigned long aarch64_feature_set; -#define AARCH64_CPU_HAS_FEATURE(CPU,FEAT) \ +#define AARCH64_CPU_HAS_ALL_FEATURES(CPU,FEAT) \ + ((~(CPU) & (FEAT)) == 0) + +#define AARCH64_CPU_HAS_ANY_FEATURES(CPU,FEAT) \ (((CPU) & (FEAT)) != 0) +#define AARCH64_CPU_HAS_FEATURE(CPU,FEAT) \ + AARCH64_CPU_HAS_ALL_FEATURES (CPU,FEAT) + #define AARCH64_MERGE_FEATURE_SETS(TARG,F1,F2) \ do \ { \ @@ -103,9 +109,6 @@ typedef unsigned long aarch64_feature_set; #define AARCH64_FEATURE(core,coproc) ((core) | (coproc)) -#define AARCH64_OPCODE_HAS_FEATURE(OPC,FEAT) \ - (((OPC) & (FEAT)) != 0) - enum aarch64_operand_class { AARCH64_OPND_CLASS_NIL, |