From patchwork Tue May 21 06:16:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jiang, Haochen" X-Patchwork-Id: 1937214 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=HybGlv6S; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vk42h0zSWz20KF for ; Tue, 21 May 2024 16:16:44 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F01D03858CDB for ; Tue, 21 May 2024 06:16:41 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by sourceware.org (Postfix) with ESMTPS id 9C5403858D1E for ; Tue, 21 May 2024 06:16:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C5403858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9C5403858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716272183; cv=none; b=Q8XA+8r9I44IQ64v/VwlU8/A2YrnPZzfROwDwYf3XZIAO5YgejhJ68lSg02Vtsjneg8V1MqdJFxYAh5+V7F8gz2WqPesUD9ud6lIOFYwvpQum8ktU5rQg2PWeB/nUBPioQu23kHi18jps3X4O5L9o7eoxJSZIaT2dH92rgdNMsM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716272183; c=relaxed/simple; bh=uClwBnk+4mTsWAAKdZ0qqQb38vE6X3mGB8hTvrAcc7o=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=gJY7BsL3nTFfUOv6NzDGlABE4Tmk3xupOpgeJbqtMjj68N2jjgWmaQ7yPhFsAOGYvRcQaivWaoh/GDQXYqpop8tVWeqKZMpr/D1RwiPABRzhC+YSj0L1xdm23zXuYG+MnxZU81kmtSHZ61L4mFVSmnun43wpYHUpsJil97NdOqc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716272182; x=1747808182; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=uClwBnk+4mTsWAAKdZ0qqQb38vE6X3mGB8hTvrAcc7o=; b=HybGlv6SeN+NzwJP4HZ9b5lXTa81OBJuIdMzNHHPPQqxr+hOCBIi6TTj JYvkF9B3RATp3l0rPsrnSC3rK7Ap98QF3FejCtaXFVCe63JVGQvME1z3Y avDZbLlBr+BJaVmkSi2n42MBZwbDVsBvukF+5m8Ur9QH568dqQiLHBnlr OulyBi4C9Szr6SHAN/17cF+FNhd/YallhomEiSNdun9zl1N3Ob7wLaB9z zuKgyj43Qi8GD1TVu8ByljJVpjjhEdJNnpTSrWKKKwNvZztZeHkDkjr2O UOx5HXoh4l1byqwy8GR7+X69MH6Ea2V/ENBmr+IwYCXL8xwj9TA0TmKhZ Q==; X-CSE-ConnectionGUID: Z7EKXFbFRyy0kx42mwNAKQ== X-CSE-MsgGUID: 7lgPzwZIRFaeox0FpgKPZg== X-IronPort-AV: E=McAfee;i="6600,9927,11078"; a="23017131" X-IronPort-AV: E=Sophos;i="6.08,176,1712646000"; d="scan'208";a="23017131" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 23:16:21 -0700 X-CSE-ConnectionGUID: 3oORTbMnQXC6cQoVIBa4DQ== X-CSE-MsgGUID: krLOP6WsS8GqgHkpKxCssQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,176,1712646000"; d="scan'208";a="32670257" Received: from shvmail03.sh.intel.com ([10.239.245.20]) by orviesa010.jf.intel.com with ESMTP; 20 May 2024 23:16:18 -0700 Received: from shliclel4217.sh.intel.com (shliclel4217.sh.intel.com [10.239.240.127]) by shvmail03.sh.intel.com (Postfix) with ESMTP id D77C8100737C; Tue, 21 May 2024 14:16:17 +0800 (CST) From: Haochen Jiang To: gcc-patches@gcc.gnu.org Cc: hongtao.liu@intel.com, ubizjak@gmail.com Subject: [PATCH] i386: Disable ix86_expand_vecop_qihi2 when !TARGET_AVX512BW Date: Tue, 21 May 2024 14:16:17 +0800 Message-Id: <20240521061617.667442-1-haochen.jiang@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Hi all, Since vpermq is really slow, we should avoid using it when it is the only instruction could be used for ix86_expand_vecop_qihi2. Bootstrapped and regtested on x86_64-pc-linux-gnu. Ok for trunk? Thx, Haochen gcc/ChangeLog: PR target/115069 * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): Do not enable the optimization when AVX512BW is not enabled. --- gcc/config/i386/i386-expand.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc index a6132911e6a..f24c800bb4f 100644 --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -24323,6 +24323,11 @@ ix86_expand_vecop_qihi2 (enum rtx_code code, rtx dest, rtx op1, rtx op2) bool op2vec = GET_MODE_CLASS (GET_MODE (op2)) == MODE_VECTOR_INT; bool uns_p = code != ASHIFTRT; + /* vpermq is slow and we should not fall into the optimization when + it is the only instruction to be selected. */ + if (!TARGET_AVX512BW) + return false; + if ((qimode == V16QImode && !TARGET_AVX2) || (qimode == V32QImode && (!TARGET_AVX512BW || !TARGET_EVEX512)) /* There are no V64HImode instructions. */