https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Fri Dec 1 20:37:33 2017 New Revision: 255338 URL: https://gcc.gnu.org/viewcvs?rev=255338&root=gcc&view=rev Log: rs6000: Improve comparison rtx_cost (PR81288) The current rs6000 rtx_cost for comparisons against 0 is very high if TARGET_ISEL && !TARGET_MFCRF, much higher than for reg-reg comparisons, much higher than a load of 0 and such a reg-reg-comparison. This leads to infinite recursion in CSE (see PR81288). This patch removes the too-high cost, also simplifying this code. PR 81288/target * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/rs6000.c