mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
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.
This commit is contained in:
@ -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. */
|
||||
|
Reference in New Issue
Block a user