arc: Fix for new ifcvt behavior [PR104154]

ifcvt now passes a CC-mode "comparison" to backends.  This patch
simply returns from gen_compare_reg () in that case since nothing
needs to be prepared anymore.

gcc/ChangeLog:

	PR rtl-optimization/104154
	* config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
	comparison ifcvt passed us.
This commit is contained in:
Robin Dapp 2022-02-07 08:39:41 +01:00
parent e2385690a3
commit 2240ebd8e4

View file

@ -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)