Wrap include/opcode/aarch64.h in extern "C" for C++
[external/binutils.git] / include / opcode / aarch64.h
index 8df82a1..a8b1f89 100644 (file)
 #include <assert.h>
 #include <stdlib.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* The offset for pc-relative addressing is currently defined to be 0.  */
 #define AARCH64_PCREL_OFFSET           0
 
@@ -40,11 +44,22 @@ typedef uint32_t aarch64_insn;
 #define AARCH64_FEATURE_CRC    0x00080000      /* CRC instructions.  */
 #define AARCH64_FEATURE_LSE    0x00100000      /* LSE instructions.  */
 #define AARCH64_FEATURE_PAN    0x00200000      /* PAN instructions.  */
+#define AARCH64_FEATURE_LOR    0x00400000      /* LOR instructions.  */
+#define AARCH64_FEATURE_RDMA   0x00800000      /* v8.1 SIMD instructions.  */
 
 /* Architectures are the sum of the base and extensions.  */
 #define AARCH64_ARCH_V8                AARCH64_FEATURE (AARCH64_FEATURE_V8, \
                                                 AARCH64_FEATURE_FP  \
                                                 | AARCH64_FEATURE_SIMD)
+#define AARCH64_ARCH_V8_1      AARCH64_FEATURE (AARCH64_FEATURE_V8, \
+                                                AARCH64_FEATURE_FP  \
+                                                | AARCH64_FEATURE_SIMD \
+                                                | AARCH64_FEATURE_LSE  \
+                                                | AARCH64_FEATURE_PAN  \
+                                                | AARCH64_FEATURE_LOR  \
+                                                | AARCH64_FEATURE_RDMA)
+
+
 #define AARCH64_ARCH_NONE      AARCH64_FEATURE (0, 0)
 #define AARCH64_ANY            AARCH64_FEATURE (-1, 0) /* Any basic core.  */
 
@@ -911,8 +926,11 @@ aarch64_num_of_operands (const aarch64_opcode *);
 extern int
 aarch64_stack_pointer_p (const aarch64_opnd_info *);
 
-extern
-int aarch64_zero_register_p (const aarch64_opnd_info *);
+extern int
+aarch64_zero_register_p (const aarch64_opnd_info *);
+
+extern int
+aarch64_decode_insn (aarch64_insn, aarch64_inst *);
 
 /* Given an operand qualifier, return the expected data element size
    of a qualified operand.  */
@@ -950,4 +968,8 @@ aarch64_verbose (const char *, ...) __attribute__ ((format (printf, 1, 2)));
 #define DEBUG_TRACE_IF(C, M, ...) ;
 #endif /* DEBUG_AARCH64 */
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* OPCODE_AARCH64_H */