1 /* { dg-do compile { target { ! logical_op_short_circuit } } } */
2 /* { dg-options "-O2 -fdump-tree-dom2-details -w" } */
3 unsigned char
validate_subreg(unsigned int offset,unsigned int isize,unsigned int osize,int zz,int qq)4 validate_subreg (unsigned int offset, unsigned int isize, unsigned int osize, int zz, int qq)
5 {
6 if (osize >= (((zz & (1L << 2)) != 0) ? 8 : 4) && isize >= osize)
7 ;
8 else if (qq == 99)
9 return 0;
10 if (osize > isize)
11 return offset == 0;
12 return 1;
13 }
14 /* When we test isize >= osize in the first IF conditional and it is
15 false and qq != 99, then we can thread the osize > isize test of
16 the second conditional. */
17 /* { dg-final { scan-tree-dump-times "Threaded" 1 "dom2"} } */
18