1 /* { dg-require-effective-target vect_float } */
4 #include "../../tree-vect.h"
13 /* Vectorized. Fixed misaligment in the inner-loop. */
14 __attribute__ ((noinline
)) void foo (){
18 for (i
= 0; i
< N
; i
++) {
22 for (k
= 0; k
< 4; k
++) {
23 for (i
= 0; i
< N
; i
++) {
25 for (j
= k
; j
< M
; j
+=4) {
26 diff
+= in
[j
+i
]*coeff
[j
];
33 /* Vectorized. Changing misalignment in the inner-loop. */
34 __attribute__ ((noinline
)) void fir (){
38 for (i
= 0; i
< N
; i
++) {
40 for (j
= 0; j
< M
; j
++) {
41 diff
+= in
[j
+i
]*coeff
[j
];
54 for (i
= 0; i
< M
; i
++)
56 for (i
= 0; i
< N
+M
; i
++)
62 for (i
= 0; i
< N
; i
++) {
63 if (out
[i
] != fir_out
[i
])
70 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 2 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
71 /* { dg-final { cleanup-tree-dump "vect" } } */