From 9b523c934a3bf65645254b811de3333fe18ef40c Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Tue, 11 Apr 2017 14:57:41 +0000 Subject: [PATCH] [arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name as a CPU name In this PR we incorrectly print the architecture name in a .cpu directive in the assembly file when the -mcpu and -march options conflict (don't target the same base architecture). In this case the .arch overrides the .cpu directive and we should emit a .arch option. PR target/80389 * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch conflict, set target->arch_name instead of target->cpu_name. From-SVN: r246843 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 272f603..8a72943 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-04-11 Richard Earnshaw + + PR target/80389 + * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch + conflict, set target->arch_name instead of target->cpu_name. + 2017-04-11 Richard Biener PR tree-optimization/80374 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index a9b61a3..a2d80cf 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3098,15 +3098,15 @@ arm_configure_build_target (struct arm_build_target *target, arm_selected_tune = arm_selected_cpu; arm_selected_cpu = arm_selected_arch; + target->arch_name = arm_selected_arch->name; } else { /* Architecture and CPU are essentially the same. Prefer the CPU setting. */ arm_selected_arch = NULL; + target->core_name = arm_selected_cpu->name; } - - target->core_name = arm_selected_cpu->name; } else { -- 2.7.4