Message ID | 20230419020336.722450-1-guojiufu@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | PR testsuite/106879 FAIL: gcc.dg/vect/bb-slp-layout-19.c on powerpc64 | expand |
Hi Jeff, on 2023/4/19 10:03, Jiufu Guo wrote: > Hi, > > On P7, option -mno-allow-movmisalign is added during testing, which > prevents slp happen on the case. > > Like Like PR65484 and PR87306, this patch use vect_hw_misalig to guard Dup like... ~~ missing the last character n. > the case on powerpc targets. > > Tested on ppc64{le,} and x86_64. > Is this ok for trunk? > > BR, > Jeff (Jiufu) > > gcc/testsuite/ChangeLog: > > PR testsuite/106879 > * gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with > vect_hw_misalig on POWERs. ... ~~~~~ Same here. OK for trunk with these nits fixed, thanks! BR, Kewen > > --- > gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c > index f075a83a25b..faf98e8d3c0 100644 > --- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c > +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c > @@ -31,4 +31,9 @@ void f() > e[3] = b3; > } > > -/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } */ > +/* On older powerpc hardware (POWER7 and earlier), the default flag > + -mno-allow-movmisalign prevents vectorization. On POWER8 and later, > + when vect_hw_misalign is true, vectorization occurs. For other > + targets, ! vect_no_align is a sufficient test. */ > + > +/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */
Hi Kewen, On 2023-04-19 10:53, Kewen.Lin wrote: > Hi Jeff, > > on 2023/4/19 10:03, Jiufu Guo wrote: >> Hi, >> >> On P7, option -mno-allow-movmisalign is added during testing, which >> prevents slp happen on the case. >> >> Like Like PR65484 and PR87306, this patch use vect_hw_misalig to guard > Dup like... ~~ missing the last > character n. Always thanks for your helpful catching and comments! Committed via r14-105-g57e7229a29ca0e. BR, Jeff (Jiufu) > >> the case on powerpc targets. >> >> Tested on ppc64{le,} and x86_64. >> Is this ok for trunk? >> >> BR, >> Jeff (Jiufu) >> >> gcc/testsuite/ChangeLog: >> >> PR testsuite/106879 >> * gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with >> vect_hw_misalig on POWERs. > ... ~~~~~ Same here. > > OK for trunk with these nits fixed, thanks! > > BR, > Kewen > >> >> --- >> gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c >> b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c >> index f075a83a25b..faf98e8d3c0 100644 >> --- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c >> +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c >> @@ -31,4 +31,9 @@ void f() >> e[3] = b3; >> } >> >> -/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = >> VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } >> */ >> +/* On older powerpc hardware (POWER7 and earlier), the default flag >> + -mno-allow-movmisalign prevents vectorization. On POWER8 and >> later, >> + when vect_hw_misalign is true, vectorization occurs. For other >> + targets, ! vect_no_align is a sufficient test. */ >> + >> +/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = >> VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { >> { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c index f075a83a25b..faf98e8d3c0 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c @@ -31,4 +31,9 @@ void f() e[3] = b3; } -/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } */ +/* On older powerpc hardware (POWER7 and earlier), the default flag + -mno-allow-movmisalign prevents vectorization. On POWER8 and later, + when vect_hw_misalign is true, vectorization occurs. For other + targets, ! vect_no_align is a sufficient test. */ + +/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */