Allow extension availability to depend on several architecture bits
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 10 May 2016 14:06:41 +0000 (15:06 +0100)
committerThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 10 May 2016 14:12:11 +0000 (15:12 +0100)
commitd942732e829030b8eab483dd48b979f8eed7c9e2
treeb230627703c7c9663858720b3ea476d08b4c048e
parent16a1fa25be5705102b84ef0ea6eea71312328c2c
Allow extension availability to depend on several architecture bits

2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>

gas/
* config/tc-arm.c (struct arm_option_extension_value_table): Make
allowed_archs an array with 2 entries.
(ARM_EXT_OPT): Adapt to only fill the first entry of allowed_archs.
(ARM_EXT_OPT2): New macro filling the two entries of allowed_archs.
(arm_extensions): Use separate entries in allowed_archs when several
archs are allowed to use an extension and change ARCH_ANY in
ARM_ARCH_NONE in allowed_archs.
(arm_parse_extension): Check that, for each allowed_archs entry, all
bits are set in the current architecture, ignoring ARM_ANY entries.
(s_arm_arch_extension): Likewise.

include/
* arm.h (ARM_FSET_CPU_SUBSET): Define macro.
gas/ChangeLog
gas/config/tc-arm.c
include/ChangeLog
include/opcode/arm.h