[Bug testsuite/89250] [9 regression] gcc.dg/vect/vect-24.c XPASSes
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 8 11:54:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89250
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|needs-bisection |
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
The 2nd rev looks odd. So we do perform if-conversion here and some
if-conversion enhancement looking at array bounds / niter ranges might have
enabled that. This also means vectorization has to support the if-converted
form:
_1 = ib[i_360];
_2 = ic[i_360];
_20 = _2 != 0;
_328 = (int) _20;
iftmp.0_343 = _1 == 0 ? _328 : 1;
ia[i_360] = iftmp.0_343;
so vect_condition is probably required (we fail to see we could use
a bitwise OR here). I am going to install the following on trunk and
see what targets end up FAILing.
Index: gcc/testsuite/gcc.dg/vect/vect-24.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-24.c (revision 268668)
+++ gcc/testsuite/gcc.dg/vect/vect-24.c (working copy)
@@ -122,5 +122,7 @@ int main (void)
return main1 ();
}
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail { {
! aarch64*-*-* } && { ! arm-*-* } } } } } */
+/* The short-cutting || is if-converted using COND_EXPRs rather than
+ bitwise or. */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail { !
vect_condition } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0
"vect" { xfail { ! vect_align_stack_vars } } } } */
More information about the Gcc-bugs
mailing list