* [PATCH] x86: extend vect-args testcase to AVX flavors
@ 2014-10-30 8:25 Jan Beulich
2014-10-30 8:39 ` Uros Bizjak
0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2014-10-30 8:25 UTC (permalink / raw)
To: gcc-patches; +Cc: ubizjak, Richard Henderson, hubicka
[-- Attachment #1: Type: text/plain, Size: 2559 bytes --]
gcc/testsuite:
2014-10-30 Jan Beulich <jbeulich@suse.com>
* gcc.target/i386/i386.exp: Extend option set to test
vect-args.c with to include -mavx, -mavx2, and -mavx512f.
* gcc.target/i386/vect-args.c: Add AVX* modes and tests.
--- a/gcc/testsuite/gcc.target/i386/i386.exp
+++ b/gcc/testsuite/gcc.target/i386/i386.exp
@@ -318,9 +318,9 @@ clearcap-init
global runtests
# Special case compilation of vect-args.c so we don't have to
-# replicate it 10 times.
+# replicate it 16 times.
if [runtest_file_p $runtests $srcdir/$subdir/vect-args.c] {
- foreach type { "" -mmmx -m3dnow -msse -msse2 } {
+ foreach type { "" -mmmx -m3dnow -msse -msse2 -mavx -mavx2 -mavx512f } {
foreach level { "" -O } {
set flags "$type $level"
verbose -log "Testing vect-args, $flags" 1
--- a/gcc/testsuite/gcc.target/i386/vect-args.c
+++ b/gcc/testsuite/gcc.target/i386/vect-args.c
@@ -1,6 +1,22 @@
/* { dg-do compile } */
/* { dg-options "-w -Wno-psabi" } */
+/* AVX512F and AVX512BW modes. */
+typedef unsigned char V64QImode __attribute__((vector_size(64)));
+typedef unsigned short V32HImode __attribute__((vector_size(64)));
+typedef unsigned int V16SImode __attribute__((vector_size(64)));
+typedef unsigned long long V8DImode __attribute__((vector_size(64)));
+typedef float V16SFmode __attribute__((vector_size(64)));
+typedef double V8DFmode __attribute__((vector_size(64)));
+
+/* AVX and AVX2 modes. */
+typedef unsigned char V32QImode __attribute__((vector_size(32)));
+typedef unsigned short V16HImode __attribute__((vector_size(32)));
+typedef unsigned int V8SImode __attribute__((vector_size(32)));
+typedef unsigned long long V4DImode __attribute__((vector_size(32)));
+typedef float V8SFmode __attribute__((vector_size(32)));
+typedef double V4DFmode __attribute__((vector_size(32)));
+
/* SSE1 and SSE2 modes. */
typedef unsigned char V16QImode __attribute__((vector_size(16)));
typedef unsigned short V8HImode __attribute__((vector_size(16)));
@@ -21,12 +37,27 @@ extern TYPE data_##TYPE; \
void r_##TYPE (TYPE x) { data_##TYPE = x; } \
void s_##TYPE (void) { r_##TYPE (data_##TYPE); }
+TEST(V64QImode)
+TEST(V32HImode)
+TEST(V16SImode)
+TEST(V8DImode)
+TEST(V16SFmode)
+TEST(V8DFmode)
+
+TEST(V32QImode)
+TEST(V16HImode)
+TEST(V8SImode)
+TEST(V4DImode)
+TEST(V8SFmode)
+TEST(V4DFmode)
+
TEST(V16QImode)
TEST(V8HImode)
TEST(V4SImode)
TEST(V2DImode)
TEST(V4SFmode)
TEST(V2DFmode)
+
TEST(V8QImode)
TEST(V4HImode)
TEST(V2SImode)
[-- Attachment #2: gcc-trunk-x86-testsuite-vect-args.patch --]
[-- Type: text/plain, Size: 2602 bytes --]
x86: extend vect-args testcase to AVX flavors
gcc/testsuite:
2014-10-30 Jan Beulich <jbeulich@suse.com>
* gcc.target/i386/i386.exp: Extend option set to test
vect-args.c with to include -mavx, -mavx2, and -mavx512f.
* gcc.target/i386/vect-args.c: Add AVX* modes and tests.
--- a/gcc/testsuite/gcc.target/i386/i386.exp
+++ b/gcc/testsuite/gcc.target/i386/i386.exp
@@ -318,9 +318,9 @@ clearcap-init
global runtests
# Special case compilation of vect-args.c so we don't have to
-# replicate it 10 times.
+# replicate it 16 times.
if [runtest_file_p $runtests $srcdir/$subdir/vect-args.c] {
- foreach type { "" -mmmx -m3dnow -msse -msse2 } {
+ foreach type { "" -mmmx -m3dnow -msse -msse2 -mavx -mavx2 -mavx512f } {
foreach level { "" -O } {
set flags "$type $level"
verbose -log "Testing vect-args, $flags" 1
--- a/gcc/testsuite/gcc.target/i386/vect-args.c
+++ b/gcc/testsuite/gcc.target/i386/vect-args.c
@@ -1,6 +1,22 @@
/* { dg-do compile } */
/* { dg-options "-w -Wno-psabi" } */
+/* AVX512F and AVX512BW modes. */
+typedef unsigned char V64QImode __attribute__((vector_size(64)));
+typedef unsigned short V32HImode __attribute__((vector_size(64)));
+typedef unsigned int V16SImode __attribute__((vector_size(64)));
+typedef unsigned long long V8DImode __attribute__((vector_size(64)));
+typedef float V16SFmode __attribute__((vector_size(64)));
+typedef double V8DFmode __attribute__((vector_size(64)));
+
+/* AVX and AVX2 modes. */
+typedef unsigned char V32QImode __attribute__((vector_size(32)));
+typedef unsigned short V16HImode __attribute__((vector_size(32)));
+typedef unsigned int V8SImode __attribute__((vector_size(32)));
+typedef unsigned long long V4DImode __attribute__((vector_size(32)));
+typedef float V8SFmode __attribute__((vector_size(32)));
+typedef double V4DFmode __attribute__((vector_size(32)));
+
/* SSE1 and SSE2 modes. */
typedef unsigned char V16QImode __attribute__((vector_size(16)));
typedef unsigned short V8HImode __attribute__((vector_size(16)));
@@ -21,12 +37,27 @@ extern TYPE data_##TYPE; \
void r_##TYPE (TYPE x) { data_##TYPE = x; } \
void s_##TYPE (void) { r_##TYPE (data_##TYPE); }
+TEST(V64QImode)
+TEST(V32HImode)
+TEST(V16SImode)
+TEST(V8DImode)
+TEST(V16SFmode)
+TEST(V8DFmode)
+
+TEST(V32QImode)
+TEST(V16HImode)
+TEST(V8SImode)
+TEST(V4DImode)
+TEST(V8SFmode)
+TEST(V4DFmode)
+
TEST(V16QImode)
TEST(V8HImode)
TEST(V4SImode)
TEST(V2DImode)
TEST(V4SFmode)
TEST(V2DFmode)
+
TEST(V8QImode)
TEST(V4HImode)
TEST(V2SImode)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86: extend vect-args testcase to AVX flavors
2014-10-30 8:25 [PATCH] x86: extend vect-args testcase to AVX flavors Jan Beulich
@ 2014-10-30 8:39 ` Uros Bizjak
2014-10-31 16:52 ` Kirill Yukhin
0 siblings, 1 reply; 3+ messages in thread
From: Uros Bizjak @ 2014-10-30 8:39 UTC (permalink / raw)
To: Jan Beulich; +Cc: gcc-patches, Richard Henderson, Jan Hubicka, Kirill Yukhin
On Thu, Oct 30, 2014 at 8:50 AM, Jan Beulich <JBeulich@suse.com> wrote:
> gcc/testsuite:
> 2014-10-30 Jan Beulich <jbeulich@suse.com>
>
> * gcc.target/i386/i386.exp: Extend option set to test
> vect-args.c with to include -mavx, -mavx2, and -mavx512f.
> * gcc.target/i386/vect-args.c: Add AVX* modes and tests.
OK, but let's also wait for Kirill's opinion.
Thanks,
Uros.
> --- a/gcc/testsuite/gcc.target/i386/i386.exp
> +++ b/gcc/testsuite/gcc.target/i386/i386.exp
> @@ -318,9 +318,9 @@ clearcap-init
>
> global runtests
> # Special case compilation of vect-args.c so we don't have to
> -# replicate it 10 times.
> +# replicate it 16 times.
> if [runtest_file_p $runtests $srcdir/$subdir/vect-args.c] {
> - foreach type { "" -mmmx -m3dnow -msse -msse2 } {
> + foreach type { "" -mmmx -m3dnow -msse -msse2 -mavx -mavx2 -mavx512f } {
> foreach level { "" -O } {
> set flags "$type $level"
> verbose -log "Testing vect-args, $flags" 1
> --- a/gcc/testsuite/gcc.target/i386/vect-args.c
> +++ b/gcc/testsuite/gcc.target/i386/vect-args.c
> @@ -1,6 +1,22 @@
> /* { dg-do compile } */
> /* { dg-options "-w -Wno-psabi" } */
>
> +/* AVX512F and AVX512BW modes. */
> +typedef unsigned char V64QImode __attribute__((vector_size(64)));
> +typedef unsigned short V32HImode __attribute__((vector_size(64)));
> +typedef unsigned int V16SImode __attribute__((vector_size(64)));
> +typedef unsigned long long V8DImode __attribute__((vector_size(64)));
> +typedef float V16SFmode __attribute__((vector_size(64)));
> +typedef double V8DFmode __attribute__((vector_size(64)));
> +
> +/* AVX and AVX2 modes. */
> +typedef unsigned char V32QImode __attribute__((vector_size(32)));
> +typedef unsigned short V16HImode __attribute__((vector_size(32)));
> +typedef unsigned int V8SImode __attribute__((vector_size(32)));
> +typedef unsigned long long V4DImode __attribute__((vector_size(32)));
> +typedef float V8SFmode __attribute__((vector_size(32)));
> +typedef double V4DFmode __attribute__((vector_size(32)));
> +
> /* SSE1 and SSE2 modes. */
> typedef unsigned char V16QImode __attribute__((vector_size(16)));
> typedef unsigned short V8HImode __attribute__((vector_size(16)));
> @@ -21,12 +37,27 @@ extern TYPE data_##TYPE; \
> void r_##TYPE (TYPE x) { data_##TYPE = x; } \
> void s_##TYPE (void) { r_##TYPE (data_##TYPE); }
>
> +TEST(V64QImode)
> +TEST(V32HImode)
> +TEST(V16SImode)
> +TEST(V8DImode)
> +TEST(V16SFmode)
> +TEST(V8DFmode)
> +
> +TEST(V32QImode)
> +TEST(V16HImode)
> +TEST(V8SImode)
> +TEST(V4DImode)
> +TEST(V8SFmode)
> +TEST(V4DFmode)
> +
> TEST(V16QImode)
> TEST(V8HImode)
> TEST(V4SImode)
> TEST(V2DImode)
> TEST(V4SFmode)
> TEST(V2DFmode)
> +
> TEST(V8QImode)
> TEST(V4HImode)
> TEST(V2SImode)
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86: extend vect-args testcase to AVX flavors
2014-10-30 8:39 ` Uros Bizjak
@ 2014-10-31 16:52 ` Kirill Yukhin
0 siblings, 0 replies; 3+ messages in thread
From: Kirill Yukhin @ 2014-10-31 16:52 UTC (permalink / raw)
To: Uros Bizjak; +Cc: Jan Beulich, gcc-patches, Richard Henderson, Jan Hubicka
On 30 Oct 09:32, Uros Bizjak wrote:
> On Thu, Oct 30, 2014 at 8:50 AM, Jan Beulich <JBeulich@suse.com> wrote:
> > gcc/testsuite:
> > 2014-10-30 Jan Beulich <jbeulich@suse.com>
> >
> > * gcc.target/i386/i386.exp: Extend option set to test
> > vect-args.c with to include -mavx, -mavx2, and -mavx512f.
> > * gcc.target/i386/vect-args.c: Add AVX* modes and tests.
>
> OK, but let's also wait for Kirill's opinion.
I like the change.
--
Thanks, K
>
> Thanks,
> Uros.
>
> > --- a/gcc/testsuite/gcc.target/i386/i386.exp
> > +++ b/gcc/testsuite/gcc.target/i386/i386.exp
> > @@ -318,9 +318,9 @@ clearcap-init
> >
> > global runtests
> > # Special case compilation of vect-args.c so we don't have to
> > -# replicate it 10 times.
> > +# replicate it 16 times.
> > if [runtest_file_p $runtests $srcdir/$subdir/vect-args.c] {
> > - foreach type { "" -mmmx -m3dnow -msse -msse2 } {
> > + foreach type { "" -mmmx -m3dnow -msse -msse2 -mavx -mavx2 -mavx512f } {
> > foreach level { "" -O } {
> > set flags "$type $level"
> > verbose -log "Testing vect-args, $flags" 1
> > --- a/gcc/testsuite/gcc.target/i386/vect-args.c
> > +++ b/gcc/testsuite/gcc.target/i386/vect-args.c
> > @@ -1,6 +1,22 @@
> > /* { dg-do compile } */
> > /* { dg-options "-w -Wno-psabi" } */
> >
> > +/* AVX512F and AVX512BW modes. */
> > +typedef unsigned char V64QImode __attribute__((vector_size(64)));
> > +typedef unsigned short V32HImode __attribute__((vector_size(64)));
> > +typedef unsigned int V16SImode __attribute__((vector_size(64)));
> > +typedef unsigned long long V8DImode __attribute__((vector_size(64)));
> > +typedef float V16SFmode __attribute__((vector_size(64)));
> > +typedef double V8DFmode __attribute__((vector_size(64)));
> > +
> > +/* AVX and AVX2 modes. */
> > +typedef unsigned char V32QImode __attribute__((vector_size(32)));
> > +typedef unsigned short V16HImode __attribute__((vector_size(32)));
> > +typedef unsigned int V8SImode __attribute__((vector_size(32)));
> > +typedef unsigned long long V4DImode __attribute__((vector_size(32)));
> > +typedef float V8SFmode __attribute__((vector_size(32)));
> > +typedef double V4DFmode __attribute__((vector_size(32)));
> > +
> > /* SSE1 and SSE2 modes. */
> > typedef unsigned char V16QImode __attribute__((vector_size(16)));
> > typedef unsigned short V8HImode __attribute__((vector_size(16)));
> > @@ -21,12 +37,27 @@ extern TYPE data_##TYPE; \
> > void r_##TYPE (TYPE x) { data_##TYPE = x; } \
> > void s_##TYPE (void) { r_##TYPE (data_##TYPE); }
> >
> > +TEST(V64QImode)
> > +TEST(V32HImode)
> > +TEST(V16SImode)
> > +TEST(V8DImode)
> > +TEST(V16SFmode)
> > +TEST(V8DFmode)
> > +
> > +TEST(V32QImode)
> > +TEST(V16HImode)
> > +TEST(V8SImode)
> > +TEST(V4DImode)
> > +TEST(V8SFmode)
> > +TEST(V4DFmode)
> > +
> > TEST(V16QImode)
> > TEST(V8HImode)
> > TEST(V4SImode)
> > TEST(V2DImode)
> > TEST(V4SFmode)
> > TEST(V2DFmode)
> > +
> > TEST(V8QImode)
> > TEST(V4HImode)
> > TEST(V2SImode)
> >
> >
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-10-31 16:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-30 8:25 [PATCH] x86: extend vect-args testcase to AVX flavors Jan Beulich
2014-10-30 8:39 ` Uros Bizjak
2014-10-31 16:52 ` Kirill Yukhin
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).