From patchwork Fri Jan 31 17:13:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aleksandar Rakic X-Patchwork-Id: 105807 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 315D7385840E for ; Fri, 31 Jan 2025 18:22:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 315D7385840E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=htecgroup.com header.i=@htecgroup.com header.a=rsa-sha256 header.s=selector1 header.b=aHrETny2 X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2070f.outbound.protection.outlook.com [IPv6:2a01:111:f403:260c::70f]) by sourceware.org (Postfix) with ESMTPS id 9AAD5385780D for ; Fri, 31 Jan 2025 17:15:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9AAD5385780D Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=htecgroup.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=htecgroup.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9AAD5385780D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260c::70f ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1738343717; cv=pass; b=BM7qmSOcfPMHEQeBQYEbWN2FNOMs9qrqLFSZoeohjx9TTPeF/AoGhkGyudhWUwGD5nld+FIVxIoTHb4xGVA0+pfS/MzJoyTYhtBKMpf43rC4cOcP8yW2uf7zDmnE/SEA2dlfiTNELt99d+HsGjS/tV7vU7QhagqZQedOPkTwrr4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1738343717; c=relaxed/simple; bh=SUIwe8qxlUTzF5r06rQAIUnVAyJiqog4v6m1azJpA+M=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BJYL7wab3xHvOT4g+mq/zB0zTxdy79bFCS6eCTulNdbQD/AJhMq/cfnjDazTq9CuQvJKd3Nu5hwn/duskwfA6qBE5KO2G8lcuBC9IYDguYR9qRhmZiK8uw+kBmrlO52wxWeitmARCy4OkY+Inb7UcIXNDUXR9LIoH3rdomxcifU= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9AAD5385780D ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wel54Co7s/AESpH3EfBbs8LhfVaB6u9dpIF5F/NezSi8JszmHd7ajC+PbgPuha9KCTsmI2Nxg5BRgmJz9WzoCmPZjYlV45XkMP4FiE5lqO4yHnh655LOKnbvmBaU4/rOQBMqrrfFXDDU8JZr7+syLXWuG1mSjwojiuJdo9cWx7qLIvGt1YWGdtS5YFswDNmCP1jCBLyeuTWNuMXfargpAmJ+okNiCH256vJWxY8Ywqj6uob0z98iIDzayHzaaAo/CksXHJF0coMqEZjzBLwTOZk4xqtuQ25qShWUaEBxRU10c8F72TzpvxpFWje9K3b2U9G6gBcuuNZ0/qb0uEQDFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zY6ncVjsaUViSIZtHWdhpNAwaFbXVNf/+Vco3chx/6c=; b=QmW4J5rvyRelWDJiSzJMJ1gvP4c0bAcpaC6YpieLMdkZoSlzPvC/L7acOT3i+ivsyjFaAFBB4tPAKsJ1FmEdVX3YpQqdx717WBeKVOu2TfPTUkQuU0O/Vzi6Myp8F6js4KdesGZ27Yjpbu5cPZkaB9K+qHmlwKWNUhUWGfooQqkA8E57cdgkImqTOOE/qbLGxc/g0KCxcaKeXFOoLKSVE8P11GzUslyp61+sTPQu8EkIYLncyoDTOcv0yqTxWoNZ+CM8NOju7h4FsexIkWcE9rYSccLRHztH1Wdwu4cD0lF5nQIKFPcuHbrepYw9PCCLAKu8mwA6YuMKCO/Y93KrAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=htecgroup.com; dmarc=pass action=none header.from=htecgroup.com; dkim=pass header.d=htecgroup.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=htecgroup.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zY6ncVjsaUViSIZtHWdhpNAwaFbXVNf/+Vco3chx/6c=; b=aHrETny2A0fNyzbRRMUyZIGiNhurepSdQFCPpBzQ1Fz38Y05fXRtg45/DCDbGZDa8AJ/kDGp1MBe7dophTzYMqXx2FPHaJxT5ixZZJGLKffnDzVm2NsO8pu2hmGNLqyL/2Xt3Ia7jwmy8KVoe5/BpBYcfK/ZtrhinxhEpm5Dds103FY+j2sTyFhfpObz976fiiaDsfgM0TNsjK9qaV4+GtfNwGmeG8s4uVXjW7hSK4sTJCOPDlRjYOh8ClwJEeTa22Ao9WcLRRWClNPE7SyEv8v5MDAXTH9IBKzK3mDH8t9kVqAg//Qyj/SWvb3CGnd/WE0pgc9P/K7kf8vtfndvuA== Received: from PA4PR09MB4864.eurprd09.prod.outlook.com (2603:10a6:102:ed::17) by AS2PR09MB6367.eurprd09.prod.outlook.com (2603:10a6:20b:59d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.21; Fri, 31 Jan 2025 17:14:08 +0000 Received: from PA4PR09MB4864.eurprd09.prod.outlook.com ([fe80::a02b:9d5c:eca5:e024]) by PA4PR09MB4864.eurprd09.prod.outlook.com ([fe80::a02b:9d5c:eca5:e024%6]) with mapi id 15.20.8398.020; Fri, 31 Jan 2025 17:14:08 +0000 From: Aleksandar Rakic To: "gcc-patches@gcc.gnu.org" CC: Djordje Todorovic , "cfu@mips.com" , Robert Suchanek , Robert Suchanek , Faraz Shahbazker , Aleksandar Rakic Subject: [PATCH 42/61] Remove redundant moves Thread-Topic: [PATCH 42/61] Remove redundant moves Thread-Index: AQHbdAN5tiOPp4sVkkGPHZgJy989CA== Date: Fri, 31 Jan 2025 17:13:40 +0000 Message-ID: <20250131171232.1018281-44-aleksandar.rakic@htecgroup.com> References: <20250131171232.1018281-1-aleksandar.rakic@htecgroup.com> In-Reply-To: <20250131171232.1018281-1-aleksandar.rakic@htecgroup.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=htecgroup.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PA4PR09MB4864:EE_|AS2PR09MB6367:EE_ x-ms-office365-filtering-correlation-id: f5c32cec-d9ec-4d24-8d44-08dd421aac80 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?q?VwgVV3sc11N/Ej2NVv2MNzHjpT?= =?iso-8859-1?q?91HUlvouEKuVCzZa7NLEuHqoEIpO4DfVU1cKqLdgDCpDS4iTc4UHSNLajads?= =?iso-8859-1?q?zHf5u6sIoc8RkhSrK1Chu1LXSMndONITK/NdgGu/+oGQzXSC6Y/24h0PVCLp?= =?iso-8859-1?q?SRw/KnhzdAWJsnjMvhY36Qbjpr8qaG3TIR7wg6zIikYJaDI8rRDsfkvnRlmt?= =?iso-8859-1?q?JZxmZ0q//Dme748CwvbuaUKAZpJLHxiFptidgJZQREmYo0OV1S5y2qc9Eg/w?= =?iso-8859-1?q?nTRULrJdk5i33qqjF7EFUustyqKAuD6DgILVppRXc/i2quN8kTBwKDXakqxY?= =?iso-8859-1?q?JrwMb1F6I9+LVCeSUFDoILmm7+CY5FWSvskG8sggzMt4fP5Z7DXcuoevxRHX?= =?iso-8859-1?q?wy1/c9tCCAXxF+dZ/U1M6gGUn1YrtqPWOaKzkxiTbeAKOQOltz/OsxYiuDS2?= =?iso-8859-1?q?nxO8C3hVVcRdcnxWJ7r2Cgo9BqbEFZvhyj4E+JSiEMl/21wlONSlS/XesxB7?= =?iso-8859-1?q?x/3T94DCLY1Xw1cGhOHiTgZHmj4Ijzf+vTwRknEfYmSbk8bk1/Qeor1wn3kJ?= =?iso-8859-1?q?1VUpd1wV36G3dZbsnY9+XTLmoi0aN50UqRBfEHxIFRk7WX/wM+86UjYkqDlD?= =?iso-8859-1?q?xqLKXjQkA1qPoDKf1CQ8IWg/oidTididkre3nbtZL1i4lnLmRyqAzRm2SeMU?= =?iso-8859-1?q?7NW1CgB6ytfL4c9PtfxX4rhpoeup15nnx5oXAqbK3DimSrkXBwZ3JsjTk6YT?= =?iso-8859-1?q?pvc7wZVFbydw1Y8yIC2cdHgB0CSrOTLyBhZMfNbKOa1IOhP1pAxL6nhZ0EjJ?= =?iso-8859-1?q?Tv+H8XuLrxOFlYXX6gjccbNcj+gbqIvOZ3cXUER74oFwjl87jFrRKP27u/zF?= =?iso-8859-1?q?yD94kAXU0Baoj9du30FoQr97C62i+Xw3hgns60btFNUnqk+pTCqzpX/Mo+NT?= =?iso-8859-1?q?8ThRZHF8MrF0xj27c+6GvCoL4VzIHfu90Try/xsTPzcvMR/yakrPa0ZW5v/f?= =?iso-8859-1?q?otC5KXGg6Trb/O3AhLEbp19MDihIn6EzSDVJ3GaLHpDBfVkupPg7KKF0F5Oy?= =?iso-8859-1?q?r8WYy7UtmIuPk/c1YNs+sOG7Ezn4/lciY1UGVNQnarLLPH/YukbF1UqdKL95?= =?iso-8859-1?q?ZEerpYMW4R7EtNn7OwQ4S7YOiECSP3kXJNqf8/r/MFfDCQMJMU63CyX6BMq9?= =?iso-8859-1?q?7qWiolZ+uRV2B/ZQcOKx+SgE7JqURn93fXIge/3S9SGDfRvnnpjywTL4dwAC?= =?iso-8859-1?q?ukbI1y2TxKJI6jhIC17HzoFgEoZYWGesajvDDihFgi12cIeUNVND/blmWkvx?= =?iso-8859-1?q?8jwrTefsXJG9PqLWnp7HAM0X2P44PLZyqacLGv7Pz4iFVFXg9JWP8ff0EkFP?= =?iso-8859-1?q?E8AQqFFTh+PaTfic1p0jOq9HcfVl53ilJ5xJoMXV90yp66oGHmRs/ljkb6wy?= =?iso-8859-1?q?6VSkqPvRqsAuA9UrXci8m56c0Vl9B2Udbgx/ovP6/lFEJx6l/RW/8F7XLG5W?= =?iso-8859-1?q?X5zBtk?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR09MB4864.eurprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?NITt+RXu+RCVEtIyZhtVHxf?= =?iso-8859-1?q?2pwG4Uu5RLG0q0APih+YZl0MELDWq0nm59J1CRMffJF69vtNVgfocRiXA3xG?= =?iso-8859-1?q?c4TxInUNV9D3d4N7UCy++t8iwKmgM3m4kPW+Scwyq7ZKQ15XwsmNwQJts0wr?= =?iso-8859-1?q?VFuzbuPvYrxy9nO1kiMe2JOdaclSetL74pJeshWg5h3VqXVT07wKipMKOWDG?= =?iso-8859-1?q?ahxIRukTp0lNN5XkV0bRa6I7+xQ9JxAUUH5JlPmpJnIL4UVyo1Nm8Eo6+5Hz?= =?iso-8859-1?q?NrXW61MLCNkEEDK6zkRGCoVFUk+uqeRNZ3/SA6v9hGJLeUAR2YtXaCDtzZ8y?= =?iso-8859-1?q?ROLVFvJw/WzI1r2JF5ls2OHzvChUjvonch9LkY6uHzQi1BUZ+9WQQ/2FafN+?= =?iso-8859-1?q?wkW/YfZIkhjstlzTDeCFrjAMOrb1IvDPnnFTDByCc0TrnuYaD+qmodjwW2ML?= =?iso-8859-1?q?X+c8xw1de+S+QvfwzXyK0zp4n9/BSg7qwFqn/zYYrADqPu6gkvl9BxNE8/cO?= =?iso-8859-1?q?tFdEWzce5qK6oEI48O909kAgzH/LZQkGFmRrfDriWmff582z3xQGU5QRdsjQ?= =?iso-8859-1?q?ulUCsQom6hM2gB9fW8S6sBi1vBKaejs+D6rlSmlDYE6Rifd7HYJBAbHG4vYg?= =?iso-8859-1?q?/U8b/QV3BJ9rBpWJdforVw0OTPDCKWVc9QZSKmfP7De/Y6BwhUjlBlJ/8Lb5?= =?iso-8859-1?q?MdL/+sRmECXVr/RNG7O13GtcsoenQV3MfO24J8Uc+LtKZXXGuEz0BJCUTvkl?= =?iso-8859-1?q?RZBn2sG+j7hRmP1A8lflQPOuGEzGTtazkNLA1FuheekgnPc8wQGdm92yvIjp?= =?iso-8859-1?q?TnUsKro/DADvtc6P/V4LCt4yMRBf2OFKyDvLjp6rkt4+kLrM8dE6BPCNijPC?= =?iso-8859-1?q?BybhfBb71dKh754lUQLURucgSMmjkMhpB/VXpFCdxffxY7WFsCI5aH5S5iNe?= =?iso-8859-1?q?ajrfEwvJNWmxOT1JZvOytaMcvVrxln6F1jEVGkZFcFL1QYOGS3RYTSZzypQA?= =?iso-8859-1?q?APdnJv3y53TGg5RZ3fERlopXtt8MY2J2k8rypp2kq0BOycKqw3uh4cIl8FZR?= =?iso-8859-1?q?tJFcFAZJ1idm9jKi5lDfYwL11aXzCZDPAYy8FMf0PTIEKXPjSG0KqwyC0e9J?= =?iso-8859-1?q?nydpDB+xSxejYhzKr5oAg9Cfd4vlaN5iKWrQOjAEMn0+NNlpPrJiEDCsOM0E?= =?iso-8859-1?q?zILpMYXyqhIhfGDc/DkoMxF4Le8wdatESysJL9UZjXpxVQdsLGQcGyDnPgnt?= =?iso-8859-1?q?fBfbk/2oaHRrJmiNMCvG7PCda6Hnz6a3iXDMr2yVKVbmbmdS3xT6duQjCOXX?= =?iso-8859-1?q?tGRZdIvhOgCFSwkY4B2d6sazjZpvZiV6CbneAHfPzCR8V1x4nsOrUoRntKZ6?= =?iso-8859-1?q?zo7vf2pK7NXBd/mjhXKxphkG1X9ArDu87ON+F9/o4pq0c+gCmAS+TaC6IHu/?= =?iso-8859-1?q?6AopY2+ORS2xW+kvGBie5OLEX3fBUTby0OoKz50NJXDIad8qyNN70BIsgJNH?= =?iso-8859-1?q?p9GMY6r+5qwokQJJQvvNMq3xnUAMNfII448gt95KaJJI2O3uNu2VPamYjP++?= =?iso-8859-1?q?DSqe8gU0tx5uKiBXGiZOI4dxRn4obJqVzNnrzcZUHoWzi83e3AZdV6mfxo48?= =?iso-8859-1?q?QyDq/hZukPdoiCpX8u6Z8+MYdwOotG0urU4KLd1iWmML/KWBdfCDVt6unIAw?= =?iso-8859-1?q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: htecgroup.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR09MB4864.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5c32cec-d9ec-4d24-8d44-08dd421aac80 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2025 17:13:40.6001 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9f85665b-7efd-4776-9dfe-b6bfda2565ee X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sjxhXdYIfnzHO+0XpoMYLAnYLhfrtkHKiH2NjXLIATAKAa22hyYEELUc9T3N+9tSFREFLOpFkuZo7tSSVfGhzMY1wX1vH6Bp5BcyHggIUE0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR09MB6367 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, 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~patchwork=sourceware.org@gcc.gnu.org From: Robert Suchanek Add peepholes to remove silly moves. These reloads happens because of different modes making elimination non-trivial. Cherry-picked 85462a9dbf8d659bfb0417d354a0a4f9cd4b8e07 from https://github.com/MIPS/gcc Signed-off-by: Robert Suchanek Signed-off-by: Faraz Shahbazker Signed-off-by: Aleksandar Rakic --- gcc/config/mips/mips.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 159fc2e2615..1243f20f344 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -5254,6 +5254,18 @@ [(set_attr "move_type" "move,move,move,const,constN,load,store,mflo") (set_attr "mode" "HI")]) +(define_peephole2 + [(set (match_operand:HI 0 "register_operand") + (match_operand:HI 1 "register_operand")) + (set (match_operand:SI 2 "register_operand") + (match_operand:SI 3 "register_operand"))] + "TARGET_MIPS16 + && REGNO (operands[1]) == REGNO (operands[2]) + && REGNO (operands[0]) == REGNO (operands[3]) + && peep2_reg_dead_p (2, operands[3])" + [(const_int 0)] + "") + ;; On the mips16, we can split lh $r,N($r) into an add and a load, ;; when the original load is a 4 byte instruction but the add and the ;; load are 2 2 byte instructions. @@ -5330,6 +5342,18 @@ [(set_attr "move_type" "move,move,move,const,constN,load,store,mflo") (set_attr "mode" "QI")]) +(define_peephole2 + [(set (match_operand:QI 0 "register_operand") + (match_operand:QI 1 "register_operand")) + (set (match_operand:SI 2 "register_operand") + (match_operand:SI 3 "register_operand"))] + "TARGET_MIPS16 + && REGNO (operands[1]) == REGNO (operands[2]) + && REGNO (operands[0]) == REGNO (operands[3]) + && peep2_reg_dead_p (2, operands[3])" + [(const_int 0)] + "") + ;; On the mips16, we can split lb $r,N($r) into an add and a load, ;; when the original load is a 4 byte instruction but the add and the ;; load are 2 2 byte instructions.