PR target/51244
[official-gcc.git] / gcc / testsuite / gcc.target / sh / pr51244-7.c
blobe7e3ac1385c1e4960afe1c4300a36b5d3363e795
1 /* Check that compare-branch is inverted properly.
2 Example:
3 clrt -> clrt
4 subc r0,r6 subc r0,r6
5 mov r3,r7 mov r3,r7
6 subc r1,r7 subc r1,r7
7 mov #0,r1 tst r7,r7
8 cmp/hi r1,r7 bf .L111
9 bt .L111 bra .L197
10 bra .L197
11 nop
13 /* { dg-do compile { target "sh*-*-*" } } */
14 /* { dg-options "-O2" } */
15 /* { dg-skip-if "" { "sh*-*-*" } { "-m5*" } { "" } } */
16 /* { dg-final { scan-assembler-not "cmp/hi" } } */
17 /* { dg-final { scan-assembler-not "mov\t#0" } } */
19 int other_func (long long);
20 int
21 test_00 (unsigned long long a, unsigned long long b)
23 if ((a - b) > 0xFFFFFFFFLL)
24 return other_func (a - b);
25 return 20;