]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/tree-ssa/minmax-9.c
Fix profile update in tree_transform_and_unroll_loop
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / minmax-9.c
CommitLineData
37ebaabd 1/* { dg-do run } */
9bb19e14
TC
2/* { dg-options "-O -fdump-tree-optimized" } */
3
4#include <stdint.h>
5
37ebaabd 6__attribute__ ((noipa, noinline))
9bb19e14
TC
7uint8_t three_min (uint8_t xc, uint8_t xm, uint8_t xy) {
8 uint8_t xk;
9 xc=~xc;
10 xm=~xm;
11 xy=~xy;
12 if (xc < xm) {
13 xk = (uint8_t) (xc < xy ? xc : xy);
14 } else {
15 xk = (uint8_t) (xm < xy ? xm : xy);
16 }
17 return xk;
18}
19
37ebaabd
TC
20int
21main (void)
22{
23 volatile uint8_t xy = 255;
24 volatile uint8_t xm = 0;
25 volatile uint8_t xc = 127;
26 if (three_min (xc, xm, xy) != 0)
27 __builtin_abort ();
28 return 0;
29}
30
9bb19e14
TC
31/* { dg-final { scan-tree-dump-times "= ~" 1 "optimized" } } */
32/* { dg-final { scan-tree-dump-times "MAX_EXPR" 2 "optimized" } } */