This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
- From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 21 Jan 2015 20:52:28 +0000
- Subject: [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
- Auto-submitted: auto-generated
- References: <bug-64688-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688
--- Comment #3 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> This is while reloading
> (define_insn "vec_set<mode>_0"
> [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
> "=Yr,*v,v,v ,x,x,v,Yr ,*x ,x ,m ,m ,m")
> (vec_merge:VI4F_128
> (vec_duplicate:VI4F_128
> (match_operand:<ssescalarmode> 2 "general_operand"
> " Yr,*v,m,*r,m,x,v,*rm,*rm,*rm,!x,!*re,!*fF"))
> (match_operand:VI4F_128 1 "vector_move_operand"
> " C , C,C,C ,C,0,v,0 ,0 ,x ,0 ,0 ,0")
> (const_int 1)))]
> instruction I think.
The problem is related to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64477
The solution proposed there solves this problem too. Changing '*r' to 'r"
resulting in constraint
" Yr,*v,m,r,m,x,v,*rm,*rm,*rm,!x,!*re,!*fF"
will solve the PR. So the change will solve 2 PRs (this one and 64477).
I believe it is up to x86 maintainers to do this change.