[arm] Add new isa quirk bit for Cortex-M3 ldrd issue.
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 15 Dec 2016 15:45:23 +0000 (15:45 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Thu, 15 Dec 2016 15:45:23 +0000 (15:45 +0000)
commit199acf6cfbc3fdd7eca990c817752f32b17c7b4d
treecb5e285f3080e0da0fe01a7a67f4494f941bf3e1
parentd2d19167c3a5f46af1726a6b79a6f4bc586e788a
[arm] Add new isa quirk bit for Cortex-M3 ldrd issue.

With the new data structures it is trivial to add a new field and we
aren't (too) limited as to the number we have.  This patch adds a new
bit to describe the need for a particular compiler behaviour
modification: in this case a quirk in the cortex-m3.

* arm-isa.h (enum isa_feature): Add isa_quirk_cm3_ldrd.
(ISA_ALL_QUIRKS): New macro.
* arm-cores.def (cortex-m3): Add isa_quirk_cm3_ldrd to isa feature list.
* arm.c (isa_quirkbits): New feature-list bitmap.
(arm_configure_build_target): Ignore quirk bits when comparing an
architecture feature list with a CPU feature list.
(arm_option_override): Initialize_isa_quirkbits.  If the user has
not specified -m[no-]fix-cortex-m3-ldrd, automatically enable the
feature if isa_quirk_cm3_ldrd appears in the isa feature list.

From-SVN: r243701
gcc/ChangeLog
gcc/config/arm/arm-cores.def
gcc/config/arm/arm.c