public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
@ 2017-09-01 13:23 Tamar Christina
  2017-09-04 11:10 ` James Greenhalgh
  0 siblings, 1 reply; 8+ messages in thread
From: Tamar Christina @ 2017-09-01 13:23 UTC (permalink / raw)
  To: gcc-patches; +Cc: nd, james.greenhalgh, Richard.Earnshaw, Marcus.Shawcroft

[-- Attachment #1: Type: text/plain, Size: 610 bytes --]

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

-- 

[-- Attachment #2: 7947-diff.patch --]
[-- Type: text/x-diff, Size: 1203 bytes --]

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"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-09-01 13:23 [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)] Tamar Christina
@ 2017-09-04 11:10 ` James Greenhalgh
  2017-09-04 11:35   ` Tamar Christina
  0 siblings, 1 reply; 8+ messages in thread
From: James Greenhalgh @ 2017-09-04 11:10 UTC (permalink / raw)
  To: Tamar Christina; +Cc: gcc-patches, nd, Richard.Earnshaw, Marcus.Shawcroft

On Fri, Sep 01, 2017 at 02:23:39PM +0100, Tamar Christina wrote:
> 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.

I'm surprised that this worked!

It looks like you unconditionally add the -march=armv8.2-a+dotprod
options, which should cause you to generate instructions which will
not execute on targets which don't support this instruction. As far as I can
see, this is an execute test, so that should cause undefined instruction
exceptions on an Armv8-A target at the very least.

So, not OK in its current form.

Thanks,
James

> 
> Ok for trunk?
> 
> gcc/testsuite
> 2017-09-01  Tamar Christina  <tamar.christina@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.
> 
> -- 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-09-04 11:10 ` James Greenhalgh
@ 2017-09-04 11:35   ` Tamar Christina
  2017-10-06 12:45     ` Tamar Christina
  0 siblings, 1 reply; 8+ messages in thread
From: Tamar Christina @ 2017-09-04 11:35 UTC (permalink / raw)
  To: James Greenhalgh; +Cc: gcc-patches, nd, Richard Earnshaw, Marcus Shawcroft

> I'm surprised that this worked!
> 
> It looks like you unconditionally add the -march=armv8.2-a+dotprod options,
> which should cause you to generate instructions which will not execute on
> targets which don't support this instruction. As far as I can see, this is an
> execute test, so that should cause undefined instruction exceptions on an
> Armv8-A target at the very least.

It's not, there is no dg-do specified, which means it defaults to "compile"
This is a straight compilation tests that checks to see if the target can do the
reduction. There may be a main, but it's never executed, which is why I don't
have a hardware check against it.

The unconditional armv8.2+dotprod is for this reason. It doesn't matter what hardware.

> 
> So, not OK in its current form.
> 
> Thanks,
> James
> 
> >
> > Ok for trunk?
> >
> > gcc/testsuite
> > 2017-09-01  Tamar Christina  <tamar.christina@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.
> >
> > --

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-09-04 11:35   ` Tamar Christina
@ 2017-10-06 12:45     ` Tamar Christina
  2017-10-12 13:32       ` Richard Earnshaw (lists)
  2017-10-24 15:14       ` James Greenhalgh
  0 siblings, 2 replies; 8+ messages in thread
From: Tamar Christina @ 2017-10-06 12:45 UTC (permalink / raw)
  To: James Greenhalgh; +Cc: gcc-patches, nd, Richard Earnshaw, Marcus Shawcroft

[-- Attachment #1: Type: text/plain, Size: 2065 bytes --]

Hi All,

this is a respin with the changes suggested. Note that this patch is no 8/8 in the series.

Regtested on arm-none-eabi, armeb-none-eabi,
aarch64-none-elf and aarch64_be-none-elf with no issues found.

Ok for trunk?

gcc/testsuite
2017-10-06  Tamar Christina  <tamar.christina@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.
________________________________________
From: Tamar Christina
Sent: Monday, September 4, 2017 12:35:39 PM
To: James Greenhalgh
Cc: gcc-patches@gcc.gnu.org; nd; Richard Earnshaw; Marcus Shawcroft
Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]

