http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60076

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
note: extract even/odd not supported by target

aha...  next try:

Index: gcc/testsuite/gcc.dg/vect/pr60012.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr60012.c (revision 207504)
+++ gcc/testsuite/gcc.dg/vect/pr60012.c (working copy)
@@ -8,14 +8,14 @@ typedef struct
 } complex16_t;

 void
-libvector_AccSquareNorm_ref (unsigned long long  *acc,
+libvector_AccSquareNorm_ref (unsigned int *acc,
                             const complex16_t *x, unsigned len)
 {
   unsigned i;
   for (i = 0; i < len; i++)
-    acc[i] += ((unsigned long long)((int)x[i].real * x[i].real))
-       + ((unsigned long long)((int)x[i].imag * x[i].imag));
+    acc[i] += ((unsigned int)((int)x[i].real * x[i].real))
+       + ((unsigned int)((int)x[i].imag * x[i].imag));
 }

-/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target {
vect_extract_even_odd } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

Reply via email to