diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc index c27ba99eb60..fbc17e684a0 100644 --- a/gcc/config/arc/arc.cc +++ b/gcc/config/arc/arc.cc @@ -2256,6 +2256,12 @@ gen_compare_reg (rtx comparison, machine_mode omode) cmode = GET_MODE (x); if (cmode == VOIDmode) cmode = GET_MODE (y); + + /* If ifcvt passed us a MODE_CC comparison we can + just return it. It should be in the proper form already. */ + if (GET_MODE_CLASS (cmode) == MODE_CC) + return comparison; + if (cmode != SImode && cmode != SFmode && cmode != DFmode) return NULL_RTX; if (cmode == SImode)