diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 10 | ||||
-rw-r--r-- | include/opcode/arm.h | 32 |
2 files changed, 26 insertions, 16 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index bfbf2bd..3ead011 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,13 @@ +2019-11-22 Mihail Ionescu <mihail.ionescu@arm.com> + + * opcode/arm.h (ARM_EXT2_CRC): New extension feature + to replace CRC_EXT_ARMV8. + (CRC_EXT_ARMV8): Remove and mark bit as unused. + (ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, + ARM_ARCH_V8_3A, ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, + ARM_ARCH_V8_6A): Redefine using ARM_EXT2_CRC instead of + CRC_EXT_ARMV8. + 2019-11-18 Andrew Burgess <andrew.burgess@embecosm.com> * dwarf2.h (DW_CIE_VERSION): Delete. diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 982da5a..14bd1d1 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -76,6 +76,7 @@ #define ARM_EXT2_V8_6A 0x00010000 /* ARM V8.6A. */ #define ARM_EXT2_BF16 0x00020000 /* ARMv8 bfloat16. */ #define ARM_EXT2_I8MM 0x00040000 /* ARMv8.6A i8mm. */ +#define ARM_EXT2_CRC 0x00080000 /* ARMv8 CRC32 */ /* Co-processor space extensions. */ #define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */ @@ -102,7 +103,7 @@ #define FPU_VFP_EXT_ARMV8 0x00020000 /* Double-precision FP for ARMv8. */ #define FPU_NEON_EXT_ARMV8 0x00010000 /* Neon for ARMv8. */ #define FPU_CRYPTO_EXT_ARMV8 0x00008000 /* Crypto for ARMv8. */ -#define CRC_EXT_ARMV8 0x00004000 /* CRC32 for ARMv8. */ +/* Unused 0x00004000 */ #define FPU_VFP_EXT_ARMV8xD 0x00002000 /* Single-precision FP for ARMv8. */ #define FPU_NEON_EXT_RDMA 0x00001000 /* v8.1 Adv.SIMD extensions. */ #define FPU_NEON_EXT_DOTPROD 0x00000800 /* Dot Product extension. */ @@ -273,7 +274,6 @@ | FPU_NEON_ARMV8 \ | FPU_VFP_ARMV8 \ | FPU_NEON_EXT_DOTPROD) -#define ARCH_CRC_ARMV8 ARM_FEATURE_COPROC (CRC_EXT_ARMV8) #define FPU_ARCH_NEON_VFP_ARMV8_1 \ ARM_FEATURE_COPROC (FPU_NEON_ARMV8_1 \ | FPU_VFP_ARMV8) @@ -342,22 +342,22 @@ #define ARM_ARCH_V7M ARM_FEATURE_CORE (ARM_AEXT_V7M, ARM_EXT2_V6T2_V8M) #define ARM_ARCH_V7EM ARM_FEATURE_CORE (ARM_AEXT_V7EM, ARM_EXT2_V6T2_V8M) #define ARM_ARCH_V8A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_AEXT2_V8A) -#define ARM_ARCH_V8A_CRC ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8A, \ - CRC_EXT_ARMV8) -#define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) -#define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) -#define ARM_ARCH_V8_3A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA) -#define ARM_ARCH_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \ +#define ARM_ARCH_V8A_CRC ARM_FEATURE (ARM_AEXT_V8A, \ + ARM_AEXT2_V8A | ARM_EXT2_CRC) +#define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA) +#define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA) +#define ARM_ARCH_V8_3A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA) +#define ARM_ARCH_V8_4A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA \ | FPU_NEON_EXT_DOTPROD) -#define ARM_ARCH_V8_5A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_5A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \ +#define ARM_ARCH_V8_5A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_5A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA \ | FPU_NEON_EXT_DOTPROD) -#define ARM_ARCH_V8_6A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_6A, \ - CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA \ +#define ARM_ARCH_V8_6A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_6A \ + | ARM_EXT2_CRC, FPU_NEON_EXT_RDMA \ | FPU_NEON_EXT_DOTPROD) #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, \ ARM_AEXT2_V8M_BASE) |