libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / split-path-12.c
blobda00f795ef02e176562f275dc40baaafbb15c31b
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details " } */
4 double
5 foo(double *d1, double *d2, double *d3, int num, double *ip)
7 double dmax[3];
9 for (int i = 0; i < num; i++) {
10 dmax[0] = d1[i] < dmax[0] ? dmax[0] : d1[i];
11 dmax[1] = d2[i] < dmax[1] ? dmax[1] : d2[i];
12 dmax[2] = d3[i] < dmax[2] ? dmax[2] : d3[i];
13 ip[i] = dmax[2];
16 return dmax[0] + dmax[1] + dmax[2];
19 /* Split-paths shouldn't do anything here, if there's a diamond it would
20 be if-convertible. */
21 /* { dg-final { scan-tree-dump-not "Duplicating join block" "split-paths" } } */