summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/20030821-1.c
blob: 34700ae181fbfc6703ad74744b6fdc3636555a0d (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
/* PR target/11805.  */

/* Consider the following sequence.

     (set (cc0)
	  (and:HI (reg:HI 0)
		  (const_int 1)))

     (set (pc)
	  (if_then_else (le (cc0)
			    (const_int 0))
			(label_ref 17)
			(pc)))

   On h8300, the first insn does not set the overflow flag, but the
   second requires the overflow flag.  As a result, when the final
   wants to output the jump insn, it cannot find a test insn that
   gives appropriate condition flags.  */

unsigned char
foo (unsigned char a)
{
  return (a & 1) > 0;
}