[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-24 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #9 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34563
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34563action=edit
unreduced testcase


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-24 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #8 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #7)
 Fixed then.

Unfortunately not. The boost testsuite still shows the same issue
on the same file.

Reducing again.


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-24 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #10 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Markus Trippelsdorf from comment #8)

 Unfortunately not. The boost testsuite still shows the same issue
 on the same file.

The fix depends on the ability of IRA to push the register to memory and reload
it through memory constraint.

[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-24 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #11 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34566
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34566action=edit
reduced testcase

trippels@gcc20 % g++ -c -O3 -std=c++11 -march=westmere performance.ii
performance.ii: In function ‘void performance_testtest_method()’:
performance.ii:133:1: internal compiler error: Max. number of generated reload
insns per insn is achieved (90)

 }
 ^
0xb6e6e0 lra_constraints(bool)
../../gcc/gcc/lra-constraints.c:4335
0xb5b041 lra(_IO_FILE*)
../../gcc/gcc/lra.c:2292
0xb18da9 do_reload
../../gcc/gcc/ira.c:5418
0xb18da9 execute
../../gcc/gcc/ira.c:5589
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.

[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed then.


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-22 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|vmakarov at redhat dot com |ubizjak at gmail dot com

--- Comment #4 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Vladimir Makarov from comment #3)
 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.

True. The proposed patch in PR 64477 also solves this PR.

[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-22 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #5 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jan 22 14:43:55 2015
New Revision: 22

URL: https://gcc.gnu.org/viewcvs?rev=22root=gccview=rev
Log:
PR target/64688
PR target/64477
* config/i386/sse.md (vec_setmode_0): Use (Yi/r/C) constraints
for alternative 3.

testsuite/ChangeLog:

PR target/64688
* g++.dg/pr64688.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/pr64688.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-22 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #6 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jan 22 20:25:23 2015
New Revision: 220012

URL: https://gcc.gnu.org/viewcvs?rev=220012root=gccview=rev
Log:
2015-22-01  Uros Bizjak  ubiz...@gmail.com

PR target/64688
PR target/64477
(*vec_dupmode): Use (Yi/$r) constraints for alternative 1.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-21 Thread vmakarov at gcc dot gnu.org
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_setmode_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.


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-20
 CC||jakub at gcc dot gnu.org,
   ||vmakarov at gcc dot gnu.org
   Target Milestone|--- |5.0
Summary|internal compiler error:|[5 Regression] internal
   |Max. number of generated|compiler error: Max. number
   |reload insns per insn is|of generated reload insns
   |achieved (90)   |per insn is achieved (90)
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r210824.


[Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2015-01-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
This is while reloading
(define_insn vec_setmode_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.