diff mbox

Adjust vect-widen-mult-const-[su]16.c for r226675

Message ID 1449258677.3141.7.camel@gnopaine
State New
Headers show

Commit Message

Bill Schmidt Dec. 4, 2015, 7:51 p.m. UTC
Since r226675, we have been seeing these failures:

FAIL: gcc.dg/vect/vect-widen-mult-const-s16.c -flto -ffat-lto-objects
scan-tree-dump-times vect "pattern recognized" 2
FAIL: gcc.dg/vect/vect-widen-mult-const-s16.c scan-tree-dump-times vect
"pattern recognized" 2
FAIL: gcc.dg/vect/vect-widen-mult-const-u16.c -flto -ffat-lto-objects
scan-tree-dump-times vect "pattern recognized" 2
FAIL: gcc.dg/vect/vect-widen-mult-const-u16.c scan-tree-dump-times vect
"pattern recognized" 2

Comparing the vect-details dumps from r226674 to r226675, I see these as
the reason:

63a64,66
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: vect_recog_mult_pattern: detected:
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: patt_47 = _6 << 2;
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: pattern recognized: patt_47 = _6 << 2;
70a74,76
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: vect_recog_mult_pattern: detected:
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: patt_40 = _6 << 1;
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:16:3: note: pattern recognized: patt_40 = _6 << 1;

747a754,756
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: vect_recog_mult_pattern: detected:
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: patt_47 = _6 << 2;
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: pattern recognized: patt_47 = _6 << 2;
754a764,766
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: vect_recog_mult_pattern: detected:
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: patt_40 = _6 << 1;
> /home/wschmidt/gcc/gcc-mainline-base/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c:31:3: note: pattern recognized: patt_40 = _6 << 1;

These seems precisely what's expected, given the nature of the patch,
which is looking for these opportunities.  So it's likely that we should
just change

/* { dg-final { scan-tree-dump-times "pattern recognized" 2
"vect" { target vect_widen_mult_hi_to_si_pattern } } } */

to 

/* { dg-final { scan-tree-dump-times "pattern recognized" 6
"vect" { target vect_widen_mult_hi_to_si_pattern } } } */

and similarly for the unsigned case.  The following patch does this.
However, I wanted to run this by Venkat since this was apparently not
detected when his patch went in.  This doesn't appear to be a
target-specific issue, and most targets support
vect_widen_mult_hi_to_si_pattern, so I'm not sure why this wasn't fixed
with the original patch.  Will this change break on any other targets
for some reason?

Tested on powerpc64le-unknown-linux-gnu.  Ok for trunk?

Thanks,
Bill


[gcc/testsuite]

2015-12-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vect/vect-widen-mult-const-s16.c: Change number of
	occurrences of "pattern recognized" to 6.
	* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
diff mbox

Patch

Index: gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c	(revision 231278)
+++ gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c	(working copy)
@@ -56,5 +56,5 @@  int main (void)
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_widen_mult_hi_to_si } } } */
 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
-/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
+/* { dg-final { scan-tree-dump-times "pattern recognized" 6 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
 
Index: gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c	(revision 231278)
+++ gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c	(working copy)
@@ -73,4 +73,4 @@  int main (void)
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" { target vect_widen_mult_hi_to_si } } } */
 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
-/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
+/* { dg-final { scan-tree-dump-times "pattern recognized" 8 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */