1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_float } */
3 /* { dg-additional-options "-Ofast -funroll-loops" } */
7 #define IND(x,y) ((x) + (y)*NXX)
8 float **In
, **Out
, **V
;
10 void foo(int I
, int J
, int K1
, int K2
, int L1
, int L2
)
12 for(int i
=0; i
< I
; i
++)
16 for(int j
=0; j
< J
; j
++)
20 for(int l
=L1
; l
<L2
; l
++)
22 for(int k
=K1
; k
<K2
; k
++)
26 for(int m
=-2; m
<=2; m
++)
28 for(int n
=-2; n
<=2; n
++, offset
++)
29 sum
+= in
[IND((k
+n
), (l
+m
))] * v
[offset
];
39 /* { dg-final { scan-tree-dump "improved number of alias checks from \[0-9\]* to 2" "vect" } } */