Hi!

As noted by Kirill Yukhin (and what lead to the previous tree-ssa.c patch),
vec_set<mode> wasn't wired for 32-byte vectors.
Although ix86_expand_vector_set handles 32-byte vectors just fine (even for
AVX and integer vectors), without the expander we'd force things into memory
etc.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?

2011-10-13  Jakub Jelinek  <ja...@redhat.com>

        * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
        to V.

--- gcc/config/i386/sse.md.jj   2011-10-13 12:26:13.000000000 +0200
+++ gcc/config/i386/sse.md      2011-10-13 14:50:15.000000000 +0200
@@ -3786,7 +3786,7 @@ (define_split
 })
 
 (define_expand "vec_set<mode>"
-  [(match_operand:V_128 0 "register_operand" "")
+  [(match_operand:V 0 "register_operand" "")
    (match_operand:<ssescalarmode> 1 "register_operand" "")
    (match_operand 2 "const_int_operand" "")]
   "TARGET_SSE"

        Jakub

Reply via email to