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.christ...@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



Reply via email to