https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Tue Nov 28 01:28:57 2017 New Revision: 255188 URL: https://gcc.gnu.org/viewcvs?rev=255188&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: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c