From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) by sourceware.org (Postfix) with ESMTPS id D78E83858C60 for ; Fri, 7 Jul 2023 06:44:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D78E83858C60 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yb1-xb36.google.com with SMTP id 3f1490d57ef6-bc379e4c1cbso1756597276.2 for ; Thu, 06 Jul 2023 23:44:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688712240; x=1691304240; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UCMAzj2M+o7Lx1Eq676Dp33udDLIGanRpqGvkFtbcDk=; b=UE60s+bUFsVLQuuR7Zw3jqWhrgrPsPV9a9D+saSURrXdoGilKfSIVH52+A285V423i 7/x0aZg7PV/uxXbYl7Dwrg0qBop06/TvEAxJeU+K6Ct1Q53/ZymcyBxc/rr1Lts2o5GV cexTFCNCInTZPhl6fdawA8PmeQByE3iSWvJgzN3fVs35pOdQ2FCP+HKm9igYZovXkv80 F8HSesgfp7nerOMhjbFlx3otRir/R883M9eujHNlPxR6jcOX8yqLOPzcsek/Dgn69hmz O31jEidPGyoDVN7Q2LCMr1NT8/Td8W3R+PdIeneqVTBl7IrPJZoAcnU1URlpbvIuy/jy I1fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688712240; x=1691304240; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UCMAzj2M+o7Lx1Eq676Dp33udDLIGanRpqGvkFtbcDk=; b=KKnJm1YOhDEZei1VUh6//9A9PzeIZhim3nM24AQikt/Uq4FN1S85R4y526PPeJU78Q wyRDPz7j/GoqxvyDj4V8CSP9/KWINIPIe5Yn9pBdZsCr67EDqJ1diASVmJs/mTtptYmu hNltaataqRtQIfj2bqJCnHs0a4VbbsMQ52bl52kVy4EtZ4xwpY5yQmzr7JalPUmg85wJ Ye2mkspo8qsDJLyftmsa3XMr+9Z3a2BLx8gY0p+kogdYVW01CW62Z4bjFHkDQsWj2LIL /RW43mHv8FqWJuMJcKtmNefNfvoiuuCLeNfo92c9+wR3iKt6JYO34MGIltag/aTJdDmF T7XQ== X-Gm-Message-State: ABy/qLa1q20oD3wF2R9jjNRt7uuz+XgCarP0msyCuSAiE6TOo4cl8wwU 0fxBev4AOtrcVgHzmA+QlXWb9mxeoIU3GMPs1WQ= X-Google-Smtp-Source: APBJJlH+iqeAMrqoEZolR9BPrZKcSZVaT5+k2A8yeLEUpyB5tsYMZeENwwQFgi3Mx/u14AgIhnX/A1nPy36oKolgt1s= X-Received: by 2002:a25:1e55:0:b0:c4f:c0eb:451b with SMTP id e82-20020a251e55000000b00c4fc0eb451bmr4868982ybe.25.1688712240410; Thu, 06 Jul 2023 23:44:00 -0700 (PDT) MIME-Version: 1.0 References: <20230704025035.1074040-1-hongtao.liu@intel.com> In-Reply-To: From: Hongtao Liu Date: Fri, 7 Jul 2023 14:50:54 +0800 Message-ID: Subject: Re: [PATCH] Break false dependence for vpternlog by inserting vpxor. To: simonaytes.yan@ispras.ru Cc: liuhongt , gcc-patches@gcc.gnu.org, hjl.tools@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Jul 6, 2023 at 11:46=E2=80=AFPM wrote: > > > +; False dependency happens on destination register which is not really > > +; used when moving all ones to vector register > > +(define_split > > + [(set (match_operand:VMOVE 0 "register_operand") > > + (match_operand:VMOVE 1 "int_float_vector_all_ones_operand"))] > > + "TARGET_AVX512F && reload_completed > > + && ( =3D=3D 64 || EXT_REX_SSE_REG_P (operands[0]))" > > + [(set (match_dup 0) (match_dup 2)) > > + (parallel > > + [(set (match_dup 0) (match_dup 1)) > > + (unspec [(match_dup 0)] UNSPEC_INSN_FALSE_DEP)])] > > + "operands[2] =3D CONST0_RTX (mode);") > > I think we shouldnt emit PXOR when optimizing for size. So should change > define_split: > define_split > [(set (match_operand:VMOVE 0 "register_operand") > (match_operand:VMOVE 1 "int_float_vector_all_ones_operand"))] > "TARGET_AVX512F && reload_completed > && ( =3D=3D 64 || EXT_REX_SSE_REG_P (operands[0])) > && optimize_insn_for_speed_p ()" > [(set (match_dup 0) (match_dup 2)) > (parallel > [(set (match_dup 0) (match_dup 1)) > (unspec [(match_dup 0)] UNSPEC_INSN_FALSE_DEP)])] > "operands[2] =3D CONST0_RTX (mode);") Yes, will do. I'm still working on breaking the false depence for pternlog in newly added pattern *iornot3,*xnor3 and *3. Will repost the patch when it's done. --=20 BR, Hongtao