aboutsummaryrefslogtreecommitdiff
path: root/include/opcode/arm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/opcode/arm.h')
-rw-r--r--include/opcode/arm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 36dcc20..c8883db 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -330,6 +330,12 @@ typedef struct
|| ((CPU).core[1] & (FEAT).core[1]) != 0 \
|| ((CPU).coproc & (FEAT).coproc) != 0)
+/* Tests whether the features of A are a subset of B. */
+#define ARM_FSET_CPU_SUBSET(A,B) \
+ (((A).core[0] & (B).core[0]) == (A).core[0] \
+ && ((A).core[1] & (B).core[1]) == (A).core[1] \
+ && ((A).coproc & (B).coproc) == (A).coproc)
+
#define ARM_CPU_IS_ANY(CPU) \
((CPU).core[0] == ((arm_feature_set)ARM_ANY).core[0] \
&& (CPU).core[1] == ((arm_feature_set)ARM_ANY).core[1])