PR tree-optimization/84740
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-reduc-mul_2.c
blob0e5086c509b131b8dae79a53b39b44c621386fe9
1 /* { dg-require-effective-target vect_int_mult } */
2 /* { dg-require-effective-target whole_vector_shift } */
4 /* Write a reduction loop to be reduced using vector shifts and folded. */
6 #include "tree-vect.h"
8 extern void abort(void);
10 int
11 main (unsigned char argc, char **argv)
13 unsigned char in[16];
14 unsigned char i = 0;
15 unsigned char sum = 1;
17 check_vect ();
19 for (i = 0; i < 16; i++)
20 in[i] = i + i + 1;
22 for (i = 0; i < 16; i++)
23 sum *= in[i];
25 if (sum != 33)
27 __builtin_printf("Failed %d\n", sum);
28 abort();
31 return 0;
34 /* { dg-final { scan-tree-dump "Reduce using vector shifts" "vect" } } */