"Zhenqiang Chen" <zhenqiang.c...@arm.com> writes: > diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c > index a28f5c1..5cd0ac0 100644 > --- a/gcc/ifcvt.c > +++ b/gcc/ifcvt.c > @@ -1441,10 +1441,17 @@ noce_emit_cmove (struct noce_if_info *if_info, rtx > x, enum rtx_code code, > end_sequence (); > } > > - /* Don't even try if the comparison operands are weird. */ > + /* Don't even try if the comparison operands are weird > + except that the target supports cbranchcc4. */ > if (! general_operand (cmp_a, GET_MODE (cmp_a)) > || ! general_operand (cmp_b, GET_MODE (cmp_b))) > - return NULL_RTX; > + { > +#if HAVE_cbranchcc4
You need to make that a runtime check. #ifdef HAVE_cbranchcc4 if (HAVE_cbranchcc4) Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."