From patchwork Mon Oct 14 23:30:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Li, Pan2" X-Patchwork-Id: 1997128 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=IBnwxnKN; 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 4XSD644sB4z1xsc for ; Tue, 15 Oct 2024 10:32:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DB273385AC37 for ; Mon, 14 Oct 2024 23:32:10 +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.18]) by sourceware.org (Postfix) with ESMTPS id 51BD93858C98 for ; Mon, 14 Oct 2024 23:31:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 51BD93858C98 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 51BD93858C98 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.18 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1728948712; cv=none; b=OsVE0jik6Rfru8xmMNSC4/jaMGFI7FfdsteEPBIR8H7n3KvxFiZJY4BUusitY/c/0YdmSGk92MUTrtkhl+hRzbTNdf3Q7WAJhrLuq9n49CxNhUnApRIDfC3sb/kLSmddAr6Z34Ead48jg1cuyCj5O1Doe2b6UXlXV9/OrJyHrJs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1728948712; c=relaxed/simple; bh=ueR/CeBlhdOyKNDO1bZZRdRgUv8EeRkG9ZN1Nowhak8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BypNthQRUWl7IpRATXfLnVHLGw2pLK2h/1OJDm3A51oSJy+/RXJjQIpJbxr5Nvr7DgGzHAy2FUw2Q1sAD9WkBemf1flXdXXd1nHx7vedaURrQqob9HUiQdmn04F6zOV93X+PnVTKEJMyPQ6Z0EOPqIfMrbDxnwqY+tjCM/ekXZ0= 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=1728948710; x=1760484710; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=ueR/CeBlhdOyKNDO1bZZRdRgUv8EeRkG9ZN1Nowhak8=; b=IBnwxnKNiaouRJ6ue0Yo8KPKTWyBhcv36qWw62k9oiNSrer6mAdtJ/Ak G0q5Qrhq5wzDnqvVttpCqhMmjjqQxLvr3XJLCTENh+5nON7/6W6x6c5RC 3CiFf0hPbdYtYuw383VpMHZvu1xpmxuytPeBHy8zvgQ8mOCM6osqp3DPr t0z/MF7nuvr4QHa+eo26EYND/WXqeoa2zjHLlml3SSZZdKnDI+dS8F7IP J6sk4IZ8mpgmRNiNdc7t68eTpAsZreSKIu0J9ebcceMXE5XW+kUXjr04v IYr28V8psiCPOolJUxabw0Etn8DpGkgJQ8P+LWpDCX81fCReRKlkTHrnK Q==; X-CSE-ConnectionGUID: qvhJsy72Q1WCxGcqDaatTA== X-CSE-MsgGUID: flPDo+VrTwq5uUsXYmfHxg== X-IronPort-AV: E=McAfee;i="6700,10204,11222"; a="28467177" X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="28467177" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2024 16:31:49 -0700 X-CSE-ConnectionGUID: lI5HroswTImVjs7z8ojmJg== X-CSE-MsgGUID: WnEVepLZQdWugfupjWNqPg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,203,1725346800"; d="scan'208";a="77587922" Received: from panli.sh.intel.com ([10.239.154.73]) by orviesa009.jf.intel.com with ESMTP; 14 Oct 2024 16:31:47 -0700 From: pan2.li@intel.com To: gcc-patches@gcc.gnu.org Cc: richard.guenther@gmail.com, Tamar.Christina@arm.com, juzhe.zhong@rivai.ai, kito.cheng@gmail.com, jeffreyalaw@gmail.com, rdapp.gcc@gmail.com, Pan Li Subject: [PATCH] Match: Remove dup match pattern for signed_integer_sat_sub [PR117141] Date: Tue, 15 Oct 2024 07:30:13 +0800 Message-ID: <20241014233013.1678651-1-pan2.li@intel.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 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 From: Pan Li This patch would like to fix the warning as below: /home/slyfox/dev/git/gcc/gcc/match.pd:3424:3 warning: duplicate pattern (cond^ (ne (imagpart (IFN_SUB_OVERFLOW:c@2 @0 @1)) integer_zerop) ^ /home/slyfox/dev/git/gcc/gcc/match.pd:3397:3 warning: previous pattern defined here (cond^ (ne (imagpart (IFN_SUB_OVERFLOW@2 @0 @1)) integer_zerop) The second has a optional nop_convert which allows for the first one, thus remove the dup one. PR middle-end/117141 The below test suites are passed for this patch. * The rv64gcv fully regression test. * The x86 bootstrap test. * The x86 fully regression test. gcc/ChangeLog: * match.pd: Remove the dup pattern for signed SAT_SUB. Signed-off-by: Pan Li --- gcc/match.pd | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gcc/match.pd b/gcc/match.pd index ee53c25cef9..22fad1a8757 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -3395,7 +3395,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) The T and UT are type pair like T=int8_t, UT=uint8_t. */ (match (signed_integer_sat_sub @0 @1) (cond^ (ne (imagpart (IFN_SUB_OVERFLOW@2 @0 @1)) integer_zerop) - (bit_xor:c (negate (convert (lt @0 integer_zerop))) + (bit_xor:c (nop_convert? + (negate (nop_convert? (convert (lt @0 integer_zerop))))) max_value) (realpart @2)) (if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type) @@ -3417,18 +3418,6 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) @2) (if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type)))) -/* Signed saturation sub, case 5: - Z = .SUB_OVERFLOW (X, Y) - SAT_S_SUB = IMAGPART_EXPR (Z) != 0 ? (-(T)(X < 0) ^ MAX) : minus; */ -(match (signed_integer_sat_sub @0 @1) - (cond^ (ne (imagpart (IFN_SUB_OVERFLOW:c@2 @0 @1)) integer_zerop) - (bit_xor:c (nop_convert? - (negate (nop_convert? (convert (lt @0 integer_zerop))))) - max_value) - (realpart @2)) - (if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type) - && types_match (type, @0, @1)))) - /* Unsigned saturation truncate, case 1, sizeof (WT) > sizeof (NT). SAT_U_TRUNC = (NT)x | (NT)(-(X > (WT)(NT)(-1))). */ (match (unsigned_integer_sat_trunc @0)