On Tue, Nov 14, 2017 at 03:54:56PM +0000, Tamar Christina wrote:
> Hi All,
> 
> Dot Product is intended to only be available for Armv8.2-a and newer.
> While this restriction is reflected in the intrinsics, the patterns
> themselves were missing the Armv8.2-a bit.
> 
> This means that using -march=armv8.1-a+dotprod incorrectly got the
> auto-vectorizer to generate dot product instructions.
> 
> Regtested on aarch64-none-elf and no issues.
> 
> Ok for trunk?

What is the design here? That -march=armv8.1-a+dotprod is valid, but that
the +dotprod is silently ignored? Is that really less surprising than
a hard error?

How does this interact with -march=native ? If I remember right, we don't
get any good indication from the kernel that we are Armv8.2-A rather than
Armv8.1-A? Maybe I'm misremembering.

Thanks,
James

> 
> Thanks,
> Tamar
> 
> gcc/
> 2017-11-14  Tamar Christina  <tamar.christ...@arm.com>
> 
>       * config/aarch64/aarch64.h (TARGET_DOTPROD): Add AARCH64_ISA_V8_2.
> 
> gcc/testsuite/
> 2017-11-14  Tamar Christina  <tamar.christ...@arm.com>
> 
>       * gcc.target/aarch64/advsimd-intrinsics/vect-dot-s8_1.c: New.
>       * gcc.target/aarch64/advsimd-intrinsics/vect-dot-s8_2.c: New.

Reply via email to