131
|
1 /* { dg-do compile } */
|
|
2 /* { dg-additional-options "-fgimple -fdump-tree-optimized -ffast-math" } */
|
|
3
|
|
4 double __GIMPLE (startwith("loop"))
|
|
5 neg_xi (double *x)
|
|
6 {
|
|
7 int i;
|
|
8 long unsigned int index;
|
|
9 long unsigned int offset;
|
|
10 double * xi_ptr;
|
|
11 double xi;
|
|
12 double neg_xi;
|
|
13 double res;
|
|
14 unsigned int ivtmp;
|
|
15
|
|
16 bb_1:
|
|
17 goto bb_2;
|
|
18
|
|
19 bb_2:
|
|
20 res_1 = __PHI (bb_1: 0.0, bb_3: res_2);
|
|
21 i_4 = __PHI (bb_1: 0, bb_3: i_5);
|
|
22 ivtmp_6 = __PHI (bb_1: 100U, bb_3: ivtmp_7);
|
|
23 index = (long unsigned int) i_4;
|
|
24 offset = index * 8UL;
|
|
25 xi_ptr = x_8(D) + offset;
|
|
26 xi = *xi_ptr;
|
|
27 neg_xi = -xi;
|
|
28 res_2 = neg_xi + res_1;
|
|
29 i_5 = i_4 + 1;
|
|
30 ivtmp_7 = ivtmp_6 - 1U;
|
|
31 if (ivtmp_7 != 0U)
|
|
32 goto bb_3;
|
|
33 else
|
|
34 goto bb_4;
|
|
35
|
|
36 bb_3:
|
|
37 goto bb_2;
|
|
38
|
|
39 bb_4:
|
|
40 res_3 = __PHI (bb_2: res_2);
|
|
41 return res_3;
|
|
42 }
|
|
43
|
|
44 /* { dg-final { scan-tree-dump { = \.COND_ADD} "vect" { target { vect_double_cond_arith && vect_fully_masked } } } } */
|
|
45 /* { dg-final { scan-tree-dump { = \.COND_SUB} "optimized" { target { vect_double_cond_arith && vect_fully_masked } } } } */
|