This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/81288] [6/7/8 Regression] ICE on 32-bit BE powerpc targets -w -misel -O2 (-O3, -Ofast, -Os)


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]