rs6000: Improve comparison rtx_cost (PR81288)
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 28 Nov 2017 01:28:57 +0000 (02:28 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 28 Nov 2017 01:28:57 +0000 (02:28 +0100)
commitb8adcbd9236598e066fba8e8e31a2e2d40521698
treee4a556655ee698d12a0b865909e8cbb89dcd522b
parentfd8bf76c908297f96f240954c43732579bb95105
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.

From-SVN: r255188
gcc/ChangeLog
gcc/config/rs6000/rs6000.c