aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/aarch64/ifcvt_multiple_sets_subreg_1.c
blob: ac6ffdcf8de0d0f18274378f6c21b760f19781a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-rtl-ce1" } */

/* Check that the inner if is transformed into CSELs.  */

int
foo (int *x, int *z, int a)
{
  int b = 0;
  int c = 0;
  int d = 0;
  int i;

  for (i = 0; i < a; i++)
    {
      if (x[i] < c)
	{
	  b = z[i];
	  if (c < b)
	    {
	      c = b;
	      d = i;
	    }
	}
    }

  return c + d;
}

/* { dg-final { scan-rtl-dump "if-conversion succeeded through noce_convert_multiple_sets" "ce1" } } */