[PATCH][GCC][ARM] Dot Product commandline options [Patch (1/8)]
Kyrill Tkachov
kyrylo.tkachov@foss.arm.com
Wed Sep 13 10:02:00 GMT 2017
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
More information about the Gcc-patches
mailing list