> I'm surprised that this worked!
>
> It looks like you unconditionally add the -march=armv8.2-a+dotprod options,
> which should cause you to generate instructions which will not execute on
> targets which don't support this instruction. As far as I can see, this is an
> execute test, so that should cause undefined instruction exceptions on an
> Armv8-A target at the very least.

It's not, there is no dg-do specified, which means it defaults to "compile"
This is a straight compilation tests that checks to see if the target can do the
reduction. There may be a main, but it's never executed, which is why I don't
have a hardware check against it.

The unconditional armv8.2+dotprod is for this reason. It doesn't matter what hardware.

>
> So, not OK in its current form.
>
> Thanks,
> James
>
> >
> > Ok for trunk?
> >
> > gcc/testsuite
> > 2017-09-01  Tamar Christina  <tamar.christina@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.
> >
> > --


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 7947-diff.patch --]
[-- Type: text/x-patch; name="7947-diff.patch", Size: 1363 bytes --]

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..acb6862f8274fb954f69bd45e8edeedcdca4cbf7 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,7 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target { aarch64*-*-* || arm*-*-* } } } */
+/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */
+/* { dg-add-options arm_v8_2a_dotprod_neon }  */
 
 #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..c23fe5df252b94d6722708096b8aba7edd100f1a 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,7 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target { aarch64*-*-* || arm*-*-* } } } */
+/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */
+/* { dg-add-options arm_v8_2a_dotprod_neon }  */
 
 #include <stdarg.h>
 #include "tree-vect.h"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-10-06 12:45     ` Tamar Christina
@ 2017-10-12 13:32       ` Richard Earnshaw (lists)
  2017-10-12 14:02         ` Tamar Christina
  2017-10-24 15:14       ` James Greenhalgh
  1 sibling, 1 reply; 8+ messages in thread
From: Richard Earnshaw (lists) @ 2017-10-12 13:32 UTC (permalink / raw)
  To: Tamar Christina, James Greenhalgh; +Cc: gcc-patches, nd, Marcus Shawcroft

On 06/10/17 13:45, Tamar Christina wrote:
> Hi All,
> 
> this is a respin with the changes suggested. Note that this patch is no 8/8 in the series.
> 
> Regtested on arm-none-eabi, armeb-none-eabi,
> aarch64-none-elf and aarch64_be-none-elf with no issues found.
> 
> Ok for trunk?
> 
> gcc/testsuite
> 2017-10-06  Tamar Christina  <tamar.christina@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.
> ________________________________________
> From: Tamar Christina
> Sent: Monday, September 4, 2017 12:35:39 PM
> To: James Greenhalgh
> Cc: gcc-patches@gcc.gnu.org; nd; Richard Earnshaw; Marcus Shawcroft
> Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
> 
>> I'm surprised that this worked!
>>
>> It looks like you unconditionally add the -march=armv8.2-a+dotprod options,
>> which should cause you to generate instructions which will not execute on
>> targets which don't support this instruction. As far as I can see, this is an
>> execute test, so that should cause undefined instruction exceptions on an
>> Armv8-A target at the very least.
> 
> It's not, there is no dg-do specified, which means it defaults to "compile"
> This is a straight compilation tests that checks to see if the target can do the
> reduction. There may be a main, but it's never executed, which is why I don't
> have a hardware check against it.
> 
> The unconditional armv8.2+dotprod is for this reason. It doesn't matter what hardware.
> 
>>
>> So, not OK in its current form.
>>
>> Thanks,
>> James
>>
>>>
>>> Ok for trunk?
>>>
>>> gcc/testsuite
>>> 2017-09-01  Tamar Christina  <tamar.christina@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.
>>>
>>> --
> 

iff --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..acb6862f8274fb954f69bd45e8edeedcdca4cbf7
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,7 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target {
aarch64*-*-* || arm*-*-* } } } */

Why do you need hardware with dot-product if these are compile-only
tests?  (presumably that's what the _hw at the end of the require means).

R.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-10-12 13:32       ` Richard Earnshaw (lists)
@ 2017-10-12 14:02         ` Tamar Christina
  2017-10-23  9:38           ` Tamar Christina
  0 siblings, 1 reply; 8+ messages in thread
From: Tamar Christina @ 2017-10-12 14:02 UTC (permalink / raw)
  To: Richard Earnshaw, James Greenhalgh; +Cc: gcc-patches, nd, Marcus Shawcroft



