blob: 1b677f44b4017be5fec389d1b41e9f599eb70500 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-dom2-details -w --param logical-op-non-short-circuit=1 -fdisable-tree-vrp-thread1" } */
unsigned char
validate_subreg (unsigned int offset, unsigned int isize, unsigned int osize, int zz, int qq)
{
if (osize >= (((zz & (1L << 2)) != 0) ? 8 : 4) && isize >= osize)
;
else if (qq == 99)
return 0;
if (osize > isize)
return offset == 0;
return 1;
}
/* When we test isize >= osize in the first IF conditional and it is
false and qq != 99, then we can thread the osize > isize test of
the second conditional. */
/* { dg-final { scan-tree-dump-times "Threaded" 1 "dom2"} } */