aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2014-03-12 10:13:07 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2014-03-12 10:13:07 +0000
commita3cd024676cbf385396d57b6b1f752040a902779 (patch)
treebbb49b22c63dea0728e5a211db412d6bea21aba5
parentc888139c9aee51699484bf7e442b208a962773c8 (diff)
downloadgcc-a3cd024676cbf385396d57b6b1f752040a902779.zip
gcc-a3cd024676cbf385396d57b6b1f752040a902779.tar.gz
gcc-a3cd024676cbf385396d57b6b1f752040a902779.tar.bz2
[AArch64] Fix selection of default CPU options at configure-time
* config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def. Do not define target_cpu_default2 to generic. * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu. * config/aarch64/aarch64.c (aarch64_override_options): Update comment. * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu. From-SVN: r208508
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config.gcc9
-rw-r--r--gcc/config/aarch64/aarch64-arches.def2
-rw-r--r--gcc/config/aarch64/aarch64.c2
-rw-r--r--gcc/config/aarch64/aarch64.h4
5 files changed, 18 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 446f519..cc980d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
+ Do not define target_cpu_default2 to generic.
+ * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
+ * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
+ * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
+
2014-03-12 Jakub Jelinek <jakub@redhat.com>
Marc Glisse <marc.glisse@inria.fr>
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 2a3deae..3c55c88 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3396,6 +3396,11 @@ case "${target}" in
${srcdir}/config/aarch64/$def | \
sed -e 's/^[^,]*,[ ]*//' | \
sed -e 's/,.*$//'`
+ # Extract the architecture flags from aarch64-arches.def
+ ext_mask=`grep "^$pattern(\"$base_val\"," \
+ ${srcdir}/config/aarch64/$def | \
+ sed -e 's/)$//' | \
+ sed -e 's/^.*,//'`
else
base_id=`grep "^$pattern(\"$base_val\"," \
${srcdir}/config/aarch64/$def | \
@@ -4057,10 +4062,8 @@ esac
target_cpu_default2=
case ${target} in
aarch64*-*-*)
- if test x$target_cpu_cname = x
+ if test x"$target_cpu_cname" != x
then
- target_cpu_default2=TARGET_CPU_generic
- else
target_cpu_default2=$target_cpu_cname
fi
;;
diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def
index 5028f61..4b796d8 100644
--- a/gcc/config/aarch64/aarch64-arches.def
+++ b/gcc/config/aarch64/aarch64-arches.def
@@ -26,4 +26,4 @@
this architecture. ARCH is the architecture revision. FLAGS are
the flags implied by the architecture. */
-AARCH64_ARCH("armv8-a", cortexa53, 8, AARCH64_FL_FOR_ARCH8)
+AARCH64_ARCH("armv8-a", generic, 8, AARCH64_FL_FOR_ARCH8)
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index f24b248..4e6728a 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -5250,7 +5250,7 @@ aarch64_override_options (void)
/* If the user did not specify a processor, choose the default
one for them. This will be the CPU set during configuration using
- --with-cpu, otherwise it is "cortex-a53". */
+ --with-cpu, otherwise it is "generic". */
if (!selected_cpu)
{
selected_cpu = &all_cores[TARGET_CPU_DEFAULT & 0x3f];
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index fc21981..1f71ee5 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -475,10 +475,10 @@ enum target_cpus
TARGET_CPU_generic
};
-/* If there is no CPU defined at configure, use "cortex-a53" as default. */
+/* If there is no CPU defined at configure, use generic as default. */
#ifndef TARGET_CPU_DEFAULT
#define TARGET_CPU_DEFAULT \
- (TARGET_CPU_cortexa53 | (AARCH64_CPU_DEFAULT_FLAGS << 6))
+ (TARGET_CPU_generic | (AARCH64_CPU_DEFAULT_FLAGS << 6))
#endif
/* The processor for which instructions should be scheduled. */