This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/73650] powerpc: -mcpu=e500mc hits ICE: insn does not satisfy its constraints
- From: "segher at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Aug 2016 16:17:53 +0000
- Subject: [Bug rtl-optimization/73650] powerpc: -mcpu=e500mc hits ICE: insn does not satisfy its constraints
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
- References: <bug-73650-4@http.gcc.gnu.org/bugzilla/>
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