Hi All, This patch enables tests for Dot Product vectorization in gcc for ARM and AArch64.
The ARMv8.2-a Dot Product instructions only support 8-bit element vectorization. Dot product is available from ARMv8.2-a and onwards. Regtested and bootstrapped on aarch64-none-elf and arm-none-eabi and no issues. Ok for trunk? gcc/testsuite 2017-09-01 Tamar Christina <tamar.christ...@arm.com> * gcc.dg/vect/vect-reduc-dot-s8a.c (dg-additional-options, dg-require-effective-target): Add +dotprod. * gcc.dg/vect/vect-reduc-dot-u8a.c (dg-additional-options, dg-require-effective-target): Add +dotprod. --
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c index dc4f52019d5435edbbc811b73dee0f98ff44c1b1..c36fbcbf4693f59c2ca747aeb2d41dcd0f48f673 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */ +/* { dg-require-effective-target arm_arch_v8a_ok { target arm*-*-* } } */ #include <stdarg.h> #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c index f3cc6c78c25305d91becd585be8949514ebc521c..c449103d8c8ed8d0861c7e9c231558c86d4f1b85 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */ +/* { dg-require-effective-target arm_arch_v8a_ok { target arm*-*-* } } */ #include <stdarg.h> #include "tree-vect.h"