> -----Original Message-----
> From: Richard Earnshaw (lists) [mailto:Richard.Earnshaw@arm.com]
> Sent: 12 October 2017 14:21
> To: Tamar Christina; James Greenhalgh
> Cc: gcc-patches@gcc.gnu.org; nd; Marcus Shawcroft
> Subject: Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product
> for generic tests for ARM and AArch64 [Patch (7/8)]
> 
> On 06/10/17 13:45, Tamar Christina wrote:
> > Hi All,
> >
> > this is a respin with the changes suggested. Note that this patch is no 8/8 in
> the series.
> >
> > Regtested on arm-none-eabi, armeb-none-eabi, aarch64-none-elf and
> > aarch64_be-none-elf with no issues found.
> >
> > Ok for trunk?
> >
> > gcc/testsuite
> > 2017-10-06  Tamar Christina  <tamar.christina@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.
> > ________________________________________
> > From: Tamar Christina
> > Sent: Monday, September 4, 2017 12:35:39 PM
> > To: James Greenhalgh
> > Cc: gcc-patches@gcc.gnu.org; nd; Richard Earnshaw; Marcus Shawcroft
> > Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product
> > for generic tests for ARM and AArch64 [Patch (7/8)]
> >
> >> I'm surprised that this worked!
> >>
> >> It looks like you unconditionally add the -march=armv8.2-a+dotprod
> >> options, which should cause you to generate instructions which will
> >> not execute on targets which don't support this instruction. As far
> >> as I can see, this is an execute test, so that should cause undefined
> >> instruction exceptions on an Armv8-A target at the very least.
> >
> > It's not, there is no dg-do specified, which means it defaults to "compile"
> > This is a straight compilation tests that checks to see if the target
> > can do the reduction. There may be a main, but it's never executed,
> > which is why I don't have a hardware check against it.
> >
> > The unconditional armv8.2+dotprod is for this reason. It doesn't matter
> what hardware.
> >
> >>
> >> So, not OK in its current form.
> >>
> >> Thanks,
> >> James
> >>
> >>>
> >>> Ok for trunk?
> >>>
> >>> gcc/testsuite
> >>> 2017-09-01  Tamar Christina  <tamar.christina@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.
> >>>
> >>> --
> >
> 
> iff --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..acb6862f8274fb954f69bd45e8
> edeedcdca4cbf7
> 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,7 @@
>  /* { dg-require-effective-target vect_int } */
> +/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target {
> aarch64*-*-* || arm*-*-* } } } */
> 
> Why do you need hardware with dot-product if these are compile-only
> tests?  (presumably that's what the _hw at the end of the require means).

James was right in that vect.exp overrides the default from compile to run for these tests,
So they are execution tests.

> 
> R.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-10-12 14:02         ` Tamar Christina
@ 2017-10-23  9:38           ` Tamar Christina
  0 siblings, 0 replies; 8+ messages in thread
From: Tamar Christina @ 2017-10-23  9:38 UTC (permalink / raw)
  To: Richard Earnshaw, James Greenhalgh; +Cc: gcc-patches, nd, Marcus Shawcroft

Ping
________________________________________
From: Tamar Christina
Sent: Thursday, October 12, 2017 3:00:36 PM
To: Richard Earnshaw; James Greenhalgh
Cc: gcc-patches@gcc.gnu.org; nd; Marcus Shawcroft
Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]

