From patchwork Thu Oct 13 16:21:25 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: vec_set for 32-byte vectors Date: Thu, 13 Oct 2011 06:21:25 -0000 From: Jakub Jelinek X-Patchwork-Id: 119566 Message-Id: <20111013162125.GQ2210@tyan-ft48-01.lab.bos.redhat.com> To: Richard Henderson , Uros Bizjak Cc: gcc-patches@gcc.gnu.org Hi! As noted by Kirill Yukhin (and what lead to the previous tree-ssa.c patch), vec_set 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 * config/i386/sse.md (vec_set): Change V_128 iterator mode to V. Jakub --- 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" - [(match_operand:V_128 0 "register_operand" "") + [(match_operand:V 0 "register_operand" "") (match_operand: 1 "register_operand" "") (match_operand 2 "const_int_operand" "")] "TARGET_SSE"