4 #define NINTS (VECTOR_BITS / 32)
10 #define RESULT (NINTS * (NINTS - 1) / 2 * N + NINTS)
12 extern void abort (void);
19 unsigned long __attribute__((noinline
,noclone
))
20 addfst(giga
const *gptr
, int num
)
22 unsigned int retval
= 0;
24 for (i
= 0; i
< num
; i
++)
25 retval
+= gptr
[i
].g
[0];
35 for (i
= 0; i
< NINTS
; ++i
)
36 for (j
= 0; j
< N
; ++j
)
39 __asm__
volatile ("");
41 if (addfst (g
, NINTS
) != RESULT
)
46 /* We don't want to vectorize the single-element interleaving in the way
47 we currently do that (without ignoring not needed vectors in the
48 gap between gptr[0].g[0] and gptr[1].g[0]), because that's very
49 sub-optimal and causes memory explosion (even though the cost model
50 should reject that in the end). */
52 /* { dg-final { scan-tree-dump-times "vectorized 0 loops in function" 2 "vect" } } */