aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorAndre Vieira <andre.simoesdiasvieira@arm.com>2018-07-19 15:47:15 +0000
committerAndre Vieira <avieira@gcc.gnu.org>2018-07-19 15:47:15 +0000
commit5170e47ebd80005787c610e6c08a23526906e985 (patch)
treedae7649361d1e0fa9ac4148ffb34d144939a3e9b /gcc/testsuite
parentbedc2d2c79b5be2a8b29cfe229ee1ea09d96562a (diff)
downloadgcc-5170e47ebd80005787c610e6c08a23526906e985.zip
gcc-5170e47ebd80005787c610e6c08a23526906e985.tar.gz
gcc-5170e47ebd80005787c610e6c08a23526906e985.tar.bz2
[PATCH, GCC, AARCH64] Add support for +profile extension
This patch adds support for the Statistical Profiling Extension (SPE) on AArch64. Even though the compiler will not generate code any differently given this extension, it will need to pass it on to the assembler in order to let it correctly assemble inline asm containing accesses to the extension's system registers. The same applies when using the preprocessor on an assembly file as this first must pass through cc1. I left the hwcaps string for SPE empty as the kernel does not define a feature string for this extension. The current effect of this is that driver will disable profile feature bit in GCC. This is OK though because we don't, nor do we ever, enable this feature bit, as codegen is not affect by the SPE support and more importantly the driver will still pass the extension down to the assembler regardless. gcc/ChangeLog 2018-07-19 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/aarch64/aarch64-option-extensions.def: New entry for profile extension. * config/aarch64/aarch64.h (AARCH64_FL_PROFILE): New. * doc/invoke.texi (aarch64-feature-modifiers): New entry for profile extension. gcc/testsuite/ChangeLog 2018-07-19 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/aarch64/profile.c: New test. From-SVN: r262882
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/profile.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 50a8cdf..2555ac0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2018-07-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
+ * gcc.target/aarch64/profile.c: New test.
+
+2018-07-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
PR target/83009
* gcc/target/aarch64/store_v2vec_lanes.c: Add extra tests.
diff --git a/gcc/testsuite/gcc.target/aarch64/profile.c b/gcc/testsuite/gcc.target/aarch64/profile.c
new file mode 100644
index 0000000..c2dd112
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/profile.c
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+/* { dg-options "-march=armv8.2-a+profile" } */
+/* { dg-final { scan-assembler "\\.arch armv8.2-a\[\^\n\]*\\+profile\[\^\n\]*\n" } } */