From patchwork Fri Oct 14 14:19:53 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: negv{32qi,16hi,8si,4di} Date: Fri, 14 Oct 2011 04:19:53 -0000 From: Jakub Jelinek X-Patchwork-Id: 119800 Message-Id: <20111014141953.GZ2210@tyan-ft48-01.lab.bos.redhat.com> To: Richard Henderson , Uros Bizjak Cc: gcc-patches@gcc.gnu.org Hi! This patch allows to vectorize negations using 32-byte vectors. 2011-10-14 Jakub Jelinek * config/i386/sse.md (neg2): Use VI_AVX2 iterator instead of VI_128. Jakub --- gcc/config/i386/sse.md.jj 2011-10-14 13:05:58.000000000 +0200 +++ gcc/config/i386/sse.md 2011-10-14 13:56:55.000000000 +0200 @@ -4860,10 +4860,10 @@ (define_insn "*vec_concatv2df" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define_expand "neg2" - [(set (match_operand:VI_128 0 "register_operand" "") - (minus:VI_128 + [(set (match_operand:VI_AVX2 0 "register_operand" "") + (minus:VI_AVX2 (match_dup 2) - (match_operand:VI_128 1 "nonimmediate_operand" "")))] + (match_operand:VI_AVX2 1 "nonimmediate_operand" "")))] "TARGET_SSE2" "operands[2] = force_reg (mode, CONST0_RTX (mode));")