This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/52437] [4.7 Regression] internal compiler error: in spill_failure, at reload1.c:2120
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 29 Feb 2012 20:37:49 +0000
- Subject: [Bug target/52437] [4.7 Regression] internal compiler error: in spill_failure, at reload1.c:2120
- Auto-submitted: auto-generated
- References: <bug-52437-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52437
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-29 20:37:49 UTC ---
I've tried:
@@ -3899,7 +3899,7 @@
(vec_merge:VI4F_128
(vec_duplicate:VI4F_128
(match_operand:<ssescalarmode> 2 "general_operand"
- " x,m,*r,m,x,x,*rm,*rm,x,fF,*r"))
+ " x,m,*r,m,x,x,*rm,*rm,x,fF,*re"))
(match_operand:VI4F_128 1 "vector_move_operand"
" C,C,C ,C,0,x,0 ,x ,0,0 ,0")
(const_int 1)))]
and that worked too. If you want to swap the m/fF/0 alternative with m/*r/0
alternative (extended with additional e or n, which one is right?), then
you should also swap
(eq_attr "alternative" "9")
(const_string "fmov")
(eq_attr "alternative" "10")
(const_string "imov")