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