[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