diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2015-12-24 17:01:42 +0800 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2015-12-24 17:03:50 +0800 |
commit | fc289b0a832c536a2ec324634cb420f39b212696 (patch) | |
tree | 3e5e7105c3ab6ae8d8723d4367db1127079713ab /include | |
parent | 443bfd5a371633064bf251a74b27382c7774f217 (diff) | |
download | gdb-fc289b0a832c536a2ec324634cb420f39b212696.zip gdb-fc289b0a832c536a2ec324634cb420f39b212696.tar.gz gdb-fc289b0a832c536a2ec324634cb420f39b212696.tar.bz2 |
Consolidate Thumb-1/Thumb-2 ISA detection
2015-12-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* config/tc-arm.c (move_or_literal_pool): Check mov.w, mvm and movw
availability against arm_ext_v6t2 instead of checking arm_arch_t2,
fixing comments along the way.
(handle_it_state): Check arm_ext_v6t2 instead of arm_arch_t2 to
generate IT instruction.
(t1_isa_t32_only_insn): New function.
(md_assemble): Use above new function to check for invalid wide
instruction for CPU Thumb ISA and to determine what Thumb extension
bit is necessary for that instruction.
(md_apply_fix): Use arm_ext_v6t2 instead of arm_arch_t2 to decide if
branch is out of range.
include/opcode/
* arm.h (ARM_ARCH_THUMB2): Add comment explaining its meaning and
remove extension bit not including any Thumb-2 instruction.
Diffstat (limited to 'include')
-rw-r--r-- | include/opcode/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/arm.h | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index ca7492b..e0d3f26 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2015-12-24 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * arm.h (ARM_ARCH_THUMB2): Add comment explaining its meaning and + remove extension bit not including any Thumb-2 instruction. + 2015-12-15 Matthew Wahab <matthew.wahab@arm.com> * arm.h (ARM_ARCH_V8_1A): Add the CRC_EXT_ARMV8 co-processor diff --git a/include/opcode/arm.h b/include/opcode/arm.h index daeb626..eb0619c 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -263,10 +263,10 @@ #define ARM_ANY ARM_FEATURE (-1, -1, 0) /* Any basic core. */ #define ARM_FEATURE_ALL ARM_FEATURE (-1, -1, -1)/* All CPU and FPU features. */ #define FPU_ANY_HARD ARM_FEATURE_COPROC (FPU_FPA | FPU_VFP_HARD | FPU_MAVERICK) +/* Extensions containing some Thumb-2 instructions. If any is present, Thumb + ISA is Thumb-2. */ #define ARM_ARCH_THUMB2 ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2 | ARM_EXT_V7 \ - | ARM_EXT_V7A | ARM_EXT_V7R \ - | ARM_EXT_V7M | ARM_EXT_DIV \ - | ARM_EXT_V8) + | ARM_EXT_DIV | ARM_EXT_V8) /* v7-a+sec. */ #define ARM_ARCH_V7A_SEC ARM_FEATURE_CORE_LOW (ARM_AEXT_V7A | ARM_EXT_SEC) /* v7-a+mp+sec. */ |