This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
As discussed at this year's Cauldron, it has concerned me for a while now that when a user of the ARM compiler specifies a CPU they also need to specify which floating-point unit it has (even though the choice is almost invariably one). This patch implements the ability to make the selection automatic when a CPU is specified (as opposed to an architecture), by specifying -mfpu=auto. Long term, I'd like to make this also work in conjunction with architecture strings and then move towards deprecating -mfpu entirely, but that's considerably more work and more suited to GCC 8 than GCC 7. I've discussed the patch set with a couple of the other ARM maintainers and they are happy for these patches to go in now. [arm] Separte tuning flags from architectural flags in CPU tables. [arm] Add new isa bits method [arm] Introduce arm_active_target. [arm] Use arm_active_target for architecture and tune operations. [arm] Reduce usage of arm_selected_cpu. [arm] Add new isa quirk bit for Cortex-M3 ldrd issue. [arm] Use arm_active_target when configuring builtins [arm] Remove insn_flags. [arm] Rework arm-common to use new feature bits. [arm] Remove remaining references to arm feature sets. [arm] Delete unused arm_fp_model. [arm] Eliminate vfp_reg_type [arm] Remove FPU rev field [arm] Add isa features to FPU descriptions [arm] Initialize fpu capability bits in arm_active_target. [arm] Eliminate TARGET_FPU_NAME. [arm] Use arm_active_target for most FP feature tests. [arm] Use cl_target_options for configuring the active target. [arm] Use ISA feature sets for determining inlinability. [arm] Remove FEATURES field from FPU descriptions. [arm] Permit 'auto' in -mfpu. gcc/common/config/arm/arm-common.c | 27 +- gcc/config/arm/arm-arches.def | 90 +++--- gcc/config/arm/arm-builtins.c | 35 +-- gcc/config/arm/arm-c.c | 3 + gcc/config/arm/arm-cores.def | 239 +++++++-------- gcc/config/arm/arm-flags.h | 195 +----------- gcc/config/arm/arm-fpus.def | 48 +-- gcc/config/arm/arm-isa.h | 156 ++++++++++ gcc/config/arm/arm-opts.h | 13 +- gcc/config/arm/arm-protos.h | 39 ++- gcc/config/arm/arm-tables.opt | 75 +++-- gcc/config/arm/arm-tune.md | 8 +- gcc/config/arm/arm.c | 588 +++++++++++++++++++++++++------------ gcc/config/arm/arm.h | 72 +---- gcc/config/arm/arm.opt | 8 +- gcc/config/arm/genopt.sh | 15 +- 16 files changed, 909 insertions(+), 702 deletions(-) create mode 100644 gcc/config/arm/arm-isa.h
Attachment:
Attached Message Part
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |