1 /* { dg-options "-O3 -fdump-tree-lversion-details" } */
2 /* { dg-require-effective-target size32plus } */
4 /* The simplest IV case. */
7 f1 (double *x
, int stepx
, int n
)
9 for (int i
= 0; i
< n
; ++i
)
14 f2 (double *x
, int stepx
, int limit
)
16 for (int i
= 0; i
< limit
; i
+= stepx
)
21 f3 (double *x
, int stepx
, int limit
)
23 for (double *y
= x
; y
< x
+ limit
; y
+= stepx
)
28 f4 (double *x
, int stepx
, unsigned int n
)
30 for (unsigned int i
= 0; i
< n
; ++i
)
35 f5 (double *x
, int stepx
, unsigned int limit
)
37 for (unsigned int i
= 0; i
< limit
; i
+= stepx
)
42 f6 (double *x
, int stepx
, unsigned int limit
)
44 for (double *y
= x
; y
< x
+ limit
; y
+= stepx
)
48 #if __SIZEOF_SIZE_T__ < 4
57 for (int i
= 0; i
< n
; ++i
)
62 g2 (int stepx
, int limit
)
64 for (int i
= 0; i
< limit
; i
+= stepx
)
69 g3 (int stepx
, int limit
)
71 for (double *y
= x
; y
< x
+ limit
; y
+= stepx
)
76 g4 (int stepx
, unsigned int n
)
78 for (unsigned int i
= 0; i
< n
; ++i
)
83 g5 (int stepx
, unsigned int limit
)
85 for (unsigned int i
= 0; i
< limit
; i
+= stepx
)
90 g6 (int stepx
, unsigned int limit
)
92 for (double *y
= x
; y
< x
+ limit
; y
+= stepx
)
96 /* { dg-final { scan-tree-dump-times {want to version containing loop} 12 "lversion" } } */
97 /* { dg-final { scan-tree-dump-times {versioned this loop} 12 "lversion" } } */