[Arm, 2/3] Add instruction SB for AArch32
[deliverable/binutils-gdb.git] / include / opcode / arm.h
index 932bf630f07741ed02912a912472ccd01b51e7c6..c595799920e369b859f851d184639f9489554da4 100644 (file)
@@ -1,5 +1,5 @@
 /* ARM assembler/disassembler support.
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2018 Free Software Foundation, Inc.
 
    This file is part of GDB and GAS.
 
@@ -67,6 +67,9 @@
 #define ARM_EXT2_V8_3A  0x00000100     /* ARM V8.3A.  */
 #define ARM_EXT2_V8A    0x00000200     /* ARMv8-A.  */
 #define ARM_EXT2_V8_4A  0x00000400     /* ARM V8.4A.  */
+#define ARM_EXT2_FP16_FML 0x00000800   /* ARM V8.2A FP16-FML instructions.  */
+#define ARM_EXT2_V8_5A  0x00001000     /* ARM V8.5A.  */
+#define ARM_EXT2_SB     0x00002000     /* Speculation Barrier instruction.  */
 
 /* Co-processor space extensions.  */
 #define ARM_CEXT_XSCALE   0x00000001   /* Allow MIA etc.          */
 #define ARM_AEXT2_V8_1A        (ARM_AEXT2_V8A | ARM_EXT2_PAN)
 #define ARM_AEXT2_V8_2A        (ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS)
 #define ARM_AEXT2_V8_3A        (ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A)
-#define ARM_AEXT2_V8_4A        (ARM_AEXT2_V8_3A | ARM_EXT2_V8_4A)
+#define ARM_AEXT2_V8_4A        (ARM_AEXT2_V8_3A | ARM_EXT2_FP16_FML | ARM_EXT2_V8_4A)
+#define ARM_AEXT2_V8_5A        (ARM_AEXT2_V8_4A | ARM_EXT2_V8_5A)
 #define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV)
 #define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M
 #define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM
 #define ARM_ARCH_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A,     \
                                     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \
                                     | FPU_NEON_EXT_DOTPROD)
+#define ARM_ARCH_V8_5A ARM_FEATURE (ARM_AEXT_V8A,      \
+                                    ARM_AEXT2_V8_5A | ARM_EXT2_SB,     \
+                                    CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \
+                                    | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M)
 #define ARM_ARCH_V8M_MAIN ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN, \
                                            ARM_AEXT2_V8M_MAIN)
@@ -388,15 +396,6 @@ typedef struct
     }                                                  \
   while (0)
 
-#define ARM_FEATURE_COPY(F1, F2)               \
-  do                                           \
-    {                                          \
-      (F1).core[0] = (F2).core[0];             \
-      (F1).core[1] = (F2).core[1];             \
-      (F1).coproc = (F2).coproc;               \
-    }                                          \
-  while (0)
-
 #define ARM_FEATURE_EQUAL(T1,T2)               \
   (   (T1).core[0] == (T2).core[0]             \
    && (T1).core[1] == (T2).core[1]             \
This page took 0.024815 seconds and 4 git commands to generate.