This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][GCC][ARM] Dot Product commandline options [Patch (1/8)]
- From: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- To: Tamar Christina <tamar dot christina at arm dot com>, gcc-patches at gcc dot gnu dot org
- Cc: nd at arm dot com, Ramana dot Radhakrishnan at arm dot com, Richard dot Earnshaw at arm dot com, nickc at redhat dot com
- Date: Wed, 13 Sep 2017 11:01:55 +0100
- Subject: Re: [PATCH][GCC][ARM] Dot Product commandline options [Patch (1/8)]
- Authentication-results: sourceware.org; auth=none
- References: <20170901131912.GA31822@arm.com>
Hi Tamar,
On 01/09/17 14:19, Tamar Christina wrote:
Hi All,
This patch adds support for the +dotprod extension to ARM.
Dot Product requires Adv.SIMD to work and so enables this option
by default when enabled.
It is available from ARMv8.2-a and onwards and is enabled by
default on Cortex-A55 and Cortex-A75.
Regtested and bootstrapped on arm-none-eabi and no issues.
I'm assuming you mean arm-none-linux-gnueabihf :)
Ok for trunk?
gcc/
2017-09-01 Tamar Christina <tamar.christina@arm.com>
* config/arm/arm.h (TARGET_DOTPROD): New.
* config/arm/arm.c (arm_arch_dotprod): New.
(arm_option_reconfigure_globals): Add arm_arch_dotprod.
* config/arm/arm-c.c (__ARM_FEATURE_DOTPROD): New.
* config/arm/arm-cpus.in (cortex-a55, cortex-75): Enabled +dotprod.
(armv8.2-a, cortex-a75.cortex-a55): Likewise.
* config/arm/arm-isa.h (isa_bit_dotprod, ISA_DOTPROD): New.
arm-isa.h is now autogenerated after r251799 so you'll need to rebase on
top of that.
That being said, that patch was temporarily reverted [1] so you'll have
to apply it manually in your
tree to rebase, or wait until it is reapplied.
[1] https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00579.html
The patch looks ok to me otherwise with a documentation nit below.
* config/arm/t-multilib (v8_2_a_simd_variants): Add dotprod.
* doc/invoke.texi (armv8.2-a): Document dotprod
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -15492,6 +15492,10 @@ The ARMv8.1 Advanced SIMD and floating-point instructions.
The cryptographic instructions. This also enables the Advanced SIMD and
floating-point instructions.
+@item +dotprod
+Enable the Dot Product extension. This also enables Advanced SIMD instructions
+and allows auto vectorization of dot products to the Dot Product instructions.
This should be "auto-vectorization"
Thanks,
Kyrill