[Bug rtl-optimization/73650] powerpc: -mcpu=e500mc hits ICE: insn does not satisfy its constraints

segher at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 15 16:18:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=73650

--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Mon Aug 15 16:17:21 2016
New Revision: 239483

URL: https://gcc.gnu.org/viewcvs?rev=239483&root=gcc&view=rev
Log:
lra: A multiple_sets is not a simple_move_p (PR73650)

In the PR we have a PARALLEL of a move and a compare (a "mr." instruction).
The compare is dead, so single_set on it returns just the move.  Then,
simple_move_p returns true; but the instruction does need reloads in this
case.  This patch solves this by making simple_move_p return false for
every multiple_sets instruction.


        PR rtl-optimization/73650
        * lra-constraints.c (simple_move_p): If the insn is multiple_sets
        it is not a simple move.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/lra-constraints.c


More information about the Gcc-bugs mailing list