From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1386) id 5AD9F3858428; Wed, 2 Aug 2023 09:04:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5AD9F3858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1690967092; bh=Uu3Swu6AYtjeQLGxatoc1Kj0AkyJjGTuFFUNlypa3zY=; h=From:To:Subject:Date:From; b=ODgI/t58mGZE+uGWcPjcRMig2OR81kf5yqooJrcvG0vZJDeqea61tupJpInLysgxI 0r6wElY6h9fLv26MRHlYQarDwxO/jOE7FeDSJMMJAZ2nw05hXvDVNL4N230PtqMqL3 e9SOoG+6z0QENBLTj+/jzMhFNzvhp6V/EL64q5MA= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jan Beulich To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-2929] x86: fold two of vec_dupv2df's alternatives X-Act-Checkin: gcc X-Git-Author: Jan Beulich X-Git-Refname: refs/heads/master X-Git-Oldrev: 0d6a0220205c2d99e878e32ac3a204bdd0dfa980 X-Git-Newrev: 68c3aa7510b2f45f44379ecd77e97c88780a84ed Message-Id: <20230802090452.5AD9F3858428@sourceware.org> Date: Wed, 2 Aug 2023 09:04:52 +0000 (GMT) List-Id: https://gcc.gnu.org/g:68c3aa7510b2f45f44379ecd77e97c88780a84ed commit r14-2929-g68c3aa7510b2f45f44379ecd77e97c88780a84ed Author: Jan Beulich Date: Wed Aug 2 11:04:37 2023 +0200 x86: fold two of vec_dupv2df's alternatives By using Yvm in the source, both can be expressed in one. gcc/ * config/i386/sse.md (vec_dupv2df): Fold the middle two of the alternatives. Diff: --- gcc/config/i386/sse.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 43afcfdc750..ab455c3e297 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -13784,21 +13784,20 @@ (set_attr "mode" "DF,DF,V1DF,V1DF,V1DF,V2DF,V1DF,V1DF,V1DF")]) (define_insn "vec_dupv2df" - [(set (match_operand:V2DF 0 "register_operand" "=x,x,v,v") + [(set (match_operand:V2DF 0 "register_operand" "=x,v,v") (vec_duplicate:V2DF - (match_operand:DF 1 "nonimmediate_operand" "0,xm,vm,vm")))] + (match_operand:DF 1 "nonimmediate_operand" "0,Yvm,vm")))] "TARGET_SSE2" "@ unpcklpd\t%0, %0 %vmovddup\t{%1, %0|%0, %1} - vmovddup\t{%1, %0|%0, %1} vbroadcastsd\t{%1, }%g0{|, %1}" - [(set_attr "isa" "noavx,sse3,avx512vl,*") - (set_attr "type" "sselog1,ssemov,ssemov,ssemov") - (set_attr "prefix" "orig,maybe_vex,evex,evex") - (set_attr "mode" "V2DF,DF,DF,V8DF") + [(set_attr "isa" "noavx,sse3,*") + (set_attr "type" "sselog1,ssemov,ssemov") + (set_attr "prefix" "orig,maybe_evex,evex") + (set_attr "mode" "V2DF,DF,V8DF") (set (attr "enabled") - (cond [(eq_attr "alternative" "3") + (cond [(eq_attr "alternative" "2") (symbol_ref "TARGET_AVX512F && !TARGET_AVX512VL && !TARGET_PREFER_AVX256") (match_test "")