> -----Original Message-----
> From: Richard Earnshaw (lists) [mailto:Richard.Earnshaw@arm.com]
> Sent: 12 October 2017 14:21
> To: Tamar Christina; James Greenhalgh
> Cc: gcc-patches@gcc.gnu.org; nd; Marcus Shawcroft
> Subject: Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product
> for generic tests for ARM and AArch64 [Patch (7/8)]
>
> On 06/10/17 13:45, Tamar Christina wrote:
> > Hi All,
> >
> > this is a respin with the changes suggested. Note that this patch is no 8/8 in
> the series.
> >
> > Regtested on arm-none-eabi, armeb-none-eabi, aarch64-none-elf and
> > aarch64_be-none-elf with no issues found.
> >
> > Ok for trunk?
> >
> > gcc/testsuite
> > 2017-10-06  Tamar Christina  <tamar.christina@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.
> > ________________________________________
> > From: Tamar Christina
> > Sent: Monday, September 4, 2017 12:35:39 PM
> > To: James Greenhalgh
> > Cc: gcc-patches@gcc.gnu.org; nd; Richard Earnshaw; Marcus Shawcroft
> > Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product
> > for generic tests for ARM and AArch64 [Patch (7/8)]
> >
> >> I'm surprised that this worked!
> >>
> >> It looks like you unconditionally add the -march=armv8.2-a+dotprod
> >> options, which should cause you to generate instructions which will
> >> not execute on targets which don't support this instruction. As far
> >> as I can see, this is an execute test, so that should cause undefined
> >> instruction exceptions on an Armv8-A target at the very least.
> >
> > It's not, there is no dg-do specified, which means it defaults to "compile"
> > This is a straight compilation tests that checks to see if the target
> > can do the reduction. There may be a main, but it's never executed,
> > which is why I don't have a hardware check against it.
> >
> > The unconditional armv8.2+dotprod is for this reason. It doesn't matter
> what hardware.
> >
> >>
> >> So, not OK in its current form.
> >>
> >> Thanks,
> >> James
> >>
> >>>
> >>> Ok for trunk?
> >>>
> >>> gcc/testsuite
> >>> 2017-09-01  Tamar Christina  <tamar.christina@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.
> >>>
> >>> --
> >
>
> iff --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..acb6862f8274fb954f69bd45e8
> edeedcdca4cbf7
> 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,7 @@
>  /* { dg-require-effective-target vect_int } */
> +/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target {
> aarch64*-*-* || arm*-*-* } } } */
>
> Why do you need hardware with dot-product if these are compile-only
> tests?  (presumably that's what the _hw at the end of the require means).

James was right in that vect.exp overrides the default from compile to run for these tests,
So they are execution tests.

>
> R.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]
  2017-10-06 12:45     ` Tamar Christina
  2017-10-12 13:32       ` Richard Earnshaw (lists)
@ 2017-10-24 15:14       ` James Greenhalgh
  1 sibling, 0 replies; 8+ messages in thread
From: James Greenhalgh @ 2017-10-24 15:14 UTC (permalink / raw)
  To: Tamar Christina; +Cc: gcc-patches, nd, Richard Earnshaw, Marcus Shawcroft

On Fri, Oct 06, 2017 at 01:45:15PM +0100, Tamar Christina wrote:
> Hi All,
> 
> this is a respin with the changes suggested. Note that this patch is no 8/8 in the series.
> 
> Regtested on arm-none-eabi, armeb-none-eabi,
> aarch64-none-elf and aarch64_be-none-elf with no issues found.
> 
> Ok for trunk?
> 
> gcc/testsuite
> 2017-10-06  Tamar Christina  <tamar.christina@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..acb6862f8274fb954f69bd45e8edeedcdca4cbf7 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,7 @@
>  /* { dg-require-effective-target vect_int } */
> +/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target { aarch64*-*-* || arm*-*-* } } } */
> +/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */

Drop the -O3, should this one only apply for AArch64?

> +/* { dg-add-options arm_v8_2a_dotprod_neon }  */
>  
>  #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..c23fe5df252b94d6722708096b8aba7edd100f1a 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,7 @@
>  /* { dg-require-effective-target vect_int } */
> +/* { dg-require-effective-target arm_v8_2a_dotprod_neon_hw { target { aarch64*-*-* || arm*-*-* } } } */
> +/* { dg-additional-options "-O3 -march=armv8.2-a+dotprod" { target { aarch64*-*-* || arm*-*-* } } } */

Drop the -O3, should this one only apply for AArch64?

Likewise here.

Otherwise, this is OK for trunk.

Reviewed By: <james.greenhalgh@arm.com>

Thanks,
James

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-10-24 15:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-01 13:23 [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)] Tamar Christina
2017-09-04 11:10 ` James Greenhalgh
2017-09-04 11:35   ` Tamar Christina
2017-10-06 12:45     ` Tamar Christina
2017-10-12 13:32       ` Richard Earnshaw (lists)
2017-10-12 14:02         ` Tamar Christina
2017-10-23  9:38           ` Tamar Christina
2017-10-24 15:14       ` James Greenhalgh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).