1 /* { dg-require-effective-target vect_int_mult } */
8 signed short in
[2*K
][K
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
9 signed short coeff
[K
][K
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
11 int check_result
[K
] = {642816,660736,678656,696576,714496,732416,750336,768256,786176,804096,822016,839936,857856,875776,893696,911616,929536,947456,965376,983296,1001216,1019136,1037056,1054976,1072896,1090816,1108736,1126656,1144576,1162496,1180416,1198336};
13 __attribute__ ((noinline
)) void
18 for (k
= 0; k
< K
; k
++)
21 for (j
= 0; j
< K
; j
++)
22 for (i
= 0; i
< K
; i
++)
23 sum
+= in
[i
+k
][j
] * coeff
[i
][j
];
35 for (j
= 0; j
< K
; j
++)
37 for (i
= 0; i
< 2*K
; i
++)
40 for (i
= 0; i
< K
; i
++)
46 for (k
= 0; k
< K
; k
++)
47 if (out
[k
] != check_result
[k
])
53 /* Vectorization of loops with multiple types and double reduction is not
55 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */