Commit 29ebe616 by Jakub Jelinek Committed by Jakub Jelinek

re PR target/52437 (internal compiler error: in spill_failure, at reload1.c:2120)

	PR target/52437
	* config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
	alternatives, add "e" constraint to the new last alternative
	and ! to last 3 alternatives.

	* gcc.c-torture/compile/pr52437.c: New test.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r184676
parent 9b83b6d2
2012-02-29 Jakub Jelinek <jakub@redhat.com>
Uros Bizjak <ubizjak@gmail.com>
PR target/52437
* config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
alternatives, add "e" constraint to the new last alternative
and ! to last 3 alternatives.
2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
* dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
......
......@@ -3895,13 +3895,13 @@
;; see comment above inline_secondary_memory_needed function in i386.c
(define_insn "vec_set<mode>_0"
[(set (match_operand:VI4F_128 0 "nonimmediate_operand"
"=x,x,x ,x,x,x,x ,x ,m,m ,m")
"=x,x,x ,x,x,x,x ,x ,m ,m ,m")
(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,!*re,!*fF"))
(match_operand:VI4F_128 1 "vector_move_operand"
" C,C,C ,C,0,x,0 ,x ,0,0 ,0")
" C,C,C ,C,0,x,0 ,x ,0 ,0 ,0")
(const_int 1)))]
"TARGET_SSE"
"@
......@@ -3921,9 +3921,9 @@
(cond [(eq_attr "alternative" "0,6,7")
(const_string "sselog")
(eq_attr "alternative" "9")
(const_string "fmov")
(eq_attr "alternative" "10")
(const_string "imov")
(eq_attr "alternative" "10")
(const_string "fmov")
]
(const_string "ssemov")))
(set_attr "prefix_extra" "*,*,*,*,*,*,1,1,*,*,*")
......
2012-02-29 Jakub Jelinek <jakub@redhat.com>
PR target/52437
* gcc.c-torture/compile/pr52437.c: New test.
PR middle-end/52419
* gcc.dg/torture/pr52419.c: New test.
......
/* PR target/52437 */
int f, g, i, j;
void
fn1 ()
{
for (;;)
{
fn2 ();
j = 1;
for (i = 0; i <= 3; i++)
{
for (g = 1; g >= 0; g--)
f = 0, j &= 11;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment