1 /* { dg-do compile } */
2 /* { dg-options "-fdump-rtl-cmpelim -dp" } */
3 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
4
5 extern char __attribute__ ((weak)) c;
6
7 char *
8 eq_mova (char *p)
9 {
10 char *v;
11
12 v = &c;
13 if (v)
14 return v;
15 return p;
16 }
17
18 /* Expect assembly like:
19
20 movab c,%r0 # 35 [c=12] *movsym_2_ccz
21 jeql .L6 # 37 [c=26] *branch_ccz
22 ret # 43 [c=0] return
23 .L6:
24
25 */
26
27 /* { dg-final { scan-rtl-dump-times "deleting insn with uid" 1 "cmpelim" } } */
28 /* { dg-final { scan-assembler-not "\t(bit|cmpz?|tst). " } } */
29 /* { dg-final { scan-assembler "movsym\[^ \]*_ccz(/\[0-9\]+)?\n" } } */
30 /* { dg-final { scan-assembler "branch_ccz\n" } } */