[PATCH][arm][1/2] Remove support for deprecated -march=armv5 and armv5e

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Thu May 17 10:27:00 GMT 2018


Hi all,

The -march=armv5 and armv5e options have been deprecated in GCC 7 [1].
This patch removes support for them.
It's mostly mechanical stuff. The functionality that was previously
gated on arm_arch5 is now gated on arm_arch5t and the functionality
that was gated on arm_arch5e is now gated on arm_arch5te.

A path in TARGET_OS_CPP_BUILTINS for VxWorks is now unreachable and
therefore is deleted.

References to armv5 and armv5e are deleted/updated throughout the
source tree and testsuite.

Bootstrapped and tested on arm-none-linux-gnueabihf.
Also built a cc1 for arm-wrs-vxworks as a sanity check.

Ramana, Richard, I'd appreciate an ok from either of you that you're happy for this to go ahead.

Thanks,
Kyrill

[1] https://gcc.gnu.org/gcc-7/changes.html#arm

gcc/
2018-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/arm/arm-cpus.in (armv5, armv5e): Delete features.
     (armv5t, armv5te): New features.
     (ARMv5, ARMv5e): Delete fgroups.
     (ARMv5t, ARMv5te): Adjust for above changes.
     (ARMv6m): Likewise.
     (armv5, armv5e): Delete arches.
     * config/arm/arm.md (*call_reg_armv5): Use arm_arch5t instead of
     arm_arch5.
     (*call_reg_arm): Likewise.
     (*call_value_reg_armv5): Likewise.
     (*call_value_reg_arm): Likewise.
     (*call_symbol): Likewise.
     (*call_value_symbol): Likewise.
     (*sibcall_insn): Likewise.
     (*sibcall_value_insn): Likewise.
     (clzsi2): Likewise.
     (prefetch): Likewise.
     (define_split and define_peephole2 dependent on arm_arch5):
     Likewise.
     * config/arm/arm.h (TARGET_LDRD): Use arm_arch5te instead of
     arm_arch5e.
     (TARGET_ARM_QBIT): Likewise.
     (TARGET_DSP_MULTIPLY): Likewise.
     (enum base_architecture): Delete BASE_ARCH_5, BASE_ARCH_5E.
     (arm_arch5, arm_arch5e): Delete.
     (arm_arch5t, arm_arch5te): Declare.
     * config/arm/arm.c (arm_arch5, arm_arch5e): Delete.
     (arm_arch5t): Declare.
     (arm_option_reconfigure_globals): Update for the above.
     (arm_options_perform_arch_sanity_checks): Update comment, replace
     use of arm_arch5 with arm_arch5t.
     (use_return_insn): Likewise.
     (arm_emit_call_insn): Likewise.
     (output_return_instruction): Likewise.
     (arm_final_prescan_insn): Likewise.
     (arm_coproc_builtin_available): Likewise.
     * config/arm/arm-c.c (arm_cpu_builtins): Replace arm_arch5 and
     arm_arch5e with arm_arch5t and arm_arch5te.
     * config/arm/arm-protos.h (arm_arch5, arm_arch5e): Delete.
     (arm_arch5t, arm_arch5te): Declare.
     * config/arm/arm-tables.opt: Regenerate.
     * config/arm/t-arm-elf: Remove references to armv5, armv5e.
     * config/arm/t-multilib: Likewise.
     * config/arm/thumb1.md (*call_reg_thumb1_v5): Check arm_arch5t
     instead of arm_arch5.
     (*call_reg_thumb1): Likewise.
     (*call_value_reg_thumb1_v5): Likewise.
     (*call_value_reg_thumb1): Likewise.
     * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Remove now
     unreachable path.
     * doc/invoke.texi (ARM Options): Remove references to armv5, armv5e.

gcc/testsuite/
2018-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * gcc.target/arm/pr40887.c: Update comment.
     * lib/target-supports.exp: Don't generate effective target checks
     and related helpers for armv5.  Update comment.
     * gcc.target/arm/armv5_thumb_isa.c: Delete.
     * gcc.target/arm/di-longlong64-sync-withhelpers.c: Update effective
     target check and options.

libgcc/
2018-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/arm/libunwind.S: Update comment relating to armv5.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: armv5-remove.patch
Type: text/x-patch
Size: 26424 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180517/da07ea61/attachment.bin>


More information about the Gcc-patches mailing list