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]

Re: [PATCH, GCC, AARCH64] Add support for +profile extension


Hi Andre,

On 09/07/18 14:20, Andre Vieira (lists) wrote:
Hi,

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.

Boostrapped aarch64-none-linux-gnu and ran regression tests.

Is it OK for trunk?


This looks sensible to me (though you'll need approval from a maintainer) with a small ChangeLog nit...

gcc/ChangeLog:
2018-07-09  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-09 Andre Vieira <andre.simoesdiasvieira@arm.com>


... Make sure there's two spaces between the date, name and email.

Thanks,
Kyrill

        * gcc.target/aarch64/profile.c: New test.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]