From patchwork Wed Jul 10 14:05:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958850 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fibDZfl7; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fibDZfl7; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4WK07z1qGtz1yNy for ; Thu, 11 Jul 2024 00:08:31 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 76C4738708F2 for ; Wed, 10 Jul 2024 14:08:29 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::601]) by sourceware.org (Postfix) with ESMTPS id C6D5C3864C65 for ; Wed, 10 Jul 2024 14:07:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C6D5C3864C65 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C6D5C3864C65 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::601 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620461; cv=pass; b=IaS/NP26MAzo8kMDA5+rYIvsh7KvBGvi8ySMWTD2as1JVsiKcVrxGTaw9AXWNnMOOkfbNGaBOP60/VzScjDHBGd+iJbsVwjc1xHAb1Q9teYXWFjyETRwca/Scj3e3UW7dGqnZ+JjpCcARsx25AgtEfl/+X27Y1hr4/1Dt1ch0Y4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620461; c=relaxed/simple; bh=VnN9booBrAcuqETsWTT2LT3tqLFZoTj7yp1b5Zv5ay8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=haEXY7PTYgpKLerTrdSCjXQX3aolwRDBbAzPpYZyom4mhtPtXxkGrwbvjI/BOAZgV3f0WH/bHMucHQuVPqz8vjsBuiH822Wv2NzoOj548ywK2RYRD5zruDS4JHE8m+eEfVQRm9VSNeUCP19SMLbFQTFQWFI5hEnXRWydetDXmqo= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=mefq1vXNNlCfCX71SXg5qcWRPjPEVOYyuUm6m5JVDkmlETU0RitfU0Qbhq1MLM4XlMi2kuRJVG+hkq2aD/wBdWZwqjYS8mBwUZl8YplGYp7zDjacBRwBDgjq5bPNd8VPJ/a0yGQ5/Di4sAdHRQAr6JXccMp0LfEcwjltcIoy0HdsHM/28gNIZDyb9d6ijnbnwa3B2G33bkcl2GtlKvbFwwJBEfHN2/Y1slwwab+yHc4Iq/zT1FwnV9LMH9sIcH2z+W6R4qUSCh9YXPCV5dV312I92FReLMcZFVdiPoxNim/kZo6Mwd7dT23q9UYiqyoMYlT45IZ4vLs8u9hR3/wIlg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=qScqWOVkg/BzBGiRPOomc/nYzK2zS13ad/kcNKmw9Qc=; b=ORVt49132xFwyJ7+Rgo/sjxAtijXjFYQJIPKxodGsW5W8Sh6tEp7ZPcoLKnhEIJXCp364uR60vcMHVS/GkndP9A4e6LjL3pxQo55dtyah2rT25quRU3aqbUG5p6BYM5h08M7XVW0dTyN5CXkfK7DpxQxs4eAuZnLIPwMHGLXrXYyCBDUEPbgfpKTOrwR6rDyDBfPEYmXrALoSVAq1ZvyRazqfshyRGsTqqlT/xKz4KAU2PjIq+hxGksgHXf2LznSir3mapfs8Z1r0NUrei7c8GmWHczxMnYP5MHOZTh/zXAHL9/UyQgNBLMG2pcyLoNxIzCX1b27djjSBjLj6hK6ng== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qScqWOVkg/BzBGiRPOomc/nYzK2zS13ad/kcNKmw9Qc=; b=fibDZfl7M8X/DokpGGVJ4uRtj9lLeo/sEvy+okc/+1DABnvFACcxxVRYFU8fPAkFeKoV7j4emqc2kS9SvrCKfHaVBs4Dj4sQK9TEF2VDZx3xY/qmO9yFIMuiRHHoxZmXO/dPf4jIFQkoiK/3WPdtHHrPGJE/JqaTpp+d/rq7dfc= Received: from AS9PR06CA0332.eurprd06.prod.outlook.com (2603:10a6:20b:466::11) by DU2PR08MB7327.eurprd08.prod.outlook.com (2603:10a6:10:2e6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:34 +0000 Received: from AMS0EPF00000191.eurprd05.prod.outlook.com (2603:10a6:20b:466:cafe::6b) by AS9PR06CA0332.outlook.office365.com (2603:10a6:20b:466::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000191.mail.protection.outlook.com (10.167.16.216) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:34 +0000 Received: ("Tessian outbound b2522d7cfa6f:v359"); Wed, 10 Jul 2024 14:07:33 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9e37a1d0e177ecf1 X-CR-MTA-TID: 64aa7808 Received: from 97094bb41ff4.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E4FE1649-33CB-4600-8FB4-028B554B8218.1; Wed, 10 Jul 2024 14:07:26 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 97094bb41ff4.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cxDVlv1SeIbSQS6oQoP8IMNnu98AIS+/zdIf9sNfJ614YsIOy8wAW9padfi2lroeyZnu/fghx7N/Yo6+rxwbyEnMpFliY/iRRn+jTVND2UMJyZhCSib918mxQYkKOF2nAMlRLV47UNd4R3WGMb8gwZRDNkThKz/7N+P8SezF/Fk5vKTDZkcOoYWCsM02I5XDUwDFSA4qyw9dZfP6wMIqN+jZwit9GGuA99gBNdTGvG5wSV+aGeIRmxQerscrTmi34vmTAWIGNg0t9dxUZAzeEsmbaY8DNP9p/cuOTuFhZjbeTUvUw3UF9OIDk64wt4NOeuxkWA1XWlU0nDGF2Hasiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=qScqWOVkg/BzBGiRPOomc/nYzK2zS13ad/kcNKmw9Qc=; b=ja/FggpyaCXoJrFjvNRoDoRggLGn8DYJGvJ7H0TIXUa2jRUKDeplQ+Fj22X+zaWLmZqkcJ/FNqAoP/c/SoVxCzoVJ4TnO3Jnj0pYloy4EUEJKbN8Rm9B8lsojtduee5FwTO33N0oCfHiBEwnn1ADZ96n9YLz2KkHUsDlTdqmBcsJdNq6knm2Cl2SZr70SJnaiLh7j5+urKP5Cg9hxqEBpCuzxvcWiC6IOPuf20jiIR1NIY622GrRHdgavqjsmdlNYS3EH/h8wXMxEr5NWvdlUL0beqBE5ImCvITlJU9TmGB+Z/wdMLv7UdjSDB2aQkeiw1zjwzcP2QJvft05AOvk5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qScqWOVkg/BzBGiRPOomc/nYzK2zS13ad/kcNKmw9Qc=; b=fibDZfl7M8X/DokpGGVJ4uRtj9lLeo/sEvy+okc/+1DABnvFACcxxVRYFU8fPAkFeKoV7j4emqc2kS9SvrCKfHaVBs4Dj4sQK9TEF2VDZx3xY/qmO9yFIMuiRHHoxZmXO/dPf4jIFQkoiK/3WPdtHHrPGJE/JqaTpp+d/rq7dfc= Received: from AM7PR04CA0008.eurprd04.prod.outlook.com (2603:10a6:20b:110::18) by GVXPR08MB11035.eurprd08.prod.outlook.com (2603:10a6:150:1fb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:24 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:20b:110:cafe::2b) by AM7PR04CA0008.outlook.office365.com (2603:10a6:20b:110::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19 via Frontend Transport; Wed, 10 Jul 2024 14:07:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:24 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:22 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:22 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 01/10] optabs: Make all `*dot_prod_optab's modeled as conversions Date: Wed, 10 Jul 2024 15:05:54 +0100 Message-ID: <20240710140602.1707875-2-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|GVXPR08MB11035:EE_|AMS0EPF00000191:EE_|DU2PR08MB7327:EE_ X-MS-Office365-Filtering-Correlation-Id: 443269a5-87e3-4c62-d208-08dca0e9a55f x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info-Original: kXFClsP6lLlnW5KHdgCeVZxEEJInAWm7PYKL+9ZVmXLZB6NTheKA+GsUlDHOVO6VjOGgOYu0eukKl9D2rloBkzVnwbxi6iyJoegO5ejcVSHhk5RgMgfzzXFaDwjXp/LoRYrESeqW3oTbcRdMqBX9AhTdpPGyWGufq15U6XARNAmDCxtu9wOMT6HZTZrVJQJ+YB9cveEiAaNrygAB1I1iGF6UCDGvNbMRpV6GIvmlQofshPDmqpG+pPowDU+KjIlfvLIiutkXzhkOgobmvbySgLzXFR9O0JBcF6TL1oPWT/3KhFl2yNk1oaJklOHHHLPaLuEvKG2BPBdTKjBndtU1llzc553v6BK04I4VZk5UlORjbceudbC1BX7Kz787vXx+T+sdmoSiPKwoYYTHaF9wN3aPGBhbPOpqa50Vq7QdgAgRUevgMw9LknxCyuFw5pF1ucWj3iVXt/PI58xQXxewubjl2mUV36F2XNNssZqXUkIT61Nh/UnWtRivZMu95kW4SHjnaLyaW1NBbcI7yx2n3y77P6CtFmpaIucrL5SQ6a+247+GKUoosbp/9CTmJZnCIoHYF+c957502hW6mR1O81UnT1pVFY+VnwC+iYcqdOnRlLWAT1s4lfB+LDjBqvhFu8azG/oSfPeKuCglTbJJLeXiNdhqPH0fwvtTHx4/QVBVhYmqH0Y4GFOrKhjPIyJUuyP/hOc612+0QpztBUPmrZt5ZuQLiS390GlAh0Z1y/x5fC243VpFrQD27Nu5jbaIrwSqY93ZJbuyihdKIuG9MnKLyGKKULqRGSIsLMhdYaOjNqIMv1jzsZor6Cm68Fm0Ttk8CijDE7Cm8LTnhmRk1/w9MhPnTEiy3sAk+dsqPeX/hfpR0b6Y7e/10jTziktcYlwKC9SD23X7vFqOv1LIOFGCycHpIQj4zygipvr26hN6Rs8olG87jM4p7g+/hN7+Cmt0SMg+uZ9TpFNMF+GuLcrX0YqhfA7GjtnWWJij5tjH/7vuZgBgLTJ6Q/B6zM/xS6jkBYfAD3NlxqmVFAXZdmvFKX5b42HqMp2s8W1ejPObuEJggw1QDjiER3VXX5Y9a4ihCEXUH2z6LyyM4oTGm0CYLpBQpcVYOc281olJNWtoMeMTnUkmEvXchwbmyua7oKz58J5mbi6uK8iw6fgL8PPwGMHYwzzfbLkG1tTVeusDoK8aM5MPHqVtimLahNSkHImfekjQY8P49UITICjWPtXX87hF7hVdhGY+IqYlJWXm0Kz5HCJQdxrhARcI2BsZNirRvpQGj/p/c+28FePIKn1rSSllPc3x9klSS9YcjKjW8qdiQanY7GJL33N/QW6kLgwjuZasHej4xelbIp94qUEki99QOKuYrKrnbXzctwQY1RYY0hbbZpJ1Q4hXtqpA77xiup3wEPE/5p2Yl0j9C9JRolN4rrrolUU1+Eobc89PbP3PHAgFB6g7A3Scl9C4 X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB11035 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000191.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0062ec98-c4de-4909-4843-08dca0e99f72 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|376014|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: 9jYk2CzCANkPyjGDc4lw2LdkKHdKt3Nme+ORjCJ86MTX1KdSkWEDyt/3tz2MVaS+3oXBssGIIKGvBf4YmUcqUkDcr14DeixSw99nWb0XtFqGRNowD4LWTYSxHhAXm0JwW2VDZaDc7TR+7fPZf+w5ahj+HUF9xbN+Aa2sUvnjwqj3d3lzJDu2VduLUaWJHvY34Wz4qm1qzeDBFo70e3uQI+d/SF8GuTphETYpyhcunFVKqSzjHH6QnpQjv1hajAbTsCceb7jE6duqkiZLEJdLxahdjrbpQfIN5PtcE4Izfi0mE1ezpjta8oOZUQf3ZF2+AjW1iE/bQipHZvvVz9MNrsqjKZ1MWUWD6vmFxt/cb58k/QpM/+wLPPHOGHldjKx1uKbzZAmtg63e7MNruO9OwjHx/Htr6cBpJLy3rXGDjXolqi7xAwlEVpp1S+zeH7dHxfIgJtz2ZtD5mq+G98BIE3zA9JHbEkZhyky0Bv3PqInFaM2ehtuqg/bAVmi/WDAOvKpLm9rF7MAg/JCPs9KsBC7i+77K4/00cc/GUDhXfpS+oxAVKpLrKy36ogyNd2QBZqh+Kmr8IvMIFzzffxCCuAB4zp4Ur+e0R4Qn6Lei5bsYNAzpDRi6zfkrwokyVW/RTsP7bmmkiRHqrDwneVyrdvEQdvj3kfRb7Mns6y1gptfVxLRAAMiBHrc5cp04FciYEZPT+pULyS2NZpz9pQR/GdyZdafkHSfvdF64lFc9SvgH2mo+eLx/0nmQbgEWSbliV2hBhRFxEsbJP/Ngz2AYrl/Kym/IrMO+ZmojyQnCSk2WYTcO/6bk5VFw0lWlmJPbTN6fIbeYPA67lHUmZ9SImDAsW/Ah3Wdh1SyViQTwsOfEw7ZVZrFnKSdIjnc+tZupKdK4Oq1yjbY5UJyxamg2SkTfhoSQuyRfAFdahu3Lu/DvEPeeF243EDJ5XsFGV6WQAUor3cSjSO9UdBXLhzP/GTvEX/U3kUw7BpmHhV1j8fPXsFXb7QRfLjhy7C6uyZfxdXLladHau90ougXsmDSW69NEhzVloWqLkL/sS7UZuwlx6fxU6Bjob7kbsfFYv45w+4yJvmO+Q/6OKWCPwenuyprSyxyu7txLmGqbT3o3Haq4gxD3e+D2wz6dRELi1XpFtwZFo1KPYMkM2LAAH6ZC1poOayvSIcGjqZtg1+/Pe3jXsrGcaxzRcPr32CnOstO35wH/jZ7kPKYkTmd6+f1EHlWlnWLepX9q18ii7QoGdXHZ1pJD8a+bYph5bbYf1ccrOKjJRbTqN7x2KsGg/lOdFCJt1zx24Dld+vj9E3uc8Lg6Ko713zReh8RFaQXb+FmV42FSjwgS5KeYf13sMxWXBmgK7U2Jvoq5IHuFkjFbhhWQi1Tsqb4brYIvCViiRTPSyxP7NPHl+i9ws3NCmvAcpDvLRX2JLVmY6B5nLhEVhYlvbBXgFvrW0G+JZcpVBl0v X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(376014)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:34.1643 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 443269a5-87e3-4c62-d208-08dca0e9a55f X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000191.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7327 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Given the specification in the GCC internals manual defines the {u|s}dot_prod standard name as taking "two signed elements of the same mode, adding them to a third operand of wider mode", there is currently ambiguity in the relationship between the mode of the first two arguments and that of the third. This vagueness means that, in theory, different modes may be supportable in the third argument. This flexibility would allow for a given backend to add to the accumulator a different number of vectorized products, e.g. A backend may provide instructions for both: accum += a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3] and accum += a[0] * b[0] + a[1] * b[1], as is now seen in the SVE2.1 extension to AArch64. In spite of the aforementioned flexibility, modeling the dot-product operation as a direct optab means that we have no way to encode both input and the accumulator data modes into the backend pattern name, which prevents us from harnessing this flexibility. We therefore make all dot_prod optabs conversions, allowing, for example, for the encoding of both 2-way and 4-way dot product backend patterns. gcc/ChangeLog: * optabs.def (sdot_prod_optab): Convert from OPTAB_D to OPTAB_CD. (udot_prod_optab): Likewise. (usdot_prod_optab): Likewise. * doc/md.texi (Standard Names): update entries for u,s and us dot_prod names. --- gcc/doc/md.texi | 18 +++++++++--------- gcc/optabs.def | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 7f4335e0aac..2a74e473f05 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -5748,15 +5748,15 @@ for (i = 0; i < LEN + BIAS; i++) operand0 += operand2[i]; @end smallexample -@cindex @code{sdot_prod@var{m}} instruction pattern -@item @samp{sdot_prod@var{m}} +@cindex @code{sdot_prod@var{m}@var{n}} instruction pattern +@item @samp{sdot_prod@var{m}@var{n}} Compute the sum of the products of two signed elements. Operand 1 and operand 2 are of the same mode. Their product, which is of a wider mode, is computed and added to operand 3. Operand 3 is of a mode equal or wider than the mode of the product. The result is placed in operand 0, which is of the same mode as operand 3. -@var{m} is the mode of operand 1 and operand 2. +@var{m} is the mode of operands 0 and 3 and @var{n} the mode of operands 1 and 2. Semantically the expressions perform the multiplication in the following signs @@ -5766,15 +5766,15 @@ sdot == @dots{} @end smallexample -@cindex @code{udot_prod@var{m}} instruction pattern -@item @samp{udot_prod@var{m}} +@cindex @code{udot_prod@var{m}@var{n}} instruction pattern +@item @samp{udot_prod@var{m}@var{n}} Compute the sum of the products of two unsigned elements. Operand 1 and operand 2 are of the same mode. Their product, which is of a wider mode, is computed and added to operand 3. Operand 3 is of a mode equal or wider than the mode of the product. The result is placed in operand 0, which is of the same mode as operand 3. -@var{m} is the mode of operand 1 and operand 2. +@var{m} is the mode of operands 0 and 3 and @var{n} the mode of operands 1 and 2. Semantically the expressions perform the multiplication in the following signs @@ -5784,14 +5784,14 @@ udot == @dots{} @end smallexample -@cindex @code{usdot_prod@var{m}} instruction pattern -@item @samp{usdot_prod@var{m}} +@cindex @code{usdot_prod@var{m}@var{n}} instruction pattern +@item @samp{usdot_prod@var{m}@var{n}} Compute the sum of the products of elements of different signs. Operand 1 must be unsigned and operand 2 signed. Their product, which is of a wider mode, is computed and added to operand 3. Operand 3 is of a mode equal or wider than the mode of the product. The result is placed in operand 0, which is of the same mode as operand 3. -@var{m} is the mode of operand 1 and operand 2. +@var{m} is the mode of operands 0 and 3 and @var{n} the mode of operands 1 and 2. Semantically the expressions perform the multiplication in the following signs diff --git a/gcc/optabs.def b/gcc/optabs.def index 45e117a7f50..fce4b2d5b08 100644 --- a/gcc/optabs.def +++ b/gcc/optabs.def @@ -106,6 +106,9 @@ OPTAB_CD(mask_scatter_store_optab, "mask_scatter_store$a$b") OPTAB_CD(mask_len_scatter_store_optab, "mask_len_scatter_store$a$b") OPTAB_CD(vec_extract_optab, "vec_extract$a$b") OPTAB_CD(vec_init_optab, "vec_init$a$b") +OPTAB_CD (sdot_prod_optab, "sdot_prod$I$a$b") +OPTAB_CD (udot_prod_optab, "udot_prod$I$a$b") +OPTAB_CD (usdot_prod_optab, "usdot_prod$I$a$b") OPTAB_CD (while_ult_optab, "while_ult$a$b") @@ -409,10 +412,7 @@ OPTAB_D (savg_floor_optab, "avg$a3_floor") OPTAB_D (uavg_floor_optab, "uavg$a3_floor") OPTAB_D (savg_ceil_optab, "avg$a3_ceil") OPTAB_D (uavg_ceil_optab, "uavg$a3_ceil") -OPTAB_D (sdot_prod_optab, "sdot_prod$I$a") OPTAB_D (ssum_widen_optab, "widen_ssum$I$a3") -OPTAB_D (udot_prod_optab, "udot_prod$I$a") -OPTAB_D (usdot_prod_optab, "usdot_prod$I$a") OPTAB_D (usum_widen_optab, "widen_usum$I$a3") OPTAB_D (usad_optab, "usad$I$a") OPTAB_D (ssad_optab, "ssad$I$a") From patchwork Wed Jul 10 14:05:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958855 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jqr7aoUo; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jqr7aoUo; 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 4WK09p2NFnz1xpd for ; Thu, 11 Jul 2024 00:10:06 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 839763870C2E for ; Wed, 10 Jul 2024 14:10:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::601]) by sourceware.org (Postfix) with ESMTPS id 7FFFD384A4B6 for ; Wed, 10 Jul 2024 14:07:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7FFFD384A4B6 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7FFFD384A4B6 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::601 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620463; cv=pass; b=isHT4czWNLl1rurQhbxmQ8y3lzS96O3/bGtIxOK2/4PiCYhX6xLNaL6H0Rc3qDzAyj/e/jzvZJi/VkacpHm0mzA0ZvLBJQrvpQTxj4CZXuS/N6eQrXOHZDHg8xTe8my+/ZpvlimbpK8Bk+d/PBmcZGF1If9FD+XE3/MwEhRiiHw= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620463; c=relaxed/simple; bh=pj4yLwxw/BW9A4dsg8lP/lKz1aBr1EY+3VIsIVOkmm8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=S03aTxXnGhD11eC/h6yHDI+QYgPCA9PFtQS/aWavG3HuR3BBcmWY9yntRVuxTB2j4grD02k7DGfahIYhhHnOwFDrvKlzlNDbqgXnucLe29TogjyvCX27zkyfdR91DtBrN/HPIcAw2d+D9FvZFHsQ8GWhplfE3RPtJXflHxIr9DU= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=czke2XEu3EApboVJBH2Utnl0I0OCHNY52zHHyyieIi9vl1qS6zWq5CcsPzlvQxBruA4wP+MTCWY/IjiNL3eX/7S5+RIV9vCxJbi1VwTzVhNFlnvuKLIdmTKtbCv7z35TjENudLMjWt+5YT8mHiOdBuCYjlB028aiBKln6IZCt+tZefVnQscHWBbcZS6KuvKC3jmBkwrZY+3slQwe/pYV1cguSNO75L3TZUSQE1MDbpgSYVkiRbCK9KieNPdVIefcht92mT9uqpSEZuugVcmkN3ifFipeNNlWBIpX32lHFmyLYiLh7fP7oCBujY8sZOwiS3+976DB9LgM0cmQToZAuw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=auVaF6tCKi06Sn02o1+bVqU6x+WfIqt9UAKoFWNJLVo=; b=AO8l9nFuyNtOPdQv2ZPBUf8MOyoTi8Zlec9TVy1CAcaojL/kAPqHvwmMSOnw0fltv6lt7YqaTPSXVEnB9fDejLkFO8HSbE59pp+ET1DNI8njAVHx44J2/uDgcKb2jmFjG3cm0hYif95a93JIIUQoaJ0JR83V/4S4s+c72buvu8ljDoR3QTpXXxZp2qBo5vvWtowBkHoEL2GYyzfAdm/cnyJ4/K5AIeHkKL5veTrta5/8WjGDRxbv851IDP3LgHFInyawN15FXEi1jkXwU0Z/DURIC6B6tDL2CpFm43+fp8+VCB7c3QdA4zvOihkmoQwEWEeB3AY6ASfOvYrzEMZ3mw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=auVaF6tCKi06Sn02o1+bVqU6x+WfIqt9UAKoFWNJLVo=; b=jqr7aoUoGIv4D6SfvkoG0BB53svenE8SeKI4VKVqs9uQ6XMAtfNiYDkO0cuJqkXLpaRA7ldLKEF+ubMBuCYpfX/GWRzGDnhJCuvKdvQW0SoxhhGzhTIyXZo6IPNpgji2HD6W8fgRIpHEsqcV7l3WfxVdYFKYTlPa/3TjZauh+9k= Received: from DU6P191CA0070.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53e::18) by AM8PR08MB5652.eurprd08.prod.outlook.com (2603:10a6:20b:1d8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19; Wed, 10 Jul 2024 14:07:37 +0000 Received: from DU2PEPF00028D06.eurprd03.prod.outlook.com (2603:10a6:10:53e:cafe::ec) by DU6P191CA0070.outlook.office365.com (2603:10a6:10:53e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF00028D06.mail.protection.outlook.com (10.167.242.166) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 Received: ("Tessian outbound 7c3e8814239e:v359"); Wed, 10 Jul 2024 14:07:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 832f60552f139612 X-CR-MTA-TID: 64aa7808 Received: from 3b280edbe621.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 117363D6-CF42-4EC3-8330-E48C74BFD755.1; Wed, 10 Jul 2024 14:07:30 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3b280edbe621.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NsPO/aw8g501gtl4+tqfxqxuDyAkflhqlB0LvVxkvYb/whcfZlwY9Q+hZNieT3wPZDf3DvU6iXoP5wHyYDSnLEvezL1pg8xkgo+rwYPP//Xq0yIpFiBcV3gwyAU9UqOaTMypHv00ut1czcup7GGa4u9NTbG9sBpECsawIo8pqN4Bi9I7bEPOhpo9EMv39hLpi4BJWm2MlbRvcJAelkVHUjYOGTuFvjuyenb3IrEgAW642gvJ+ZmL0RZF92BrBzbEF0WKoA6xRhCpS58eMZpOUjYN822a+APIodTAufzfrNH1HwtiaW1IFO7Wh+j/6qzDpvA/9E9B7QKuGr8SK2/fXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=auVaF6tCKi06Sn02o1+bVqU6x+WfIqt9UAKoFWNJLVo=; b=kbp/qwK8vnzy4zlaWfphbbBmOtAlmtqtgtujdUhmKKjvfsJVGPUC2DgXrfBfL3/BAm+sqdfsQo05y7yZAg9Rgl5gHBSStHb2/DBhJn4XRMwZ/UcNmQkkcZrf91tLqiVB26KW5D9s07aQnZBT/30km70e4nNU6WENst6Hq3pxPcrGRnts+DREAeSz3uDKyewqTnMufRsAr5VEEyBz8fDA6zzreEvmlCdfafR2ZFEVnf/4anqfk1DQ9/1D//ov0CW2Bl2j5jRokTqobqjQOwd5+o4TU9R+6maNiAH2sTzT5IHD4g9OkT9noAEAIvsWP3fesdMRWmpfuDwtrM4DljLgeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=auVaF6tCKi06Sn02o1+bVqU6x+WfIqt9UAKoFWNJLVo=; b=jqr7aoUoGIv4D6SfvkoG0BB53svenE8SeKI4VKVqs9uQ6XMAtfNiYDkO0cuJqkXLpaRA7ldLKEF+ubMBuCYpfX/GWRzGDnhJCuvKdvQW0SoxhhGzhTIyXZo6IPNpgji2HD6W8fgRIpHEsqcV7l3WfxVdYFKYTlPa/3TjZauh+9k= Received: from AM5PR1001CA0048.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::25) by VI0PR08MB10448.eurprd08.prod.outlook.com (2603:10a6:800:210::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:26 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:206:15:cafe::ad) by AM5PR1001CA0048.outlook.office365.com (2603:10a6:206:15::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:25 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:23 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:23 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 02/10] autovectorizer: Add basic support for convert optabs Date: Wed, 10 Jul 2024 15:05:55 +0100 Message-ID: <20240710140602.1707875-3-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|VI0PR08MB10448:EE_|DU2PEPF00028D06:EE_|AM8PR08MB5652:EE_ X-MS-Office365-Filtering-Correlation-Id: ef08fb4a-2b06-4dcb-fd6a-08dca0e9a6ef x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: O0P6DnxCnHOdJxFU71RqrHvUTxYXtspGbR79+iZjRgqIfKFb0RrgTpH6sQP0XMBCTUxmk4Qt2+vkbRbDzwrqq+/7GRGM2CLnCpbhk4MFap++iCWmuh/zPdv8zN4WD8iifty+f3bLJd34mHm2+bTyZ70zyM89k+6WisZcomwfWtMVaYbaUnJXkjfyixcFqJHyH4xC3hQGm0AKZMVKPjNY3vpv9h+jn8OALsUEiViP13NB9XCULBrrUG2UWjC23MFUjBSJsMk2MSoHvobpN5qOnMhmLmnG3uPYB2QSHrn70bhQ63ef5dCU2s/mSzHF12rCev+ZmrpD3M72LEL5RlPFbpG8oHcs7bGtnk7oeCMVSnBPBVdqK1wCzNk7HABa3/rfKozyD8q9v97IsTYqjSva282iGnkkYj0HwcYFqgcAVOMdn/QKB/YmvJgyOBiBGEqysYrY6gD14gFOw82GhaXWSXADkk4WE/RnZk7xqLmqZGqd3kBjFQqge4Rx8cZRxcmBBHgqVKO8ISmoIKG8avjiChMwxvAeLINbF0buoKiZy42Bjzlx2PYAHKz+Cvf0iQO/eGiWK29qxaUr39DE7H5oRwqdzff3tedJDH8ARRLv524OhTyAewyiFnRwX+//K73/JLXWE8piCbpVuiRkltszwk8X4Gm7i4gQVs9g4PhPKGOvCWQcFNpllJ4zWuWsX89E7VhKrYtRE5Mv8ntHz+bxHdj1a6VG/12CjgOMOEpA0dRG/6eB39h1o0wlJ34oJo4XevZjuTN16oHaetHGEzcNYJhA5R9x2rgKRt3dE+o5U+Gw417em/tCx+oYLcV6GBzZmvNkKdu6VeOCvJz+YOewUCKsxFDdWZKPg0Z32urLD/AUn75oH2ZOhW17fqxlNcIf7bJcD5S8MxoW9plkyM9+ChByTyWcjqZHkyye4+wvN7utnd0Kyf5zWN/HksNNFZnVK3KU09KlAYR3cPLmWEJWiEGaZ2+IxuHR6DYe7jc22d7g6D0lEwa3gFcepH6xKvFxXgjjWpZY5fmWxYSRuejSPw/wvKiDrj4AvsGpxhULZnNDKehPxdkBUmVWt9VM5+oJHWNU1IoImJKHQdgcQ4aZXXf78On+HJxB3i15JMk/vhH3AhnFkWdpjf5SIRDW6oW7YjnSI81B7DyhPPJVWiPghTiIYTJ+DJbuj5YWi/2ALjgXSN8QDbkGzvB1y80l0bjVGRAmPMPXMpQsr3pmmqRm0dIPZDKfKhf9VDpD/v95sjU9u+pmBC0TXl5Z3dY4iu7Uxnhi3gnp9QAY4LBdrUWxG42FU9ndRErBykaTkHZ/Hpqr9QvptsVWtdoTTEWySHjxKo/QE7tedHziCYavZoGfc1zTPYWcPYybhcmUxjgr4LpxaNtZPaTJJezfbKfMy6pO7J+pJwhDHux69YGi44U3WUQoIAY6E2tm/CX50dEH7+CdYizZr8vRUNTM35iLoYqG X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10448 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D06.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 098f3a41-0632-492c-ee5d-08dca0e9a07a X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|35042699022|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info: 2wdkBfLZIbMLt6NHGujWNH2c3RaL/1FlbIo1TaYM/7O9DVwIso4p2aLm3aLBZPbmXLdeVSx0R+C5uSj0ZJxN2vlueyysCDwO/VC3qtJc6dReoF9U5xaf+1nu2UwKJtqVTHKjZHZRmnBMWdI8yowrKz+/5HhJYKb98bCv4XuyP11sbGxB9/kYZs+3OtUC4vJWjoVuPIPL8Fs4jInLB3i2wZCc7u2ChrcygO+yjSbb3GEQbID4bFt5YRcQuCHpM1ffaBYcdArVg1XcwWDEvqW03VF8wDgIJmIbzWwhMasHwZzoF8Xq8aLRxN6AXAEZ+P7Caqid72DD6ELV9OW4kMMZ+WuOKtgcmp6Vk4xNj6s2mY3YSIvN/+zH0IEN6sbqGs6WSGxMrn7SNiguaoa4JgtHRestGx21QbrX9cUKHN4SilKIDt0VIfg3A0O3soxvh5EsMKo/+3LnN4Z+znxyMiMdqe2nB1JXlKP5tm8ZZDjASAN1X4+uGQKr0rh1ocn9/aNPXKO3TxmSwq9Br+d1ZxZTDw+aQ1vbsCtWupPqPxt2I58EaSmU49GUSHeNx8oHVKWnS76mfG5VTiXru5pBgeIeNQvaztpvOqGzBCYIri4Tj/hMVHf54CAeV81mXXwejdiPmB9GD0ETa/bXrvaaAAFGiCNLS3Z8FWKQwhxyYK/eAWCRupqF5yRkar13pKmh7xPqm2WOCp8CYw7yzFjWkq4TuAtMXpfMEhfQapfFne7Go1Br8JlM/bzsecHfKP/+T5k0DvMHSour4sfNTiAKmx/bQL1qumy3LW+AuxSZ+ixthONavy+TwJqAv5mqy2e92RjgePPIaN9INVS4vZiV6ooRTi0pkaI7f08wkgSkjHlb+FIEaE7Stlda7xoKFSgzzrV6LgJshKm2WYQUlJiFE9Eloo1e05btI/4565AhR+Eisqng8BfrJinIu2bzotzOuUCeXbs+tWKn66gU/H+Sz/s/lRyXCOtY9phNRJ5+wsBGyDQdc/dhChy5AqTGfU2s4eHajBY3wm9VJWT7Fkesv2v0HX8Y+WygBVXDLwnajA+g5UY9hiRNRuYRX/cQnrO70B3ELplsCoxZYdbjmNNRZasEcqgAHtiDh+a9hmcDeGNrXRx61ktZAkM4RDM0bmtuPK5AZWqhfCp3EBjW8tNAT0ZFvEIpQWUGFlG7gKIw8MgJKH73BgmDiBAGpr2svgO/yx0w6SLStfBmzW3RIby707a64iak8UxfUQ/k+FOAcQS//qnDGj6c+scRjqiaRr4M1n9hvl9AJBpksJcUjt/rHIlnQALK+XgWlkv/mCVNo1210jsEKggq0N96nGQOvgRRxsi8R88RrONqre5V3QA+oREFpXJ1tapWESX3l6XvMVSVNhxRPa1JCEeKsRQcuta75dNOuOcdQz+OOx2cyw0nXI3ySFbzn1ICwwiTVK/m0tsmvz+y3TveuFrN6vwtteHorxZZ X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(35042699022)(36860700013)(376014)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:36.8181 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef08fb4a-2b06-4dcb-fd6a-08dca0e9a6ef X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028D06.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5652 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Given the shift from modeling dot products as direct optabs to treating them as conversion optabs, we make necessary changes to the autovectorizer code to ensure that given the relevant tree code, together with the input and output data modes, we can retrieve the relevant optab and subsequently the insn_code for it. gcc/ChangeLog: * gimple-match-exports.cc (directly_supported_p): Add overload for conversion-type optabs. * gimple-match.h (directly_supported_p): Add new function prototype. * optabs.cc (expand_widen_pattern_expr): Make the DOT_PROD_EXPR tree code use `find_widening_optab_handler' to retrieve icode. * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): make it call conversion-type overloaded `directly_supported_p'. * tree-vect-patterns.cc (vect_supportable_conv_optab_p): New. (vect_recog_dot_prod_pattern): s/direct/conv/ in call to `vect_supportable_direct_optab_p'. --- gcc/gimple-match-exports.cc | 18 ++++++++++++++++ gcc/gimple-match.h | 2 ++ gcc/optabs.cc | 3 ++- gcc/tree-vect-loop.cc | 1 + gcc/tree-vect-patterns.cc | 43 +++++++++++++++++++++++++++++++++++-- 5 files changed, 64 insertions(+), 3 deletions(-) diff --git a/gcc/gimple-match-exports.cc b/gcc/gimple-match-exports.cc index aacf3ff0414..c079fa1fb19 100644 --- a/gcc/gimple-match-exports.cc +++ b/gcc/gimple-match-exports.cc @@ -1381,6 +1381,24 @@ directly_supported_p (code_helper code, tree type, optab_subtype query_type) && direct_internal_fn_supported_p (ifn, type, OPTIMIZE_FOR_SPEED)); } +/* As above, overloading the function for conversion-type optabs. */ +bool +directly_supported_p (code_helper code, tree type_out, tree type_in, + optab_subtype query_type) +{ + + if (code.is_tree_code ()) + { + convert_optab optab = optab_for_tree_code (tree_code (code), type_in, + query_type); + return (optab != unknown_optab + && convert_optab_handler (optab, TYPE_MODE (type_out), + TYPE_MODE (type_in)) != CODE_FOR_nothing); + } + gcc_unreachable (); +} + + /* A wrapper around the internal-fn.cc versions of get_conditional_internal_fn for a code_helper CODE operating on type TYPE. */ diff --git a/gcc/gimple-match.h b/gcc/gimple-match.h index d710fcbace2..0333a5db00a 100644 --- a/gcc/gimple-match.h +++ b/gcc/gimple-match.h @@ -419,6 +419,8 @@ code_helper canonicalize_code (code_helper, tree); #ifdef GCC_OPTABS_TREE_H bool directly_supported_p (code_helper, tree, optab_subtype = optab_default); +bool directly_supported_p (code_helper, tree, tree, + optab_subtype = optab_default); #endif internal_fn get_conditional_internal_fn (code_helper, tree); diff --git a/gcc/optabs.cc b/gcc/optabs.cc index 185c5b1a705..32737fb80e8 100644 --- a/gcc/optabs.cc +++ b/gcc/optabs.cc @@ -317,7 +317,8 @@ expand_widen_pattern_expr (const_sepops ops, rtx op0, rtx op1, rtx wide_op, widen_pattern_optab = optab_for_tree_code (ops->code, TREE_TYPE (oprnd0), optab_default); if (ops->code == WIDEN_MULT_PLUS_EXPR - || ops->code == WIDEN_MULT_MINUS_EXPR) + || ops->code == WIDEN_MULT_MINUS_EXPR + || ops->code == DOT_PROD_EXPR) icode = find_widening_optab_handler (widen_pattern_optab, TYPE_MODE (TREE_TYPE (ops->op2)), tmode0); diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index a64b5082bd1..7e4c1e0f52e 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -5289,6 +5289,7 @@ vect_is_emulated_mixed_dot_prod (stmt_vec_info stmt_info) gcc_assert (STMT_VINFO_REDUC_VECTYPE_IN (stmt_info)); return !directly_supported_p (DOT_PROD_EXPR, + STMT_VINFO_VECTYPE (stmt_info), STMT_VINFO_REDUC_VECTYPE_IN (stmt_info), optab_vector_mixed_sign); } diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc index 86e893a1c43..c4dd627aa90 100644 --- a/gcc/tree-vect-patterns.cc +++ b/gcc/tree-vect-patterns.cc @@ -248,6 +248,45 @@ vect_supportable_direct_optab_p (vec_info *vinfo, tree otype, tree_code code, return true; } +/* Return true if the target supports a vector version of CODE, + where CODE is known to map to a conversion optab with the given SUBTYPE. + ITYPE specifies the type of (some of) the scalar inputs and OTYPE + specifies the type of the scalar result. + + When returning true, set *VECOTYPE_OUT to the vector version of OTYPE. + Also set *VECITYPE_OUT to the vector version of ITYPE if VECITYPE_OUT + is nonnull. */ + +static bool +vect_supportable_conv_optab_p (vec_info *vinfo, tree otype, tree_code code, + tree itype, tree *vecotype_out, + tree *vecitype_out = NULL, + enum optab_subtype subtype = optab_default) +{ + tree vecitype = get_vectype_for_scalar_type (vinfo, itype); + tree vecotype = get_vectype_for_scalar_type (vinfo, otype); + if (!vecitype || !vecotype) + return false; + + optab optab = optab_for_tree_code (code, vecitype, subtype); + if (!optab) + return false; + + insn_code icode = convert_optab_handler (optab, TYPE_MODE (vecotype), + TYPE_MODE (vecitype)); + + if (icode == CODE_FOR_nothing + || insn_data[icode].operand[0].mode != TYPE_MODE (vecotype) + || insn_data[icode].operand[1].mode != TYPE_MODE (vecitype)) + return false; + + *vecotype_out = vecotype; + if (vecitype_out) + *vecitype_out = vecitype; + return true; +} + + /* Round bit precision PRECISION up to a full element. */ static unsigned int @@ -1266,13 +1305,13 @@ vect_recog_dot_prod_pattern (vec_info *vinfo, half_type = signed_type_for (half_type); tree half_vectype; - if (!vect_supportable_direct_optab_p (vinfo, type, DOT_PROD_EXPR, half_type, + if (!vect_supportable_conv_optab_p (vinfo, type, DOT_PROD_EXPR, half_type, type_out, &half_vectype, subtype)) { /* We can emulate a mixed-sign dot-product using a sequence of signed dot-products; see vect_emulate_mixed_dot_prod for details. */ if (subtype != optab_vector_mixed_sign - || !vect_supportable_direct_optab_p (vinfo, signed_type_for (type), + || !vect_supportable_conv_optab_p (vinfo, signed_type_for (type), DOT_PROD_EXPR, half_type, type_out, &half_vectype, optab_vector)) From patchwork Wed Jul 10 14:05:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958859 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLuJhoCk; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLuJhoCk; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4WK0CW2HMpz1xqc for ; Thu, 11 Jul 2024 00:11:35 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 80D6B3870C36 for ; Wed, 10 Jul 2024 14:11:33 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20626.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::626]) by sourceware.org (Postfix) with ESMTPS id 8CEA7384A4BD for ; Wed, 10 Jul 2024 14:07:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8CEA7384A4BD Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8CEA7384A4BD Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f400:7e1a::626 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620464; cv=pass; b=shJGqB+O7xMvrpgm7OoXax8nLcfZPw0Cm0AMb3dDTKpAQ6OU4g65bA4bNKEWi3UuPNmHbZED8Mm0bE1Oi2uoV2s1fqgZzq4WxfoAtZivVfIaKDhyd4uY/bOJjaqdNd0WyRw+C8wwgwbHZTrWuIxP7rVTCgU96qqnYlZwn1KRR/Y= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620464; c=relaxed/simple; bh=7RTQ2CEJw4YGFdA4hd8MALxWUIOOxowY5yGslJF2y2g=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=o7AtdeDivuTk9zSBsjaGQ5wf26bFJ9bqgzzsht/BqBmxqU/jsOh3MALeEpL2u23NLLNxiilIvryDav1Fq/Yse4eBN9TWuNrfqKx0az1gcDtGZlrFkPHmRLBFzvUIX2T02GbreQiJVt8QgyV1/BdS9V4621/qj3hZNGEPLmiu/Ic= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ceZi388A1f+5qoLJCMAdenCDOJp1Qrw9wwe5tvRJiaG+IyBg4/6pwChyyosDL85/EzmrORTLZ8U3xdSWOA8c+ws6S0naVHyf5qvh2FHbHEN0v7lVH1Hbc+aq0RneshWNiBt4bxjh6T2yDODkgLCaO5jqagQ3WnBi5MsL4AiaGowOcF9AlK8FDaz7UfTRhR0Yep3c1JOGAxAwqaRx4yRM0GYL3+hGmGtt2UGo4YgfYVMNcGyuUDJAB02paI9ZZqJ9AMrW7tdRobyZ3kIPyRcqO3a4uHXsT4ClTX5BocdO/f3vpLTw7XUP8knfjB7sNdXt/zbAphWXIgSXDQkaVLwljQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=i0mJNJ1vbWqz4ZhWiMfKzNQRV5SebRBqpz16ffGzZFU=; b=eiy0eB+zotUim+K83HvLwoS70yNMU66KLUuJgObL11Z3C2ENyt4i7y/G3NvBvfpNwqqPyJl/WXGr5LnQAijyQrVELOE862eyumqmINTvJCECMInlolYu9jzN4kXNYcAJbJ7z5lB8KnYeEB/QqUiqkyhqexlTLYKXdvXO5fwu4Mik5PxbVrNDIF7Jm0GOtXJs3r1fUUT5U/wY/35KFrz+n+FCSmuYYfhLq6lQdGybmaLTFc7Rc1kTlhQKuzQH/W1ASe2zGtEYF59e+TMb3ZT67IWkpWETXDzhNN1SIiMzSty7Lcxun/VNne4kaNu9DHUYtCDzS2H+jQ3gLGjXuCJj9A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i0mJNJ1vbWqz4ZhWiMfKzNQRV5SebRBqpz16ffGzZFU=; b=NLuJhoCkLfM5oSOY//Os2XfkbZTcx3K7pb1Ec3oBgd1WHKgh8guhtOGdNd/l0y4a2ID1SkmnnQgems079eBL4VikgN15RAfTYER64C+hEgc4bxAipQhODNHYTG35z+OPtPnVbyhVTq0FMbDu111zaS1rf5BGy5aYovIUgOLWeU8= Received: from DB3PR08CA0003.eurprd08.prod.outlook.com (2603:10a6:8::16) by GVXPR08MB7776.eurprd08.prod.outlook.com (2603:10a6:150:5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 14:07:36 +0000 Received: from DU6PEPF0000952A.eurprd02.prod.outlook.com (2603:10a6:8:0:cafe::f9) by DB3PR08CA0003.outlook.office365.com (2603:10a6:8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU6PEPF0000952A.mail.protection.outlook.com (10.167.8.11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 Received: ("Tessian outbound 22141d90e140:v359"); Wed, 10 Jul 2024 14:07:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 64c625ee889830d4 X-CR-MTA-TID: 64aa7808 Received: from 4c735fb1f414.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1E6FA352-32AB-4503-BF79-E5AE4F6AA6EE.1; Wed, 10 Jul 2024 14:07:29 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4c735fb1f414.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PdB5bWIwF4kcwpNyf6vTEcQyMsoG87fw4sQrYip2m84aBfOh8EeG1FkMO1fFewTiTfSLrMKc3vVY5rQ4GPWNVCKzOROnJ3TsZUCiZWD/K5EJSLz8ttZdq/Jd5NPzSzFugi62fA35Jn+6fwhkw2E/Wpg/Ku9acKgrMP837YyomezYsVP9Hh7slFX7h20X0XbyGWOwmHhqrqhknWy6dihkUdAnUol90DWQmbtROq5zA36o7j/FpPlcG1E5zwp139NmHP/WaSzfJWNAIhDwnqy9Qr+Tx15/M3MKjl76eQfNDqHgpOV0gWRa7MltSML0rXfncyeFNUtMXeSgXP+gNJc2Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=i0mJNJ1vbWqz4ZhWiMfKzNQRV5SebRBqpz16ffGzZFU=; b=OL800+iPR8LsfYnf27qIpGEUPy3tHp6cSRqkR52YY9n/l4WFzvzXJ94w+F+d/KfftFHOTmm3WXmTH0cFF8IJF5iuo5Td/Y+2rIT6Taa+xSxbkFlUS07RwG5RHbwmgOBvW29GYggVZ28Cljt36mCAGugYMoLyu9Y5bNSW8mCgIW2xLOvjf5197S+YiFja1uzN6xHzhC5Q7HCiFmWHg8BznNfO6SLYuS62zu2x4+VZGnU4AbVB7aIL5NTlvhvPNJ2dlzyGngzGWNQoWZsMWkKykQOrqhwnMgIupRsSaxJgJGDSvJIdessaKRw3b2zN1yAqPpVOCjh5RciF1WA/2p2hEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i0mJNJ1vbWqz4ZhWiMfKzNQRV5SebRBqpz16ffGzZFU=; b=NLuJhoCkLfM5oSOY//Os2XfkbZTcx3K7pb1Ec3oBgd1WHKgh8guhtOGdNd/l0y4a2ID1SkmnnQgems079eBL4VikgN15RAfTYER64C+hEgc4bxAipQhODNHYTG35z+OPtPnVbyhVTq0FMbDu111zaS1rf5BGy5aYovIUgOLWeU8= Received: from AM5PR1001CA0049.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::26) by DB5PR08MB10140.eurprd08.prod.outlook.com (2603:10a6:10:4a1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 14:07:27 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:206:15:cafe::4f) by AM5PR1001CA0049.outlook.office365.com (2603:10a6:206:15::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:26 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:23 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:23 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 03/10] aarch64: Fix aarch64 backend-use of (u|s|us)dot_prod patterns. Date: Wed, 10 Jul 2024 15:05:56 +0100 Message-ID: <20240710140602.1707875-4-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|DB5PR08MB10140:EE_|DU6PEPF0000952A:EE_|GVXPR08MB7776:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f73b2ee-4977-4034-b52c-08dca0e9a68c x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info-Original: g2CDTEGd678eVWxJQlLCAgm8J4cchqpPkoZUSNu8F2asQvL4fJ9uX2DdqSeZHFtWq+MaSac9uH3rSKOx6/xDE9HUZAjdwEgVC9zfJkmogelxzVqDM2HMxyA5ON00Ei+kg3jpExh3xbk2LfzYSUf+HXdnpqBrmj/rLGF4ERS3RtygNEYaIFzUrFuUblw77kF+1Non7ovxHmRHXSrND3+ca5PrszRepcVSXaf+dE69ldotMZLWPvuDGCtyd5kWfV4jdqPlwIJTWR+w4h/yJNV7/2G/edaIEeXYce6lngWD9HHRgN8+SKhI+3b/H7fmxQEHWuppz8v9I9LEqYur2bM+rXxIiQ7HWEAxzvJAUXyX8PszPxeQiaK29oGd2rDuWCVrAaLGsOlgw0gPaiu4bMbJ+e3o1GNqvNV2qhqyYYw3UWGQXr3QSUqtxBUK9SqV/xZpc2iCMsON1xZYuLY5G79Q85I2RisRXcEVllvrHgPWJA7DsuC6XBCgHhQIxGLO3fKYRlrcx9MX03vK+Orc0w9dCX7o2cdqqin3i1dcyc77yZMyBskZY+qXepaDk70Q+fNAhkS7+VbCUkzHtIUZ1jSbjZgV+db/9iI7XJiEUD27ZVpuo+UW9A+oBG9aN7Jq+R/I5y/JSdvnf2m87PwJeLISn6QJzB9sRVE6eCgLBlRK2Clhz1HIbIP0Lby4g37kl7wCfdJxygIvLL5g8P33+aRUHaVi64bcgFFSGf3ik7N07wX76tgLStuMzCEqJvhA6LB1FUFOzZh0TcEzUSeDIPLNnQRWpvFWYtOyqemwJnIvHtIrTw5ZslmPqnayXBR3O57BMrJq2wr6su6Lq9XeUceU1VFgycJhNuMd0u1Gs3sN8rtZOWCVx5sWDnb9pDfPLYF4cIV5S4wmwV4aIRnyJ+X8ZwWouQbSXVbmXY4hPiFXcDFr5dhR/Ywd0ESWDaRZ60ainsKe7uFaHr8HZqyfTgbLanpnnPYJksKg+hal89Tm5kUyc9I3NS58XrUc/nUH0VUryy9yUhHRmKze4OYNYlvq1N9SllVBRjruP8TyZ3J6RluBW/Hmbr2QnOnoCG6zboNpBdvpJKkKJWhh1ApGoJSEZD5M9Uhn5RVrFGsS5xOBIwCPM05KCLcpF7S48sBxHBv2Mp7uFJVzoRWLTnjpQByKeeQvgqJ6At87ee/DDIVofuagH1R8qfmoXr6b3GbCVNghUug1/Gxq/8zLmvpnxaPI8E5MfW3QinKtYsv1OK0671C5uAaH/6f0dt+Eg5KlfrKWgdhcW3z2gz5LmPfXj3NrxSzKUHzmyV9wQSDxSNUza4ZP0FdNNMzI3Ef6PFWyPwIX70KAkwoq6oxSJ+BBw+QFidqp7Bo+3V/MahYE4eSWlOFLlz8ahi/pqpLPbDwyQvtaWT4OLryJH8+rrDGM3DysCw== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10140 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000952A.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 94f3874e-37db-4b05-7272-08dca0e9a100 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|376014|36860700013|35042699022; X-Microsoft-Antispam-Message-Info: 5vY+grVH0uZoqaqwe1HXGnNAVbFJCZULmE/eaYmJmf5nwZxmjBlkSVHV9IIGsrUT+VgVjB07ntMBKEbHuZNzb6Pb6QqjgtVsD5xImdSYzwYg/oRntZgS2+2b5hqa669YbNlp60rB7IwVEahb8Y0JBlaC6Frkog5oAlRRq0j7oaBlnEk+lBhmyrSxHpPNqUUstgCR9pNRKir86CLIX4ielDlNn0Tyj45WaKj/29iU9nLSR0XHtCgz9HAZqnM6f5+/QkhH0bblJx0ikenANS0f07oevXzgprMWsvpUrmnvWH8lU5PezMriYCQpWlle4iY2lvgIJay4vENr9xSlxAryIaw/36OIcbCKo3V35i8txvrHXCFupyif7bi46yXmWyL9iMCi86nEoCbaq9nb7+UeBnoPgYamvEFToLBRGiF88FlTgSYopVUzGlX7EUiUf309Hbz50tR2ljyrFZ+9oAKUP4SisFxYDXfI+EVeA3DeNT637r2lIVfZyF++iwmUI+Uct9sHYGxlAMAh0YiJDxXWro+U1yTRxheY3baS4qiry7NeA/izFqM3gE8TChncfX6ucAVz1BlAF0ljDhAJEV/wrvIXtWyFDkgyFm5uewt0zXKnn4Hb7UcdVkm+kGx4tQ7I6FFZ9ugaiA4w2QgFc3ShHwMW1C3x4v2JB+bjXDdTl+kNAw3aze0q4wPEBAByLskY7WPIhHTAj5lReoN3ftnB29+jqUwiz+NVJZmSZ4zm/Qqlj7npv8lkvvFliyenJCMfazOM7FUEo7gafQF4F3etJww4EbOuZ7zzqLUpEfQOwqggo9EojSD+f9euYxcMuv/GO4dJVYTPpSCSIsT3xfWunYuJ3fpXrXnW2shAFY0jpiSYDkAEnhUiyGTQoD3EKITltYLKVWXvDsbr8sXu8aDSG9CN0KPMCyoAYI/uHxRUjwRyPxcIkM63RA2xh0v8p+RnApCNwZF1riqLpOjUSBAWxgV3iYk7uXrS1NcJqjFMr5JUvj4hx+K1A6WI9Jwr7+08KJXwoHXVk3mdYt+UoScr4Tpcinxn4PbQA6zrpfHHqaE3mPpAHmRnyXzMMUhdIo0CRolL9hu/mlRaHYK1dqn4pV/MOJ+jv8y8cuqpPnlk9L7cGwlxjW5WtDGc4ZNlUZvYlaHfZa7EMGwVRW+xe6DIM4GTK4tYG7fCNbRXWju2GCl1+pg+NJxkOJ28vbKgT/y8XrW99MLtR3bBjvomPsxnSNBstZMEfonfrTBgL0vmEpExfC1/fByhDmq6xwhqipBW86nkLSfTwsNQY4xXGUHGUnn/6sUtUsruwiDJl/l6wmVXG4UBXsjuguptPuVOOdh+48EcdiXUW+XIt2AnUbSUrXtcnUgHiwOHG0fkDLRvFBSfb4yH+gyGB5ncCMeeKqSY3WronqV+JRuy16tOKDfNRw== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:36.1831 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7f73b2ee-4977-4034-b52c-08dca0e9a68c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000952A.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7776 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_SHORT, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Given recent changes to the dot_prod standard pattern name, this patch fixes the aarch64 back-end by implementing the following changes: 1. Add 2nd mode to all (u|s|us)dot_prod patterns in .md files. 2. Rewrite initialization and function expansion mechanism for simd builtins. 3. Fix all direct calls to back-end `dot_prod' patterns in SVE builtins. Finally, given that it is now possible for the compiler to differentiate between the two- and four-way dot product, we add a test to ensure that autovectorization picks up on dot-product patterns where the result is twice the width of the operands. gcc/ChangeLog: * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): New AARCH64_BUILTIN_* enum values: SDOTV8QI, SDOTV16QI, UDOTV8QI, UDOTV16QI, USDOTV8QI, USDOTV16QI. (aarch64_init_builtin_dotprod_functions): New. (aarch64_init_simd_builtins): Add call to `aarch64_init_builtin_dotprod_functions'. (aarch64_general_gimple_fold_builtin): Add DOT_PROD_EXPR handling. * config/aarch64/aarch64-simd-builtins.def: Remove macro expansion-based initialization and expansion of (u|s|us)dot_prod builtins. * config/aarch64/aarch64-simd.md (dot_prod): Deleted. (dot_prod): New. (usdot_prod): Deleted. (usdot_prod): New. (sadv16qi): Adjust call to gen_udot_prod take second mode. (popcount): fix use of `udot_prod_optab'. * config/aarch64/aarch64-sve-builtins-base.cc (svdot_impl::expand): s/direct/convert/ in `convert_optab_handler_for_sign' function call. (svusdot_impl::expand): add second mode argument in call to `code_for_dot_prod'. * config/aarch64/aarch64-sve-builtins.cc (function_expander::convert_optab_handler_for_sign): New class method. * config/aarch64/aarch64-sve-builtins.h (class function_expander): Add prototype for new `convert_optab_handler_for_sign' method. * gcc/config/aarch64/aarch64-sve.md (dot_prod): Deleted. (dot_prod): New. (@dot_prod): Deleted. (@dot_prod): New. (sad): Adjust call to gen_udot_prod take second mode. * gcc/config/aarch64/aarch64-sve2.md (@aarch64_sve_dotvnx4sivnx8hi): Deleted. (dot_prodvnx4sivnx8hi): New. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sme/vect-dotprod-twoway.c (udot2): New. --- gcc/config/aarch64/aarch64-builtins.cc | 71 +++++++++++++++++++ gcc/config/aarch64/aarch64-simd-builtins.def | 4 -- gcc/config/aarch64/aarch64-simd.md | 9 +-- .../aarch64/aarch64-sve-builtins-base.cc | 13 ++-- gcc/config/aarch64/aarch64-sve-builtins.cc | 17 +++++ gcc/config/aarch64/aarch64-sve-builtins.h | 3 + gcc/config/aarch64/aarch64-sve.md | 6 +- gcc/config/aarch64/aarch64-sve2.md | 2 +- gcc/config/aarch64/iterators.md | 1 + .../aarch64/sme/vect-dotprod-twoway.c | 25 +++++++ 10 files changed, 133 insertions(+), 18 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 30669f8aa18..6c7c86d0e6e 100644 --- a/gcc/config/aarch64/aarch64-builtins.cc +++ b/gcc/config/aarch64/aarch64-builtins.cc @@ -783,6 +783,12 @@ enum aarch64_builtins AARCH64_SIMD_PATTERN_START = AARCH64_SIMD_BUILTIN_LANE_CHECK + 1, AARCH64_SIMD_BUILTIN_MAX = AARCH64_SIMD_PATTERN_START + ARRAY_SIZE (aarch64_simd_builtin_data) - 1, + AARCH64_BUILTIN_SDOTV8QI, + AARCH64_BUILTIN_SDOTV16QI, + AARCH64_BUILTIN_UDOTV8QI, + AARCH64_BUILTIN_UDOTV16QI, + AARCH64_BUILTIN_USDOTV8QI, + AARCH64_BUILTIN_USDOTV16QI, AARCH64_CRC32_BUILTIN_BASE, AARCH64_CRC32_BUILTINS AARCH64_CRC32_BUILTIN_MAX, @@ -1642,6 +1648,60 @@ handle_arm_neon_h (void) aarch64_init_simd_intrinsics (); } +void +aarch64_init_builtin_dotprod_functions (void) +{ + tree fndecl = NULL; + tree ftype = NULL; + + tree uv8qi = aarch64_simd_builtin_type (V8QImode, qualifier_unsigned); + tree sv8qi = aarch64_simd_builtin_type (V8QImode, qualifier_none); + tree uv16qi = aarch64_simd_builtin_type (V16QImode, qualifier_unsigned); + tree sv16qi = aarch64_simd_builtin_type (V16QImode, qualifier_none); + tree uv2si = aarch64_simd_builtin_type (V2SImode, qualifier_unsigned); + tree sv2si = aarch64_simd_builtin_type (V2SImode, qualifier_none); + tree uv4si = aarch64_simd_builtin_type (V4SImode, qualifier_unsigned); + tree sv4si = aarch64_simd_builtin_type (V4SImode, qualifier_none); + + struct builtin_decls_data + { + tree out_type_node; + tree in_type1_node; + tree in_type2_node; + const char *builtin_name; + int function_code; + }; + +#define NAME(A) "__builtin_aarch64_" #A +#define ENUM(B) AARCH64_BUILTIN_##B + + builtin_decls_data bdda[] = + { + { sv2si, sv8qi, sv8qi, NAME (sdot_prodv8qi), ENUM (SDOTV8QI) }, + { uv2si, uv8qi, uv8qi, NAME (udot_prodv8qi_uuuu), ENUM (UDOTV8QI) }, + { sv2si, uv8qi, sv8qi, NAME (usdot_prodv8qi_suss), ENUM (USDOTV8QI) }, + { sv4si, sv16qi, sv16qi, NAME (sdot_prodv16qi), ENUM (SDOTV16QI) }, + { uv4si, uv16qi, uv16qi, NAME (udot_prodv16qi_uuuu), ENUM (UDOTV16QI) }, + { sv4si, uv16qi, sv16qi, NAME (usdot_prodv16qi_suss), ENUM (USDOTV16QI) }, + }; + +#undef NAME +#undef ENUM + + builtin_decls_data *bdd = bdda; + builtin_decls_data *bdd_end = bdd + (ARRAY_SIZE (bdda)); + + for (; bdd < bdd_end; bdd++) + { + ftype = build_function_type_list (bdd->out_type_node, bdd->in_type1_node, + bdd->in_type2_node, bdd->out_type_node, + NULL_TREE); + fndecl = aarch64_general_add_builtin (bdd->builtin_name, + ftype, bdd->function_code); + aarch64_builtin_decls[bdd->function_code] = fndecl; + } +} + static void aarch64_init_simd_builtins (void) { @@ -1654,6 +1714,8 @@ aarch64_init_simd_builtins (void) aarch64_init_simd_builtin_scalar_types (); aarch64_init_simd_builtin_functions (false); + aarch64_init_builtin_dotprod_functions (); + if (in_lto_p) handle_arm_neon_h (); @@ -3676,6 +3738,15 @@ aarch64_general_gimple_fold_builtin (unsigned int fcode, gcall *stmt, new_stmt = gimple_build_nop (); } break; + case AARCH64_BUILTIN_SDOTV8QI: + case AARCH64_BUILTIN_SDOTV16QI: + case AARCH64_BUILTIN_UDOTV8QI: + case AARCH64_BUILTIN_UDOTV16QI: + case AARCH64_BUILTIN_USDOTV8QI: + case AARCH64_BUILTIN_USDOTV16QI: + new_stmt = gimple_build_assign (gimple_call_lhs (stmt), + DOT_PROD_EXPR, args[0], + args[1], args[2]); default: break; } diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def index e65f73d7ba2..ea774ba1d49 100644 --- a/gcc/config/aarch64/aarch64-simd-builtins.def +++ b/gcc/config/aarch64/aarch64-simd-builtins.def @@ -417,10 +417,6 @@ BUILTIN_VSDQ_I_DI (BINOP, srshl, 0, NONE) BUILTIN_VSDQ_I_DI (BINOP_UUS, urshl, 0, NONE) - /* Implemented by _prod. */ - BUILTIN_VB (TERNOP, sdot_prod, 10, NONE) - BUILTIN_VB (TERNOPU, udot_prod, 10, NONE) - BUILTIN_VB (TERNOP_SUSS, usdot_prod, 10, NONE) /* Implemented by aarch64__lane{q}. */ BUILTIN_VB (QUADOP_LANE, sdot_lane, 0, NONE) BUILTIN_VB (QUADOPU_LANE, udot_lane, 0, NONE) diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index bbeee221f37..e8e1539fcf3 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -568,7 +568,7 @@ (define_expand "cmul3" ;; ... ;; ;; and so the vectorizer provides r, in which the result has to be accumulated. -(define_insn "dot_prod" +(define_insn "dot_prod" [(set (match_operand:VS 0 "register_operand" "=w") (plus:VS (unspec:VS [(match_operand: 1 "register_operand" "w") @@ -582,7 +582,7 @@ (define_insn "dot_prod" ;; These instructions map to the __builtins for the Armv8.6-a I8MM usdot ;; (vector) Dot Product operation and the vectorized optab. -(define_insn "usdot_prod" +(define_insn "usdot_prod" [(set (match_operand:VS 0 "register_operand" "=w") (plus:VS (unspec:VS [(match_operand: 1 "register_operand" "w") @@ -1075,7 +1075,7 @@ (define_expand "sadv16qi" rtx ones = force_reg (V16QImode, CONST1_RTX (V16QImode)); rtx abd = gen_reg_rtx (V16QImode); emit_insn (gen_aarch64_abdv16qi (abd, operands[1], operands[2])); - emit_insn (gen_udot_prodv16qi (operands[0], abd, ones, operands[3])); + emit_insn (gen_udot_prodv4siv16qi (operands[0], abd, ones, operands[3])); DONE; } rtx reduc = gen_reg_rtx (V8HImode); @@ -3510,6 +3510,7 @@ (define_expand "popcount2" { /* Generate a byte popcount. */ machine_mode mode = == 64 ? V8QImode : V16QImode; + machine_mode mode2 = == 64 ? V2SImode : V4SImode; rtx tmp = gen_reg_rtx (mode); auto icode = optab_handler (popcount_optab, mode); emit_insn (GEN_FCN (icode) (tmp, gen_lowpart (mode, operands[1]))); @@ -3520,7 +3521,7 @@ (define_expand "popcount2" /* For V4SI and V2SI, we can generate a UDOT with a 0 accumulator and a 1 multiplicand. For V2DI, another UAADDLP is needed. */ rtx ones = force_reg (mode, CONST1_RTX (mode)); - auto icode = optab_handler (udot_prod_optab, mode); + auto icode = convert_optab_handler (udot_prod_optab, mode2, mode); mode = == 64 ? V2SImode : V4SImode; rtx dest = mode == mode ? operands[0] : gen_reg_rtx (mode); rtx zeros = force_reg (mode, CONST0_RTX (mode)); diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.cc b/gcc/config/aarch64/aarch64-sve-builtins-base.cc index aa26370d397..12ffaf7e6ca 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-base.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-base.cc @@ -757,15 +757,16 @@ public: e.rotate_inputs_left (0, 3); insn_code icode; if (e.type_suffix_ids[1] == NUM_TYPE_SUFFIXES) - icode = e.direct_optab_handler_for_sign (sdot_prod_optab, - udot_prod_optab, - 0, GET_MODE (e.args[0])); + icode = e.convert_optab_handler_for_sign (sdot_prod_optab, + udot_prod_optab, + 0, e.result_mode (), + GET_MODE (e.args[0])); else icode = (e.type_suffix (0).float_p ? CODE_FOR_aarch64_sve_fdotvnx4sfvnx8hf : e.type_suffix (0).unsigned_p - ? CODE_FOR_aarch64_sve_udotvnx4sivnx8hi - : CODE_FOR_aarch64_sve_sdotvnx4sivnx8hi); + ? CODE_FOR_udot_prodvnx4sivnx8hi + : CODE_FOR_sdot_prodvnx4sivnx8hi); return e.use_unpred_insn (icode); } }; @@ -2814,7 +2815,7 @@ public: Hence we do the same rotation on arguments as svdot_impl does. */ e.rotate_inputs_left (0, 3); machine_mode mode = e.vector_mode (0); - insn_code icode = code_for_dot_prod (UNSPEC_USDOT, mode); + insn_code icode = code_for_dot_prod (UNSPEC_USDOT, e.result_mode (), mode); return e.use_exact_insn (icode); } diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index f3983a123e3..0650e1d0a4d 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -3745,6 +3745,23 @@ function_expander::direct_optab_handler_for_sign (optab signed_op, return ::direct_optab_handler (op, mode); } +/* Choose between signed and unsigned convert optabs SIGNED_OP and + UNSIGNED_OP based on the signedness of type suffix SUFFIX_I, then + pick the appropriate optab handler for the mode. Use MODE as the + mode if given, otherwise use the mode of type suffix SUFFIX_I. */ +insn_code +function_expander::convert_optab_handler_for_sign (optab signed_op, + optab unsigned_op, + unsigned int suffix_i, + machine_mode to_mode, + machine_mode from_mode) +{ + if (from_mode == VOIDmode) + from_mode = vector_mode (suffix_i); + optab op = type_suffix (suffix_i).unsigned_p ? unsigned_op : signed_op; + return ::convert_optab_handler (op, to_mode, from_mode); +} + /* Return true if X overlaps any input. */ bool function_expander::overlaps_input_p (rtx x) diff --git a/gcc/config/aarch64/aarch64-sve-builtins.h b/gcc/config/aarch64/aarch64-sve-builtins.h index 9cc07d5fa3d..c277632e1dc 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.h +++ b/gcc/config/aarch64/aarch64-sve-builtins.h @@ -659,6 +659,9 @@ public: insn_code direct_optab_handler (optab, unsigned int = 0); insn_code direct_optab_handler_for_sign (optab, optab, unsigned int = 0, machine_mode = E_VOIDmode); + insn_code convert_optab_handler_for_sign (optab, optab, unsigned int = 0, + machine_mode = E_VOIDmode, + machine_mode = E_VOIDmode); machine_mode result_mode () const; diff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md index 5331e7121d5..ce83a109725 100644 --- a/gcc/config/aarch64/aarch64-sve.md +++ b/gcc/config/aarch64/aarch64-sve.md @@ -7196,7 +7196,7 @@ (define_insn_and_rewrite "*cond_fnma_any" ;; ------------------------------------------------------------------------- ;; Four-element integer dot-product with accumulation. -(define_insn "dot_prod" +(define_insn "dot_prod" [(set (match_operand:SVE_FULL_SDI 0 "register_operand") (plus:SVE_FULL_SDI (unspec:SVE_FULL_SDI @@ -7234,7 +7234,7 @@ (define_insn "@aarch64_dot_prod_lane" } ) -(define_insn "@dot_prod" +(define_insn "@dot_prod" [(set (match_operand:VNx4SI_ONLY 0 "register_operand") (plus:VNx4SI_ONLY (unspec:VNx4SI_ONLY @@ -7292,7 +7292,7 @@ (define_expand "sad" rtx ones = force_reg (mode, CONST1_RTX (mode)); rtx diff = gen_reg_rtx (mode); emit_insn (gen_abd3 (diff, operands[1], operands[2])); - emit_insn (gen_udot_prod (operands[0], diff, ones, operands[3])); + emit_insn (gen_udot_prod (operands[0], diff, ones, operands[3])); DONE; } ) diff --git a/gcc/config/aarch64/aarch64-sve2.md b/gcc/config/aarch64/aarch64-sve2.md index 972b03a4fef..725092cc95f 100644 --- a/gcc/config/aarch64/aarch64-sve2.md +++ b/gcc/config/aarch64/aarch64-sve2.md @@ -2021,7 +2021,7 @@ (define_insn "@aarch64_sve_qsub__lane_" ) ;; Two-way dot-product. -(define_insn "@aarch64_sve_dotvnx4sivnx8hi" +(define_insn "dot_prodvnx4sivnx8hi" [(set (match_operand:VNx4SI 0 "register_operand") (plus:VNx4SI (unspec:VNx4SI diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index f527b2cfeb8..1864462ccfc 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -2119,6 +2119,7 @@ (define_mode_attr vp [(V8QI "v") (V16QI "v") (define_mode_attr vsi2qi [(V2SI "v8qi") (V4SI "v16qi") (VNx4SI "vnx16qi") (VNx2DI "vnx8hi")]) + (define_mode_attr VSI2QI [(V2SI "V8QI") (V4SI "V16QI") (VNx4SI "VNx16QI") (VNx2DI "VNx8HI")]) diff --git a/gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c b/gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c new file mode 100644 index 00000000000..453f3a75e6f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c @@ -0,0 +1,25 @@ +/* { dg-additional-options "-march=armv9.2-a+sme2 -O2 -ftree-vectorize" } */ + +#include + +uint32_t udot2(int n, uint16_t* data) __arm_streaming +{ + uint32_t sum = 0; + for (int i=0; i X-Patchwork-Id: 1958849 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=i0vsq1zZ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=i0vsq1zZ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4WK07k1PgBz1yNy for ; Thu, 11 Jul 2024 00:08:16 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6474F3870C3C for ; Wed, 10 Jul 2024 14:08:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::600]) by sourceware.org (Postfix) with ESMTPS id A42593858D20 for ; Wed, 10 Jul 2024 14:07:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A42593858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A42593858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; cv=pass; b=Dw3TrlYlaQ6zsaybobTiqVBXC6ouMkekt651zzzpEoWKZPwEsZ+HnAl1sLF7AsFJelFXVMEuSQtQtosAHvBzjBFTbBiCjDqiFz4mujoLuW28XtEus/usKfTkmAOzpDezFvFPwrQz017XKLi5IO3vX/oaLaPbTzGfXR2MMrCzUTc= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; c=relaxed/simple; bh=gm3Y20DAmsKC6JIj+IOQnWVxW8/OfdHus5u0nzSxD6U=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=jMGafeVgTNiT6zxnWeRcyR7Zeof0Tl21jvf50Tfzj866uDYNOgbmZzFcSOI3CyN5c/gxBTKul6HaA8pCubTq6SzMBP/dAE3E4Ma7/uMSK7BP6bIOk89WbNdbFJGm427yOHdv+L6ybhmvBlN5+NdLk5O1QrpSjPsCPtpf/iMyRPQ= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=m2dB+5CetXvat0WeSxBSzQPtfg3+m6WPC2ehmaDzFhwqlf7eidx1Enn6xs5hkm1Dd0fsSAwYtLpxf4U4r+wQDJdONarljH638GM4wuSYafxasMjHvKnDZ20R7frZAUPCePp6mzJ0sgsyoQXfhlHHeCQY162iqr55ktDZe+pOCvFa3TO2nWIc1XlOErWYtcu/9ypvma3wlXI9bSeTB9IA5RqL67ryvjZVeL+q+ObZz2bfUEpLwg6FOuQofkTCAQyp8JLj9ZFS8KnWn2T6HGf6rV7iRILq1IiTWIfwS9WQgE0wn/H5wKY86s+kGYEi1eWQ6AZWGsU0hlPRH1zwg7uAUg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Z/GFkhwoxdq0IZ3G3aPqFISVab0+7hvToCoN1+kQZ9w=; b=cv4lzAmAa0DGxOK0n5Z6Xp5Ko//ldoDbiq2pOjML4Yrg+//wE33l0ii9xCV7jNiceMgdxUj8tApTlA5+9xCNR5Ks5u7Iyd/IzCokfjmORs9Acz7EOCMyQo2Mb1/N8/+8Ty4S4bJ5CAc04ScQTCtjiZ68ku2cwqgCAGU76NhAgujDw9N6GXkbiUkcfyZCQldhRW/rvrvo4Am1BgyK3ChWPsMBh/8+GuBV6tuw6ouiBvw7F/W0vRANAC0h5kPcU0g8rgTMrf79uXolXqh9TUrXx8HgA6rpEghUohTEs5u9RSM8pzJs0yYmaaWN7r1jT7MqEeJictsm2NedKBU8xslrfg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z/GFkhwoxdq0IZ3G3aPqFISVab0+7hvToCoN1+kQZ9w=; b=i0vsq1zZRwrwi1ee/avIdBDYM7leKcqcJ3PMZvCl52eD2Tsy5SOLANGzmnZRrLUR5kTQyZ5eypyALF0Kv/v+YYVYHqMOZuq86O6qsKFaFY5qlyEBLMp0EUq8Pj8lDRP3iQP2FgytsR2VkhZzgUq1ehIVoD+2dvnJSJWIIuIQcYU= Received: from DB8PR03CA0014.eurprd03.prod.outlook.com (2603:10a6:10:be::27) by PA4PR08MB6285.eurprd08.prod.outlook.com (2603:10a6:102:e0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:36 +0000 Received: from DU2PEPF00028D08.eurprd03.prod.outlook.com (2603:10a6:10:be:cafe::de) by DB8PR03CA0014.outlook.office365.com (2603:10a6:10:be::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF00028D08.mail.protection.outlook.com (10.167.242.168) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7741.18 via Frontend Transport; Wed, 10 Jul 2024 14:07:35 +0000 Received: ("Tessian outbound 8d320bbb64fa:v359"); Wed, 10 Jul 2024 14:07:35 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f415c545a6d0d672 X-CR-MTA-TID: 64aa7808 Received: from 56879359fd06.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 927CAC70-A8F3-487E-A686-F790EE3A720B.1; Wed, 10 Jul 2024 14:07:29 +0000 Received: from EUR02-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 56879359fd06.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cne7+sJwpYXxL34mqJur7lxi3hS8T5ydzHPcEcmnqNs/YjuVRRVXuXUNIT2oboOdaXAC21yNOiOf2+tmwr2hvebrtTqyzYeg8tLmo5lpqED01NBXHCZwS7Xh29iR6n6XXUVMK6BojsIAocCOsI7TmXcPvB0kgEPR560MY/xjvaEjcyR3D6+LIPJvl8XuLpa7qG1rIHPePnRvbQkbQ/DcdTXqLzperJP1GqrjChz+h2rVUwLMYkMNRgzFBmT1XmFofUD5PhOaRD399Ktscz78J5VdGhMMMHjmLZp1ILLzbVBLt4Fw4za1BSx++fMFCHScqCkk2m1lsgb3nUOOCUiwtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Z/GFkhwoxdq0IZ3G3aPqFISVab0+7hvToCoN1+kQZ9w=; b=EQlOxgfsA+jKMAN9qFmI71YKSXMCcDsQQ9rrc3pT40X2DAp6FlBqtoddUWFWF3Rfs9+hwsKAWMr0ZR0tWP7bqSNFzPetTJjOyfMWuILHSfe6I8KWblwuiLgCK3bpeWhmZgJZPDnLBD4IV8J71nuoiHd/cPee4iKy5VBABPeBNfEeKB1hx8yzyLDyggLnnm5eVNIRZ54MGT1qtTlIrdcW1IbxGu34X1K5qe/mHuai1Vr886oRr67d5qYbZHqI9AN6CsMguzpxTYA3Sv+pPdn37eacIgKCIRdfjRlpQtjjz4TfI+4H01fLQklaZrP1HpJyp3k8BX9ivjfXesr0rKk+6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z/GFkhwoxdq0IZ3G3aPqFISVab0+7hvToCoN1+kQZ9w=; b=i0vsq1zZRwrwi1ee/avIdBDYM7leKcqcJ3PMZvCl52eD2Tsy5SOLANGzmnZRrLUR5kTQyZ5eypyALF0Kv/v+YYVYHqMOZuq86O6qsKFaFY5qlyEBLMp0EUq8Pj8lDRP3iQP2FgytsR2VkhZzgUq1ehIVoD+2dvnJSJWIIuIQcYU= Received: from AM5PR1001CA0042.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::19) by DU0PR08MB8068.eurprd08.prod.outlook.com (2603:10a6:10:3eb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:27 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:206:15:cafe::66) by AM5PR1001CA0042.outlook.office365.com (2603:10a6:206:15::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.37 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:24 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:23 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 04/10] arm: Fix arm backend-use of (u|s|us)dot_prod patterns. Date: Wed, 10 Jul 2024 15:05:57 +0100 Message-ID: <20240710140602.1707875-5-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|DU0PR08MB8068:EE_|DU2PEPF00028D08:EE_|PA4PR08MB6285:EE_ X-MS-Office365-Filtering-Correlation-Id: bd149631-be35-444e-6278-08dca0e9a659 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info-Original: hqjZ/4B7mMUqZeBuH3JEWCoJgu2tve6IF45f8eaQzgdCkgK0K5yC6GBrERVy8wO8nhnM1Pw9gugEQzkUWYoMY2yTxNIc1zatEV91+cl9TXM5uIXZwib9W7aVhRgJa1T0loDGHOZo4894GVSwirZoqDcwyEM8YL0+7lrSs0zTG4dCfVHOchTG59339LdyH9LRjszERv4Woo0QaDovmhN71f4EobXKmu60LLs1i7rJv/OgkNME0U8Yawv1n4DZS/Pl7Y1+kqQGmNggQ/6Nbp0MRKN5A9fugmRe2tJ1BqgCQqlUJ4mrxdupAFN71JGHFFhyEn40AY0FACSBecTjHWqOhEnSlgDGU96LlOYB0D8sLjI2IKoyMpI0Bh8LhkokOlGkRmPhHZqD2KHhUiw8r/a/LNuHM7CgXvSlPF9cB5NI2C7Oka7KJQaYNbs8m5ZpOQsj+vaoSzAQLXoy14w/9vMitsRrCHOblN8f5KoNYROtQmoJqdQCJ2cd5CModBT6TyESv9gcQSp+z4FzC5ZxbWNaxsIMiRa652FJPZm/D1MtK8bQ04aRrIa9hRyS7Nqd9zzdCIV1fu2OwxAsjno8Yk4K0Hwmt2wNWj7eHmGeAwNeavUWO8Bi7jwQmyFtSA0wNIxRLAfRw6sGJwCIhYR0IGTc8euxgoUOunHxP9mIZri228bYOgCUR9oGezWcX032B3I+eVgR339KwPynrg+BOj1wa9+weAOYWN6wqFBKxxyHBJmiPxi9rXUjNYziuwc+xwOms3+ARIIMtDGIvBYl/itTclOU6GnBHVU4UVqq5raouFE7PZs8cNY3XRkgbDQRVHCMDB7KbcQg2pahz1YpqeIzfjkup9vISMGoTZlZdgMwWghY0PwaOcXOQAAfIbLtpW0I7gG2zf7OyXM9hH6ZpToCKJ2gYqob6LzXI3aJ59wOtSZTbHlIZm56RewB0pvHKqVT7MFd2VMU+VnSqgssqowXaZdnst8dFa+L74V0p1t0C49It5sDU2bP1+xrrMpqZhcltwK+GPPB+8amsw01FDLe4kEBKAZmjnOBnNpawiFIwhBb8ZuesnFtguzpLG/NjXIMoBgh8tOFHTDGzfr9+hatT8P/rqceboliCki7F9stuG7lMHYD+I4Z7lqSF6m+oyXv7y+Pk29gn6R6fPJuq1vNrM7dU2OcnOi4Cu8Ik6qIhGMSDraIR+G1LoTgGV08V+7Jdg4t/MYnN2CyUZB1WJ1dRzMJWHPsCKzN+tH00X5mnXyZec0Oln4QxFw7GppsS3Ljoow0kBTQ5RRl15hMZ5P3TG4qWmSt7kewXiXT9qldKgUxSDw2WGuwEzCSemtfBPd/RZL9D7UYfE74f38dO7Vt6LZV123LTuS7TyTLu+5ZxwbzQeYDnHRDsO5HKy80YOXeQm8nDFxYBH8GMdle9V05d4tumSbLds0StQmGvDw1R5e5OaA/loju8owGwFLNRupE X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8068 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D08.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 50117ced-e275-4ef6-cfc0-08dca0e9a17e X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: c3rIhgTXKZcQerobla4hvU1OeiCVP5159/lBBTA6xnn9Y/zIMqL5dN1IHaElytZFs7APxhYMcGpVdf/ZdL0eLnFRBpUYAICVS0G7B+kQ0OxMBGVh1mUVXBCfXlN1uUQCFhfrCNSpYQSXDmsFpDK2fkKLpExWiD3xAJd1cKtTgBUFvFeTEeeByxWjfIHPg7bjgzlzavBrzquOryIgnT7Mt5vVZIx8Ib1lwREB09DX+cN3zuOna17+ngl8DVgvDIo54cYDwSqS0qR8fWlxYngi5vQ0q5MSHFhtlOj6dzsPoXUeD+5tAgnhIvujArlJE6vmaxhyWoHk+FO/KWSJ5KpRSgkrPmnI8SLOToKjrgjEF0FpVjnpcMUs7UOYapNS6+ghfkWSCQvF8xG/OBRQnZDmQJsN+CXMAFbZrkwRs8U1fx61BwV8/1swOdB1U+KMnncuC97VN6t0azdTB4M1hLLataHyPt+oUsxYdRuhdTJWcUZ/njXALfCZhE8cV1tgQ4rI5XeEjrmGwHjCoT1FhpU9tykLce6T7O/mguUL9v6/Dq62QQX3Qu9J9C93KHrda6hqGygkRFzHOxiSUg5oB0qwNq4yzqPmEl0Nasd8rXbiwYyLV0+HiDHk0rrQZHWUiv6Be7KkU7AJkFvTCnySTvnFi3Yi4OMsKoSpmkpjcUIB0idbTTbFEwpa0CO6UADjPms10po9JjRmid35L1aTDRxneHuo1hy7WEaOUeFndFg4LlqqRitgQWzVM51mlsgLishUYfbc+dQUi7dy07+3NT1QPj2WlN9yBXnqHHuXWFerq5H2/aKoFJzdN5C5nt9xKkihdx4qLO7cQ1Tq8n+c4Ge3ntMURvpZlOWLLypFodEYxs11gx6pBKb1AnWfV1naTlLKBE5F+paB3VvDhaIO/uY0SNnh6TFt83gC1mlA0+3VPIIrMZZfs4KR0xJGvUNxGQQ/83dyE5GCfze2xIe80ydFXMktsiMIGBC6TLOFRm7zPuiKo8IF6Iq6FWd2SRBs84xC2Xr/kie2cM5tswcYCISLP4RLSePgx54VmVyJh+xwLAJXn9XFIKKcNLvq4d5/ZzfzOOW4mfEHxIPr9jJk1sbJlmISDayybrFPmUOJG2PpS1xLW2WsnOOfj5AaMnmxAnNg3kx4Nck7YaSmPXCpr69NZLZyw6M0tie59rqcVdk3L9P+cqfwYdlUlzFkealjfE93oOEXJQjM7gQM096xvx608tTI0aSo0R0Rba9OMxIdP3I1Yq+w0hwUZt5xaiJW49q4Y1tIQ74UXW7TVKb+iwOq3EuiZhJFQIB8j5pYa0S4yGpGggsbMuNYV6G5Idxao5wFvqUCDPjVVXYI4ow98XTL/i+seg4tDjWC+vRwIOVS1WwuEltBeP8IzverRE6PXzo2EIFy8T/nCEjOb6tiotB8tTPaTWmqJNl4xMjpdp0mBxtmDnlModQ78ewkwOuPyf+v X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(35042699022)(376014)(1800799024)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:35.8311 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd149631-be35-444e-6278-08dca0e9a659 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028D08.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6285 X-Spam-Status: No, score=-12.5 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_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 gcc/ChangeLog: * config/arm/arm-builtins.cc (enum arm_builtins): Add new ARM_BUILTIN_* enum values: SDOTV8QI, SDOTV16QI, UDOTV8QI, UDOTV16QI, USDOTV8QI, USDOTV16QI. (arm_init_dotprod_builtins): New. (arm_init_builtins): Add call to `arm_init_dotprod_builtins'. (arm_general_gimple_fold_builtin): New. * config/arm/arm-protos.h (arm_general_gimple_fold_builtin): New prototype. * config/arm/arm.cc (arm_gimple_fold_builtin): Add call to `arm_general_gimple_fold_builtin'. * config/arm/neon.md (dot_prod): Deleted. (dot_prod): New. (neon_usdot): Deleted. (neon_usdot): New. --- gcc/config/arm/arm-builtins.cc | 95 ++++++++++++++++++++++++++++ gcc/config/arm/arm-protos.h | 3 + gcc/config/arm/arm.cc | 1 + gcc/config/arm/arm_neon_builtins.def | 3 - gcc/config/arm/neon.md | 4 +- 5 files changed, 101 insertions(+), 5 deletions(-) diff --git a/gcc/config/arm/arm-builtins.cc b/gcc/config/arm/arm-builtins.cc index c9d50bf8fbb..b23b6caa063 100644 --- a/gcc/config/arm/arm-builtins.cc +++ b/gcc/config/arm/arm-builtins.cc @@ -45,6 +45,8 @@ #include "arm-builtins.h" #include "stringpool.h" #include "attribs.h" +#include "basic-block.h" +#include "gimple.h" #define SIMD_MAX_BUILTIN_ARGS 7 @@ -1298,6 +1300,13 @@ enum arm_builtins #define VAR1(T, N, X) \ ARM_BUILTIN_##N, + ARM_BUILTIN_NEON_SDOTV8QI, + ARM_BUILTIN_NEON_SDOTV16QI, + ARM_BUILTIN_NEON_UDOTV8QI, + ARM_BUILTIN_NEON_UDOTV16QI, + ARM_BUILTIN_NEON_USDOTV8QI, + ARM_BUILTIN_NEON_USDOTV16QI, + ARM_BUILTIN_ACLE_BASE, ARM_BUILTIN_SAT_IMM_CHECK = ARM_BUILTIN_ACLE_BASE, @@ -2648,6 +2657,60 @@ arm_init_fp16_builtins (void) "__fp16"); } +static void +arm_init_dotprod_builtins (void) +{ + tree fndecl = NULL; + tree ftype = NULL; + + tree uv8qi = arm_simd_builtin_type (V8QImode, qualifier_unsigned); + tree sv8qi = arm_simd_builtin_type (V8QImode, qualifier_none); + tree uv16qi = arm_simd_builtin_type (V16QImode, qualifier_unsigned); + tree sv16qi = arm_simd_builtin_type (V16QImode, qualifier_none); + tree uv2si = arm_simd_builtin_type (V2SImode, qualifier_unsigned); + tree sv2si = arm_simd_builtin_type (V2SImode, qualifier_none); + tree uv4si = arm_simd_builtin_type (V4SImode, qualifier_unsigned); + tree sv4si = arm_simd_builtin_type (V4SImode, qualifier_none); + + struct builtin_decls_data + { + tree out_type_node; + tree in_type1_node; + tree in_type2_node; + const char *builtin_name; + int function_code; + }; + +#define NAME(A) "__builtin_neon_" #A +#define ENUM(B) ARM_BUILTIN_NEON_##B + + builtin_decls_data bdda[] = + { + { sv2si, sv8qi, sv8qi, NAME (sdotv8qi), ENUM (SDOTV8QI) }, + { uv2si, uv8qi, uv8qi, NAME (udotv8qi_uuuu), ENUM (UDOTV8QI) }, + { sv2si, uv8qi, sv8qi, NAME (usdotv8qi_ssus), ENUM (USDOTV8QI) }, + { sv4si, sv16qi, sv16qi, NAME (sdotv16qi), ENUM (SDOTV16QI) }, + { uv4si, uv16qi, uv16qi, NAME (udotv16qi_uuuu), ENUM (UDOTV16QI) }, + { sv4si, uv16qi, sv16qi, NAME (usdotv16qi_ssus), ENUM (USDOTV16QI) }, + }; + +#undef NAME +#undef ENUM + + builtin_decls_data *bdd = bdda; + builtin_decls_data *bdd_end = bdd + (ARRAY_SIZE (bdda)); + + for (; bdd < bdd_end; bdd++) + { + ftype = build_function_type_list (bdd->out_type_node, bdd->out_type_node, + bdd->in_type1_node, bdd->in_type2_node, + NULL_TREE); + fndecl = arm_general_add_builtin_function (bdd->builtin_name, + ftype, bdd->function_code); + arm_builtin_decls[bdd->function_code] = fndecl; + } +} + void arm_init_builtins (void) { @@ -2676,6 +2739,7 @@ arm_init_builtins (void) arm_init_neon_builtins (); arm_init_vfp_builtins (); arm_init_crypto_builtins (); + arm_init_dotprod_builtins (); } if (TARGET_CDE) @@ -2738,6 +2802,37 @@ arm_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED) } } +/* Try to fold STMT, given that it's a call to the built-in function with + subcode FCODE. Return the new statement on success and null on + failure. */ +gimple * +arm_general_gimple_fold_builtin (unsigned int fcode, gcall *stmt, + gimple_stmt_iterator *gsi ATTRIBUTE_UNUSED) +{ + gimple *new_stmt = NULL; + unsigned nargs = gimple_call_num_args (stmt); + tree *args = (nargs > 0 + ? gimple_call_arg_ptr (stmt, 0) + : &error_mark_node); + + switch (fcode) + { + case ARM_BUILTIN_NEON_SDOTV8QI: + case ARM_BUILTIN_NEON_SDOTV16QI: + case ARM_BUILTIN_NEON_UDOTV8QI: + case ARM_BUILTIN_NEON_UDOTV16QI: + case ARM_BUILTIN_NEON_USDOTV8QI: + case ARM_BUILTIN_NEON_USDOTV16QI: + new_stmt = gimple_build_assign (gimple_call_lhs (stmt), + DOT_PROD_EXPR, args[1], + args[2], args[0]); + break; + default: + break; + } + return new_stmt; +} + /* Errors in the source file can cause expand_expr to return const0_rtx where we expect a vector. To avoid crashing, use one of the vector clear instructions. */ diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h index 34d6be76e94..ae8dca3bb4e 100644 --- a/gcc/config/arm/arm-protos.h +++ b/gcc/config/arm/arm-protos.h @@ -57,6 +57,9 @@ extern rtx arm_expand_builtin (tree exp, rtx target, rtx subtarget extern tree arm_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED); extern void arm_init_builtins (void); +extern gimple *arm_general_gimple_fold_builtin (unsigned int fcode, gcall *stmt, + gimple_stmt_iterator *gsi + ATTRIBUTE_UNUSED); extern void arm_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update); extern rtx arm_simd_vect_par_cnst_half (machine_mode mode, bool high); extern bool arm_simd_check_vect_par_cnst_half_p (rtx op, machine_mode mode, diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc index 459b7e648ab..82918849900 100644 --- a/gcc/config/arm/arm.cc +++ b/gcc/config/arm/arm.cc @@ -2873,6 +2873,7 @@ arm_gimple_fold_builtin (gimple_stmt_iterator *gsi) switch (code & ARM_BUILTIN_CLASS) { case ARM_BUILTIN_GENERAL: + new_stmt = arm_general_gimple_fold_builtin (subcode, stmt, gsi); break; case ARM_BUILTIN_MVE: new_stmt = arm_mve::gimple_fold_builtin (subcode, stmt); diff --git a/gcc/config/arm/arm_neon_builtins.def b/gcc/config/arm/arm_neon_builtins.def index 0c5d40b96e5..cf5537ca95d 100644 --- a/gcc/config/arm/arm_neon_builtins.def +++ b/gcc/config/arm/arm_neon_builtins.def @@ -349,14 +349,11 @@ VAR13 (STORE1, vst4, v8qi, v4hi, v4hf, v4bf, v2si, v2sf, di, v16qi, v8hi, v8hf, v8bf, v4si, v4sf) VAR11 (STORE1LANE, vst4_lane, v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf) -VAR2 (TERNOP, sdot, v8qi, v16qi) -VAR2 (UTERNOP, udot, v8qi, v16qi) VAR2 (MAC_LANE, sdot_lane, v8qi, v16qi) VAR2 (UMAC_LANE, udot_lane, v8qi, v16qi) VAR2 (MAC_LANE, sdot_laneq, v8qi, v16qi) VAR2 (UMAC_LANE, udot_laneq, v8qi, v16qi) -VAR2 (USTERNOP, usdot, v8qi, v16qi) VAR2 (USMAC_LANE_QUADTUP, usdot_lane, v8qi, v16qi) VAR2 (SUMAC_LANE_QUADTUP, sudot_lane, v8qi, v16qi) VAR2 (USMAC_LANE_QUADTUP, usdot_laneq, v8qi, v16qi) diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index fa4a7aeda35..3fbc45b8a8d 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -2989,7 +2989,7 @@ (define_expand "cmul3" ;; ... ;; ;; and so the vectorizer provides r, in which the result has to be accumulated. -(define_insn "dot_prod" +(define_insn "dot_prod" [(set (match_operand:VCVTI 0 "register_operand" "=w") (plus:VCVTI (unspec:VCVTI [(match_operand: 1 "register_operand" "w") @@ -3013,7 +3013,7 @@ (define_expand "neon_dot" ) ;; These instructions map to the __builtins for the Dot Product operations. -(define_insn "neon_usdot" +(define_insn "neon_usdot" [(set (match_operand:VCVTI 0 "register_operand" "=w") (plus:VCVTI (unspec:VCVTI From patchwork Wed Jul 10 14:05:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958857 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=q9A4fAzO; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=q9A4fAzO; 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 4WK0B56pj6z1xqc for ; Thu, 11 Jul 2024 00:10:21 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3A5B538708FD for ; Wed, 10 Jul 2024 14:10:20 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2607::600]) by sourceware.org (Postfix) with ESMTPS id 9188E3870850 for ; Wed, 10 Jul 2024 14:07:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9188E3870850 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9188E3870850 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2607::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620476; cv=pass; b=CERDQrHcnBzoHyzZr6R+II3Wdd9vF1AlRNdJxKi6z0CulKnjnTeNPU/ajxAj9UZEW7d0+h4VNmiB6e2npXAknJsu+nt4SQIOmh4djGLTyoYVrGiTMyWuv/8579X+5u/jPpKYsgW1egYpfR7CcSmGZ5DjQPJ4V6LZwmwlJyOq2UI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620476; c=relaxed/simple; bh=8taW8u6KkzTLUMmtokk6iosTUAB7lIRks4fJSsrq9tM=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=sBIPF9jsw7bWRAyGykbWXPWGHhcyRMa/k7imLsw1oTv3D/ADxmcWYWinZYRUWWcmWK5XY3wa96Siw9ZL8A/n7Bn1KbDdyMIYVd0zN93BhGtYpRG+V9NeW70Iyn8uWqiAArU2hNAfDG3p8IykrHZsFcaJgPCppOxpBWespsf/u70= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=YB7++KFcXlab92mgbX1uljIfkYF49/9mmBmLkhEr/Qb3udzHja6HWlepM9AKxUZZFlwSoylN+VHRX3KhxeQvn4byERmJX2xQhaNC2XaZ7VuHErwgkcR8TGzZ0GCGlwW4LDpPYEMYZuDdMkCHMAK1Pu45/ur0QwKt56ziJLMz9i6LODq4n8abtEkctt3DJEl9lH2/9MzgxsdY7TJ6TaAry57PzRdVTp4iriliEq0O/qzIDPsyuH7KELrUDHblbwTKXwDthOSJmy2DL9VMsPKuFcul8z0JElvCzgBIAPVU0aYIPZMiGKuP5IDjs8RBHJJ5eNZRmRem4B8nUGx7N4lWOA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=UJkwDBaEiiuEe95zZhPmxQ0se1bffISv3UcQ2gva8ek=; b=lU7flBjXpLxEVDUNePlP2niy6dj6Kfg5yW1poLD0wDmyX1WzOnwof1558MsDxiKc5CKbMAPC6Tcsse+Igb4xuaygewJxv82mEObJFttm1zGH7md7MtWJ+GaiaDj8HJdcDLsvGzz9kW5H/HaAuWgxrnfO+XjUBvMOjxu+SmQQJ8j9vGQ0Dd/ZUSG3RIUZecdvVQJrV3viQiYVd5g4gaK1l/aqJgeZeZM63ySm5lO6HxmQWs7zuV/yrSk1TLzpvWlQiFyuwzznjLFWfbmMpS6eggCwqxqbjQo95ZEuThqjM7IDUY56AUsrkbPcwssuW8IPLnDQ35sxyFgADixX/Dhk4A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UJkwDBaEiiuEe95zZhPmxQ0se1bffISv3UcQ2gva8ek=; b=q9A4fAzOKj50DF+SNzSOQW3Lmcbjd7HSNKFrQRYSOMmCqu+LErf97MzSrbm/9aw4QQZ2Q3Kri8v7Yc2sBuW9NLgdbSxTjSXMzgZ+kfl2f0cANdh/BNeIstw2QoJn9D33/EinIphUR8UZB+GFg53uY0DPtLI3yrPmmUmFC8dqJyM= Received: from AM9P195CA0006.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::11) by GV1PR08MB10600.eurprd08.prod.outlook.com (2603:10a6:150:15e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:39 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:20b:21f:cafe::8) by AM9P195CA0006.outlook.office365.com (2603:10a6:20b:21f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:39 +0000 Received: ("Tessian outbound 1bd2b4f45798:v359"); Wed, 10 Jul 2024 14:07:39 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: fa15f72eb6a5fe84 X-CR-MTA-TID: 64aa7808 Received: from b4d0c7953aa5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 359BBDD9-3956-410A-810F-48DCF6A480C1.1; Wed, 10 Jul 2024 14:07:32 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b4d0c7953aa5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I01eWV+15vO7Htc+sZGMaC3COe3faTXu5Ql+9EAMQs4ZvKQ0ipgW6kNtS3iqSDmjCfM9MaVpRJLykKiYpEd79znh1juCh0g9EtdYSkm4uqtlxDKMabrx4CdnJpro/sutgvelcTrbx7/rTnSrQomeK7/72MM94INS36YOw8aXZ8w45RU7Esm+zxDBlmlW1oX5rajdtr9l1Nd2U1OIQSJ/4PNXVyQarKszLWdhAOwapz9q8eU1awC5kNODAGsWZEWL9nGb74c5gbj14OFkAUxqehP8JUvkMkCmkJpAZk+YlV21ihJtuyDOKqVTHhomI13li8jpMBJklFgGM37K8hIgqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=UJkwDBaEiiuEe95zZhPmxQ0se1bffISv3UcQ2gva8ek=; b=jKSJ+y/gzYdzNXVWDNsoeQnFJ2kD5Ys+5TyLImGj8c5u/K0DFG5dJ2wVQtH2dClSDKSyyIhtvO6DWay9t2pDx3R84mIFQgsRJc0TSKv9hLmzpPBmYtF6YdQbNZ53icolTZihEeRBCbp2um2WlvQgA6xzcCdhUXzxqESEo5yQnBNbrBqEMZxuegIkfnLGwbnyjy/+l8tLLbgQ58EC9R5OqQdbuuIQWQSiO8jbRLqJDgyBvFLOn3vnvENhNHY4aFtFY4KVOELtCiX9z1nM/8xqEav2J/z2gy5f80HMrJzEyDArFCVyzJoXlVspbKlI7ysOK7rsYz7jbf6vMNl5H+8J7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UJkwDBaEiiuEe95zZhPmxQ0se1bffISv3UcQ2gva8ek=; b=q9A4fAzOKj50DF+SNzSOQW3Lmcbjd7HSNKFrQRYSOMmCqu+LErf97MzSrbm/9aw4QQZ2Q3Kri8v7Yc2sBuW9NLgdbSxTjSXMzgZ+kfl2f0cANdh/BNeIstw2QoJn9D33/EinIphUR8UZB+GFg53uY0DPtLI3yrPmmUmFC8dqJyM= Received: from AM5PR1001CA0042.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::19) by DB9PR08MB8579.eurprd08.prod.outlook.com (2603:10a6:10:3d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:29 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:206:15:cafe::46) by AM5PR1001CA0042.outlook.office365.com (2603:10a6:206:15::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.37 via Frontend Transport; Wed, 10 Jul 2024 14:07:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:29 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:24 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:24 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 05/10] i386: Fix dot_prod backend patterns for mmx and sse targets Date: Wed, 10 Jul 2024 15:05:58 +0100 Message-ID: <20240710140602.1707875-6-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|DB9PR08MB8579:EE_|AMS0EPF00000196:EE_|GV1PR08MB10600:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b868a89-4913-4a7c-64e4-08dca0e9a84d x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|36860700013|376014|1800799024; X-Microsoft-Antispam-Message-Info-Original: kVQJq03jEpKHIScjewWMIJcZw8bBAWkW71hjt8T0K0N84tLaWhJr1+uf+gfRZ/lVrP/2G2iWw9lvKq3XacUempgyX59DuRXRG+NgzljI0/X1mA167yCaHqYw4/HE5A+wqK8ddFNUAr4bpopsIpWTxvH/tcihU5sfH2xMf2eshtRQ+FXIOQiLhFtMIwFfwrDKEik0yfeqSNsZfozw6gYt9Ug0uQZog/m7d/lzAKhNEFX1GsHcBdgHCxba/TCFjqePtObYv1orPYGwtIebC7kbl0zJg4jZGpE4M1ANvrK3Brwwyn673/qRK9l+tZHuVc32zdHbtxGvvViN3CkKkcHPs1Ynpwf56Gtzhzy5ioVps0JYX8q+XQlrMHwRwaQA3e/1BLaLht7m9JMGjSHhqBI51kciMdkkYPMYGc1cd+uenYwCdwEU2PcfXkZ2dznCLBUh4Kianhgom6x4D9XfE7BU9dHh0QLDV14ezOKjPLvPog9mxG8T7gmEsrKMVTDMWSPx1F6OxNpk5hVK5j922r+HTiaqHajhJ2CAJRI6zDdhg4Ztn1mGUvJX+hQM1X1wRSj1osnSWUBPOkKpnk/sT/o+2ay9UfV13YZHKKlkGy5qG1o4tIJG/6lECCaFOHdR+Fjs7YpX2UoHNP4FtR5CKhciYk2ytCv3exqUNYfiWuEm7pyubpvvuPpW440g0rrtGuXkp/IzKLHdpqG1R7jGEe0pcTI4plWVpYgOX+5Ev31s9omvwdQmtDVPkW36qzSEUWRpa7dimNbRgxkfAa0w0fJk8xZY/ZorqMNXJX1qbU6E0/b7e7y65PD0/vBPmQKjUNXKAi9txXuSae2W9DmLcfm1vwjdyYkxr0XKgkoamOQcdsheHbzzIpCgwNdySroaiCvBAHAko89EU/WjeOPhFY6Vxh3lnt7KhWU+i5ZgIduNlBaZM5rhnu5tFff1F0XfdJtea/BmgCCsp5buiVpUkvG5+/YQU9HpLJAchVNXF1Fh7GcdQsWnEyryr67nBpmTHAOKtDjAaYCkWgUuzeMSyBanAm3eX/JBqB8abH492tBdks5ML2K/A6hW0n80r9QAF+MYyeAvrVpqLzVNENZfd+7FtCcUi0b380LAvxWgxI9gpx5dLz/xNsSH/Kxm5Y/fOl7nHL3aVNmmJNCx++cYy6TYCTudq5F6lqCiS5DrefwsKVBgL8UPyxHsm8Rtsv77aK+tLIdxpnwekzb/L3HTZm6/t/nBdNqC6UuyapKlRP1SKZn8YXIzf1gGBiwUGyiv1JhH03C6X7OGL/SkOEI6Fbq4FXBSb8JQ6lX5tbEkLWc+sioxAGBxc60R/YrbA8XhVruubhUvfObuvVIME0X4P5TTfThwP67JVRbna74Sh19Iut3uFD46x4y5zbDu8PeOFvKJDZa8oRcXF9mMb5xM15H+WO9zzN5LyxvPayvF4wOsjGnE98h9uVpFYYo5hi/5D0fA X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8579 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3524ab6c-21e3-43e2-ae2c-08dca0e9a2c0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|35042699022|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: 4aJip26v6Ro8KO6+xlDD4JcLRJJyLRYf2UfpR4YOezkOt2IXkG3dTLpnsYRpVllz/CP8JiclkvwPKz0ekvXFV7WZ6JPhCJNeSFT8z+3dOj/D8Sx5Ule2TjqyAWgoVt6zm5Lym07zvtld+V+m2RcFTGETn4uyOE86jseX3DxWdq+qo0IEvWqwANMyMp1maUSZucEfIqWZvV+gUno2Qfhn55gDVkE5nhEqgaTxmfl5Jfa+GCWzoF/0oES+g+vVXWH08eJB9O9QGm06740/nWCKyOHpsncZczHTHJ4Gwsws2Nb2eT8l0pgEkhc+nAYUUughVHAETIw+pZF/Ah8fDmw2fbMSfVpZ5BPIYB7BQUySFvzOEds/UZdh45SrJGJvMR7D1PMelVwWZWx1XTN9hYs6HZ9Atl/8SLgnthwfnxlyt1jcw8Wgz5s49LCoOeJWxs+GQu2sl3TE3LqzRfxDuX5h/vew7b1Ql7G/clPsbsIZocvj1rdB0qKyuYobOR/MHOAaX9jnnBJh8LOB4tKCkw7zBgWLnCzSf4VzgyIR7Fe46R1ijE1GGFtS7z0EZyW9/euRzXeMwdN45n2UX8N3Dhw8p1rycGf2uwB3wg1RDvXc+T7E68nS35EuCwMzoe2Su/T60F6QmoTuS/TR5JyRJjWRdn8g2+SW57Y4rS79WQMaE38mqIw3H2WTSt/cL7sQdeWDr2fbEUTnAmieCoRHLhnl7uznvzTsMxrdsYi9iJIifRJLEeQ9n7mwYoQWLAfCq1Pbpv/7MP6QXaPcZVIAwOaOTXK4dG5K76kppZRFsJzBEd0fLjR9k8oS44L2AilkbRHmvmumCMvOcMaAuPFlFuJc89p9neYdsM1GUnE7jy1pRsfEfRoEf2uKUr3aCNIIatMNSkJI//yV9VlrKdBC1PDpK54xXQtx00Psnzne0aALHU0A26pVJDvG+4GWD/57QKqePTi/JfLW5kDPY0I6QdsHzd8oAn8P8uxX0GLWp2EUnj343YVFMJ6cOhUDo3YIZiUhIYuJ9cckrv5U1G6UE1SLUnSIzLcf24taoKunvmLSdKFQSrYtfrKbn1DQErOvdcpGPJf97FExgf3wZVf1/VFb3mxAR5//RmenP4LwQagf5zgMqZ4FliD0IYuL29l3Fd8G5NJluy6F0Nl2sCXkFtSm+2Ni0prhSfXA6ghmyw+bMV/CmoSAlxKMRlE23emO4oRvHBnjk2zye7fLY7EVH6hjUtbXorxdk/+OWBFzur2MCRy/sGWaaJuSKhRmzaHnwxOt44mTSnp4gYYlUe8sGTCfxkPmKbvIKQTsceNMHqiN3/LOQGHKyzkEmkfOnGxkHmBK0GWfrWxY2woidz4EbjYK75oxyANqZDqQBVJLx6YLLrdZikvbat925iSRWIZiyiG34mNIMkZYIqW5wTyJnDQlZLujClYXqtGFOtoFZIlF2Y1MPXvBuLFCvfgZXQZIqqih X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(376014)(82310400026)(35042699022)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:39.0455 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9b868a89-4913-4a7c-64e4-08dca0e9a84d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10600 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Following the migration of the dot_prod optab from a direct to a conversion-type optab, ensure all back-end patterns incorporate the second machine mode into pattern names. gcc/ChangeLog: * config/i386/mmx.md (usdot_prodv8qi): Deleted. (usdot_prodv2siv8qi): New. (sdot_prodv8qi): Deleted. (sdot_prodv2siv8qi): New. (udot_prodv8qi): Deleted. (udot_prodv2siv8qi): New. (usdot_prodv4hi): Deleted. (usdot_prodv2siv4hi): New. (udot_prodv4hi): Deleted. (udot_prodv2siv4hi): New. (sdot_prodv4hi): Deleted. (sdot_prodv2siv4hi): New. * config/i386/sse.md (fourwayacc): New. (twowayacc): New. (sdot_prod): Deleted. (sdot_prod): New. (sdot_prodv4si): Deleted. (sdot_prodv2div4si): New. (usdot_prod): Deleted. (usdot_prod): New. (sdot_prod): Deleted. (sdot_prod): New. (sdot_prodv64qi): Deleted. (sdot_prodv16siv64qi): New. (udot_prod): Deleted. (udot_prod): New. (udot_prodv64qi): Deleted. (udot_prodv16qiv64qi): New. (usdot_prod): Deleted. (usdot_prod): New. (udot_prod): Deleted. (udot_prod): New. --- gcc/config/i386/mmx.md | 30 +++++++++++++-------------- gcc/config/i386/sse.md | 47 +++++++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 94d3a6e5692..d78739b033d 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -6344,7 +6344,7 @@ (define_expand "usadv8qi" DONE; }) -(define_expand "usdot_prodv8qi" +(define_expand "usdot_prodv2siv8qi" [(match_operand:V2SI 0 "register_operand") (match_operand:V8QI 1 "register_operand") (match_operand:V8QI 2 "register_operand") @@ -6363,7 +6363,7 @@ (define_expand "usdot_prodv8qi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_usdot_prodv16qi (op0, op1, op2, op3)); + emit_insn (gen_usdot_prodv4siv16qi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); } else @@ -6377,7 +6377,7 @@ (define_expand "usdot_prodv8qi" emit_move_insn (op3, CONST0_RTX (V4SImode)); emit_insn (gen_zero_extendv8qiv8hi2 (op1, operands[1])); emit_insn (gen_extendv8qiv8hi2 (op2, operands[2])); - emit_insn (gen_sdot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_sdot_prodv4siv8hi (op0, op1, op2, op3)); /* vec_perm (op0, 2, 3, 0, 1); */ emit_insn (gen_sse2_pshufd (op0_1, op0, GEN_INT (78))); @@ -6388,7 +6388,7 @@ (define_expand "usdot_prodv8qi" DONE; }) -(define_expand "sdot_prodv8qi" +(define_expand "sdot_prodv2siv8qi" [(match_operand:V2SI 0 "register_operand") (match_operand:V8QI 1 "register_operand") (match_operand:V8QI 2 "register_operand") @@ -6406,7 +6406,7 @@ (define_expand "sdot_prodv8qi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_sdot_prodv16qi (op0, op1, op2, op3)); + emit_insn (gen_sdot_prodv4siv16qi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); } else @@ -6420,7 +6420,7 @@ (define_expand "sdot_prodv8qi" emit_move_insn (op3, CONST0_RTX (V4SImode)); emit_insn (gen_extendv8qiv8hi2 (op1, operands[1])); emit_insn (gen_extendv8qiv8hi2 (op2, operands[2])); - emit_insn (gen_sdot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_sdot_prodv4siv8hi (op0, op1, op2, op3)); /* vec_perm (op0, 2, 3, 0, 1); */ emit_insn (gen_sse2_pshufd (op0_1, op0, GEN_INT (78))); @@ -6432,7 +6432,7 @@ (define_expand "sdot_prodv8qi" }) -(define_expand "udot_prodv8qi" +(define_expand "udot_prodv2siv8qi" [(match_operand:V2SI 0 "register_operand") (match_operand:V8QI 1 "register_operand") (match_operand:V8QI 2 "register_operand") @@ -6450,7 +6450,7 @@ (define_expand "udot_prodv8qi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_udot_prodv16qi (op0, op1, op2, op3)); + emit_insn (gen_udot_prodv4siv16qi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); } else @@ -6464,7 +6464,7 @@ (define_expand "udot_prodv8qi" emit_move_insn (op3, CONST0_RTX (V4SImode)); emit_insn (gen_zero_extendv8qiv8hi2 (op1, operands[1])); emit_insn (gen_zero_extendv8qiv8hi2 (op2, operands[2])); - emit_insn (gen_sdot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_sdot_prodv4siv8hi (op0, op1, op2, op3)); /* vec_perm (op0, 2, 3, 0, 1); */ emit_insn (gen_sse2_pshufd (op0_1, op0, GEN_INT (78))); @@ -6476,7 +6476,7 @@ (define_expand "udot_prodv8qi" }) -(define_expand "usdot_prodv4hi" +(define_expand "usdot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand") (match_operand:V4HI 1 "register_operand") (match_operand:V4HI 2 "register_operand") @@ -6492,12 +6492,12 @@ (define_expand "usdot_prodv4hi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_usdot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_usdot_prodv4siv8hi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); DONE; }) -(define_expand "udot_prodv4hi" +(define_expand "udot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand") (match_operand:V4HI 1 "register_operand") (match_operand:V4HI 2 "register_operand") @@ -6513,12 +6513,12 @@ (define_expand "udot_prodv4hi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_udot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_udot_prodv4siv8hi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); DONE; }) -(define_expand "sdot_prodv4hi" +(define_expand "sdot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand") (match_operand:V4HI 1 "register_operand") (match_operand:V4HI 2 "register_operand") @@ -6534,7 +6534,7 @@ (define_expand "sdot_prodv4hi" rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode); rtx op0 = gen_reg_rtx (V4SImode); - emit_insn (gen_sdot_prodv8hi (op0, op1, op2, op3)); + emit_insn (gen_sdot_prodv4siv8hi (op0, op1, op2, op3)); emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode)); DONE; }) diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index bda66d5e121..861b87bb50f 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1195,6 +1195,15 @@ (define_mode_attr ssexmmmode (V16SF "V4SF") (V8SF "V4SF") (V4SF "V4SF") (V8DF "V2DF") (V4DF "V2DF") (V2DF "V2DF")]) +;; Mapping of input type to 4-way accumulated type +(define_mode_attr fourwayacc + [(V64QI "v16si") (V32QI "v8si") (V16QI "v4si")]) + +;; Mapping of input type to 2-way accumulated type +(define_mode_attr twowayacc + [(V32HI "v16si") (V16HI "v8si") (V8HI "v4si") + (V32QI "v16hi") (V16QI "v8hi")]) + ;; Pointer size override for scalar modes (Intel asm dialect) (define_mode_attr iptr [(V64QI "b") (V32HI "w") (V16SI "k") (V8DI "q") @@ -16712,7 +16721,7 @@ (define_mode_attr SDOT_PMADD_SUF (define_mode_attr SDOT_VPDP_SUF [(V32HI "v16si") (V16HI "v8si") (V8HI "v4si")]) -(define_expand "sdot_prod" +(define_expand "sdot_prod" [(match_operand: 0 "register_operand") (match_operand:VI2_AVX512VNNIBW 1 "register_operand") (match_operand:VI2_AVX512VNNIBW 2 "register_operand") @@ -16747,7 +16756,7 @@ (define_expand "sdot_prod" ;; Normally we use widen_mul_even/odd, but combine can't quite get it all ;; back together when madd is available. -(define_expand "sdot_prodv4si" +(define_expand "sdot_prodv2div4si" [(match_operand:V2DI 0 "register_operand") (match_operand:V4SI 1 "register_operand") (match_operand:V4SI 2 "register_operand") @@ -30290,7 +30299,7 @@ (define_insn "vpshldv__maskz_1" [(set_attr ("prefix") ("evex")) (set_attr "mode" "")]) -(define_expand "usdot_prod" +(define_expand "usdot_prod" [(match_operand: 0 "register_operand") (match_operand:VI1_AVX512 1 "register_operand") (match_operand:VI1_AVX512 2 "register_operand") @@ -30328,9 +30337,9 @@ (define_expand "usdot_prod" rtx sum = gen_reg_rtx (mode); emit_move_insn (sum, CONST0_RTX (mode)); - emit_insn (gen_sdot_prod (res1, op1_lo, + emit_insn (gen_sdot_prod (res1, op1_lo, op2_lo, sum)); - emit_insn (gen_sdot_prod (res2, op1_hi, + emit_insn (gen_sdot_prod (res2, op1_hi, op2_hi, operands[3])); emit_insn (gen_add3 (operands[0], res1, res2)); } @@ -31149,7 +31158,7 @@ (define_int_attr vpdotprodtype (UNSPEC_VPDPBSUD "bsud") (UNSPEC_VPDPBSUDS "bsuds") (UNSPEC_VPDPBUUD "buud") (UNSPEC_VPDPBUUDS "buuds")]) -(define_expand "sdot_prod" +(define_expand "sdot_prod" [(match_operand: 0 "register_operand") (match_operand:VI1_AVX2 1 "register_operand") (match_operand:VI1_AVX2 2 "register_operand") @@ -31185,9 +31194,9 @@ (define_expand "sdot_prod" rtx sum = gen_reg_rtx (mode); emit_move_insn (sum, CONST0_RTX (mode)); - emit_insn (gen_sdot_prod (res1, op1_lo, + emit_insn (gen_sdot_prod (res1, op1_lo, op2_lo, sum)); - emit_insn (gen_sdot_prod (res2, op1_hi, + emit_insn (gen_sdot_prod (res2, op1_hi, op2_hi, operands[3])); emit_insn (gen_add3 (operands[0], res1, res2)); } @@ -31195,7 +31204,7 @@ (define_expand "sdot_prod" DONE; }) -(define_expand "sdot_prodv64qi" +(define_expand "sdot_prodv16siv64qi" [(match_operand:V16SI 0 "register_operand") (match_operand:V64QI 1 "register_operand") (match_operand:V64QI 2 "register_operand") @@ -31218,14 +31227,14 @@ (define_expand "sdot_prodv64qi" rtx sum = gen_reg_rtx (V16SImode); emit_move_insn (sum, CONST0_RTX (V16SImode)); - emit_insn (gen_sdot_prodv32hi (res1, op1_lo, op2_lo, sum)); - emit_insn (gen_sdot_prodv32hi (res2, op1_hi, op2_hi, operands[3])); + emit_insn (gen_sdot_prodv16siv32hi (res1, op1_lo, op2_lo, sum)); + emit_insn (gen_sdot_prodv16siv32hi (res2, op1_hi, op2_hi, operands[3])); emit_insn (gen_addv16si3 (operands[0], res1, res2)); DONE; }) -(define_expand "udot_prod" +(define_expand "udot_prod" [(match_operand: 0 "register_operand") (match_operand:VI1_AVX2 1 "register_operand") (match_operand:VI1_AVX2 2 "register_operand") @@ -31261,9 +31270,9 @@ (define_expand "udot_prod" rtx sum = gen_reg_rtx (mode); emit_move_insn (sum, CONST0_RTX (mode)); - emit_insn (gen_sdot_prod (res1, op1_lo, + emit_insn (gen_sdot_prod (res1, op1_lo, op2_lo, sum)); - emit_insn (gen_sdot_prod (res2, op1_hi, + emit_insn (gen_sdot_prod (res2, op1_hi, op2_hi, operands[3])); emit_insn (gen_add3 (operands[0], res1, res2)); } @@ -31271,7 +31280,7 @@ (define_expand "udot_prod" DONE; }) -(define_expand "udot_prodv64qi" +(define_expand "udot_prodv16qiv64qi" [(match_operand:V16SI 0 "register_operand") (match_operand:V64QI 1 "register_operand") (match_operand:V64QI 2 "register_operand") @@ -31294,8 +31303,8 @@ (define_expand "udot_prodv64qi" rtx sum = gen_reg_rtx (V16SImode); emit_move_insn (sum, CONST0_RTX (V16SImode)); - emit_insn (gen_sdot_prodv32hi (res1, op1_lo, op2_lo, sum)); - emit_insn (gen_sdot_prodv32hi (res2, op1_hi, op2_hi, operands[3])); + emit_insn (gen_sdot_prodv16siv32hi (res1, op1_lo, op2_lo, sum)); + emit_insn (gen_sdot_prodv16siv32hi (res2, op1_hi, op2_hi, operands[3])); emit_insn (gen_addv16si3 (operands[0], res1, res2)); DONE; @@ -31401,7 +31410,7 @@ (define_int_attr vpdpwprodtype (UNSPEC_VPDPWSUD "wsud") (UNSPEC_VPDPWSUDS "wsuds") (UNSPEC_VPDPWUUD "wuud") (UNSPEC_VPDPWUUDS "wuuds")]) -(define_expand "usdot_prod" +(define_expand "usdot_prod" [(match_operand: 0 "register_operand") (match_operand:VI2_AVX2 1 "register_operand") (match_operand:VI2_AVX2 2 "register_operand") @@ -31419,7 +31428,7 @@ (define_expand "usdot_prod" DONE; }) -(define_expand "udot_prod" +(define_expand "udot_prod" [(match_operand: 0 "register_operand") (match_operand:VI2_AVX2 1 "register_operand") (match_operand:VI2_AVX2 2 "register_operand") From patchwork Wed Jul 10 14:05:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958856 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=G0tEFpqs; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=G0tEFpqs; 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 4WK09q740Nz1xpd for ; Thu, 11 Jul 2024 00:10:07 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 40A463877021 for ; Wed, 10 Jul 2024 14:10:06 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:260e::601]) by sourceware.org (Postfix) with ESMTPS id EA4023846084 for ; Wed, 10 Jul 2024 14:07:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EA4023846084 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EA4023846084 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260e::601 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620475; cv=pass; b=DBAYOwD4rsAJ2DyNUcG16Sk9WiVrhVTnNByuY5bo/OAcmN4CpEdo2V7/EhMOXV0JZL3OBdnTOyg2bQQHI9RWFlHly9SM8BFhceahKYxQZYK1AhH8jHvVdCbljfg0Hp1eOPqsXv8+aOpVHo22l3FVc8SYe3Rt0MRRunWhFFkczG8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620475; c=relaxed/simple; bh=LCdkoX7QAkSR3PEzdjuGXWPQNDKyh7z0TONpswCLAhg=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=MrEeNbGKjZqWxiFyvZ80QAP8StbiYA5ZjwoCE8GbkOMiGfGkAN7wv2rhqA0jqFhL7CXsR/N+ZfGRorBpFAVaHA7x3mJySf3SAXR/NdOUouzGzOJl9K+o5znf9n/UIoGrsVIpsMGHZ9U1sI9vD3JTO1NxZQdT1p9T2CbciUFJEyE= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=CsvSTq8IUTHPBuCsX4ApJqMXlwISTeAFfc/vlZCZ+ai1e51cyzXduJ2+ix2vX0+NOwWLtUtpLOwjCPFP1FA3ZCTopM3u4MumSEMarnXAiltHQ+RGSq04EGWTO+QQHTU2daCNZvj9n/6THujbplHQbwma7UaWrNZJAmSt8Zts+nV1VxL+3LFLNMVtTezJLSWj1/4xA+bBDdMWWYblHXE9LFU/CRhrpiSj0YWiztrhN4dIg6XMoHE+GP/rb09z21asyFNFx/jHTkTWOzf3pQoE/LbzLwrfsZUSNLmvhAI52fYpksCcYliN62SVvRUEfUkCNBRvbOjta+OjJQSPpE1Rig== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yDI1jl5XJjXHyNSm2rMg+sIaVvY+BRRQ1nt4GM4hz7A=; b=hVXp5SOSHgTa7a/ijHKtPf7dgQS7kUInaiT38b/gX7R36PzMBEh+FVRxhULQW2155/oEjXvPp+kc3Dt4lupEHwf4OsYIpgJLs1L38ltrZwdywY3UMGwW/s+LGSbimM+4HQ4kG/GQFqjNIvmQIwIg4vlEtq0E+tuRqUKrlgTqHVJQhN87B2Hs4jhXTfHC8vTbZeFxjzE1XVDk22RC+7oRl99jTuEijRwiN9mUdCTqB9UDg1EN1c//S7XLNk0JdVZUDnOg3ALuV/xOU3sUDJbMTJCteYELk8GvtOqnzfdr8vFMWhE1jfS2trvNvNPjT5VVCwLJQi+ohYHBWH+QLznELQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yDI1jl5XJjXHyNSm2rMg+sIaVvY+BRRQ1nt4GM4hz7A=; b=G0tEFpqsebn4tiL0p2HUfmD+++oKFq6xmjRgxACNhkrwSDOY3q8tCL/S85Ok4+bi5/edqeHq2HoSTUcL9F5MsH820WXUxuUNCirXvs6sa3TBiShjUfC2a1ARsJnCAQILYKiO5GNDSWab3pmGnYMBs35FgrFXtEmHIk/jqDHdwsA= Received: from AM6P191CA0025.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::38) by GVXPR08MB7894.eurprd08.prod.outlook.com (2603:10a6:150::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:47 +0000 Received: from AM1PEPF000252DB.eurprd07.prod.outlook.com (2603:10a6:209:8b:cafe::d9) by AM6P191CA0025.outlook.office365.com (2603:10a6:209:8b::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM1PEPF000252DB.mail.protection.outlook.com (10.167.16.53) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:45 +0000 Received: ("Tessian outbound 8d320bbb64fa:v359"); Wed, 10 Jul 2024 14:07:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 795bf991656f1eeb X-CR-MTA-TID: 64aa7808 Received: from 486b6de2693a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C103F7AD-BABD-48BA-9CA6-B7A60DCA2851.1; Wed, 10 Jul 2024 14:07:39 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 486b6de2693a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RYqHDbPZPeP1OIIFh8byUVEJN7eo31jXrbIqJFfcDu3aiBqAA+ZkEFPFY+ZZQQWUnvmM7wVCaf7yrYaEX6dU7BnnZ7/8Cmpq0X9HBHihZnJ2P74MX/Rgp2R/leCDvYcD9Y7eOIzx6Aln/jOQ2AusMQBLm2FDGA3PQd0B3Zfu0dR0CxRnER+aY0WFcZ+420SOrdpMTefk+SNLI7FyeigVkYxYcTjqGtOzPmAcAGZbOzWh3ScG6soMSqjLsmL9u0UUQg51opRMyq81eYzROut8BwSFV6wAs0/NLyhhTt+6ZEp+YEweE4Lxq6bjWVzxMN3EZrR7un57bKqEaP9ixZJF6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yDI1jl5XJjXHyNSm2rMg+sIaVvY+BRRQ1nt4GM4hz7A=; b=VqVUFJ228Q1dB+Mc8Pgr1ES0FV1vPIe1xoXdiIoWOHAhWbHL7SF40Rt+SDhpb2jU93AmNYhNAcfIItn6QGR49jgFRt1nP2Zg5NyoTpDSV38xdkcJlHpGxWwPEzlX1zwjSegC/XnrrhVKJmnSJ5nXWFdnHsODq87+TvtKJutwDBVyiD2jiYB1H9yX22ZJ2VuPZCYwR7bcKYJBcjxTF7nrg2OLQZzljRh5XqgxUF5SUy2i+HZZxNqJ5GiGbfGomLbnsK28DoMTh42PL3iMU4jhkt8sneHQ6QPrIgqBvEXFVw9yDxgsZf86pRkrUE4X/0o+ixYMWfPAdantnY1at0qAgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yDI1jl5XJjXHyNSm2rMg+sIaVvY+BRRQ1nt4GM4hz7A=; b=G0tEFpqsebn4tiL0p2HUfmD+++oKFq6xmjRgxACNhkrwSDOY3q8tCL/S85Ok4+bi5/edqeHq2HoSTUcL9F5MsH820WXUxuUNCirXvs6sa3TBiShjUfC2a1ARsJnCAQILYKiO5GNDSWab3pmGnYMBs35FgrFXtEmHIk/jqDHdwsA= Received: from AM5PR1001CA0050.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::27) by DBBPR08MB6090.eurprd08.prod.outlook.com (2603:10a6:10:208::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:37 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:206:15:cafe::4e) by AM5PR1001CA0050.outlook.office365.com (2603:10a6:206:15::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19 via Frontend Transport; Wed, 10 Jul 2024 14:07:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:37 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:25 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:24 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 06/10] arc: Adjust dot-product backend patterns Date: Wed, 10 Jul 2024 15:05:59 +0100 Message-ID: <20240710140602.1707875-7-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019A:EE_|DBBPR08MB6090:EE_|AM1PEPF000252DB:EE_|GVXPR08MB7894:EE_ X-MS-Office365-Filtering-Correlation-Id: 54e04730-1394-4ecb-ae18-08dca0e9ac01 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: 23VatkPPWakwIDBdtRvBwGXiGoLL2GUdYlVOqgSZiJbw07gcjQniQm5VVO4p5cF2oCd9ufzsPJsTb1DCWLJYLDs8wxwmt+pcPcayZItLRzwmqI1qIHX2+arpLTYd7eIKmtUtlvefM4flLpImfgnYU2dIShaiWXOjzELxfrIAJ7e0jPSj82T4EalvUI4QQ21nQ4Wl+N6ApTnlIKQgq6ZHCjmIjf1/GUPnyqzSiyA9MwXLh4kc8qhC8np8g0VJIERfKM4bFwMUX6frtUE4l5H5AT9ijHsYp2mIz3so5nQbeaDW1VCN/HuDeo9mtCirfMhVrw4kdxTUUWvG5/dzgxzZuk+gStq6Hv7e8LxFtUHEAcHNYLh8QsXF2BNSXUBG8mAlRXJsjwqU4T/T0R67oO0fSH4hPAhKXBDY9B9miegU/lDu52B0QO9GFFDY7wWALfT/1xSIjy+1bc5ZhqfKqut0wiyLQX0pOTSLsc/FUkM9JhhgnQcblBW7h8TewaKSRhkvHcljRojoAvg0YF2ugvxLmbavA0zvKL1oU+6vJB8dSrOvmejWutE3q0le4TopEY7Z4Ubo0C4fiKaV32RB5cGyuRMrMIZN4edKIH2mPg6QNBBw43ypm+X8t6YayzHkND/+SNNzewrGlYM1/mMmqtbAcmNmzcvvMUhwRmgCVaKddN056cJhstW1WGat8iX+byLBMSewp4xTrdNIG0fL6k5aPec/VmKzO8tyMS2dwTwnIR6A6/n6HGm+C46AnBURFXiBbA+6B6Zsgv4BjJ5tIF9tX1k1ysQO9zNit+LVdZLBX/G7jxWL2W5cPi2JZmPh3awFhkfzB81aBcy/mEStoOINep4OF7nsCw+BPLz2/+BtzjdlQcE+FfDB/RgKoiX2/l1eXgJPoU8vgMfsjEWtIWktTBRoJ/FAt5igYoeJspaqdbhrDqteWjup177sWhOHppUdUVIjruKbKjhVBa1XAJTXzKzPInKjpIngjimK7t2gA5Am35JRW9QcnOKwsVhgCl+ihc3VfFheocWZBGmKQ0i0tkcgMJUrnNt8M+kOQQtcvVHHYmMlRksHsU4LuezloLmlFW7P6xwy+0od/tiQMTDemg+L4NiEZaFjkI9CiEQHXNG9G6xoCC0ewzP8cS+nUSG4TeZ6XBobzdHYnIIGwLp7eGo9HK4McQ+f3jVNHehYlPVT8NxZ64/8tiuqk11q+Ffmenw/2UxNi16QZpSQkJ5At2ueudjppibWhDjhrVU17FtYZQNY6Pvdpvw2GWOX5KTXytPj3qx3DprMI2koMgcwsRwjEMNDdwL92i5rmVrrgdI0oEDoszLhngl4Utru0B6QIJpy1IOS4N7gAlYSrufx5/gkpoKgfUd8VzGP6AZvk1tz7Lcf1Gs6ISmnlzH0iDeipbbEzuC40jDe5fyJ2YLlhH0GB/LrhCmH5vtVRP9f8lOaLrDJPgbq21+bVIzyVJUz X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6090 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252DB.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e7cd6332-7441-4511-e02a-08dca0e9a73d X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: AcV43JuOj1QqnZY4SMW1bSLUQJsZDKk3CKVaKc9Ms1yHQ43Suv6tcdRO0dvB7emtrhShx+cmHTsBfKD+S4+d2+lSmCv4yMAxRZtQvYnoiACsPqjKC69YXc27S1X88yebLlg4vkDBI5Ph8h5KqGTJqcpJDac2b5qs5cn9Hdj+1uPssbpbn1oTSyWkHtyNN/x5q76+6qPSxmK/6FdplJC35WHI27r6wr4hXpywUNlveUFMCnNFl1IqXKH80s9ZfOUcRzl6gohn1ufDuwt1u2pfrlPEBHDO0V/TBZt7IwoxpOifWo0IJqT7hWCAinhSDm1dGSI9uBxzvei4BUvD4d+HYl7qfYnnCaI0U3VbTV+MWB1qV+wk14Rgr0JcVGYHJ0iReTI6CgrYFQrrcTTauf7SI6Enw0ZU1ojUgsFzz1N+T01oCfbJF2soEf4lQETKtaAz0QImWEaAzJB3bdADkHpuq7ycwVeSTyKi3u9iStaXzdn7mKH7DBIZFeo7njTtY4IeEgxvRpzh8i5lMhasaHwLZjWZf9BA0VWxq4AoWzOrxAF2Xs1OJhS0VQoEKV0/R7itpq+pRVFkDQpCY0dcs4UsyClEmN2zRWbGT0Ur0IuhesHT8gl8+ovyZTfjE1yBt4h6iU53N7LYeVnTNGRSECLMYIMaku09LQVxRNTK4VuG6KBgB9qUuEm8MpopO3S0CvYoKFYd1ZmQiHuShp1qXek/ymYuFYFY/tcriEuj1tmpKb+76x82jylH23Pz2KFm0oiWgEIqezMZnyCZz1u9JlC16Ku5/crYi4EpvjUw9wbp1fijNcPvyEokkOkb2KiQ5NPTDvB3DaZZetDw4OwwtggB+y5eAlJPOZ407SUwIY7avMsr9Pl4bwc3AbVnTUC86Zf2bH4l5BThjfM1uDJsSAzkDWN4nLCNrogSx+CHGoJe7j9fZg1BLJgjSQqbg6s6dWaNDzrz8n5HkNq6DnHxAIXB2r0rZpd2KiJ231/1zwz//Dt3uMDEqvAoBFVBVRFJIVbqLC3Hv+oDwg4XNu79EiiWCgmQO/aWzjePisdYQn1T6agzU5c8w+j6LtgBOaSp82wFB6nslk/MlZw9u/SpEaeuE+6/ZTsnfaxT5p7dTIbCHXNqevEWQr6MkVNTM2m4VeLh22RSo6fpoLhGbsS7ghsaFDYbm/ViqNQOqq8TUV+uk4N+b7/mhmbj7v/zkCsvPnEbdGVI0iMQrlF0ot0mxMfpyQw1qG/beRxJodvPoy9UVgx5xaUwFhIj9wGCE+mW2C5OyruTB4SLa05hNdDgnUA7BDNW0L0CzAVapqQ3E/7OqNE8LKaCwGkZo+IXeVdA/FkY8+uVrNGvahFR3X3mvMtW3s+yqn9bW856q5LdVrrtdf/U6FEu7+ZGFqwDEprnXxudJT7Hcc4DPdRZsQ3rHIMrV3+Hc1U0s3aCzHrNtGXKwNael/OoQjGLZFmpO7yo6vSP X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(35042699022)(1800799024)(82310400026)(36860700013)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:45.2914 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54e04730-1394-4ecb-ae18-08dca0e9ac01 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000252DB.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7894 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Following the migration of the dot_prod optab from a direct to a conversion-type optab, ensure all back-end patterns incorporate the second machine mode into pattern names. gcc/ChangeLog: * config/arc/simdext.md (sdot_prodv2hi): Deleted. (sdot_prodsiv2hi): New. (udot_prodv2hi): Deleted. (udot_prodsiv2hi): New. (sdot_prodv4hi): Deleted. (sdot_prodv2siv4hi): New. (udot_prodv4hi): Deleted. (udot_prodv2siv4hi): New. --- gcc/config/arc/simdext.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/config/arc/simdext.md b/gcc/config/arc/simdext.md index 4e51a237c3a..0696f0abb70 100644 --- a/gcc/config/arc/simdext.md +++ b/gcc/config/arc/simdext.md @@ -1643,7 +1643,7 @@ (define_insn "dmpyh" ;; We can use dmac as well here. To be investigated which version ;; brings more. -(define_expand "sdot_prodv2hi" +(define_expand "sdot_prodsiv2hi" [(match_operand:SI 0 "register_operand" "") (match_operand:V2HI 1 "register_operand" "") (match_operand:V2HI 2 "register_operand" "") @@ -1656,7 +1656,7 @@ (define_expand "sdot_prodv2hi" DONE; }) -(define_expand "udot_prodv2hi" +(define_expand "udot_prodsiv2hi" [(match_operand:SI 0 "register_operand" "") (match_operand:V2HI 1 "register_operand" "") (match_operand:V2HI 2 "register_operand" "") @@ -1669,7 +1669,7 @@ (define_expand "udot_prodv2hi" DONE; }) -(define_expand "sdot_prodv4hi" +(define_expand "sdot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand" "") (match_operand:V4HI 1 "register_operand" "") (match_operand:V4HI 2 "register_operand" "") @@ -1688,7 +1688,7 @@ (define_expand "sdot_prodv4hi" DONE; }) -(define_expand "udot_prodv4hi" +(define_expand "udot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand" "") (match_operand:V4HI 1 "register_operand" "") (match_operand:V4HI 2 "register_operand" "") From patchwork Wed Jul 10 14:06:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958852 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=LjMRubCV; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=LjMRubCV; 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 4WK08D5zttz1yNy for ; Thu, 11 Jul 2024 00:08:44 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1B9E03839158 for ; Wed, 10 Jul 2024 14:08:43 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2613::600]) by sourceware.org (Postfix) with ESMTPS id 759F8384A454 for ; Wed, 10 Jul 2024 14:07:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 759F8384A454 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 759F8384A454 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2613::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620464; cv=pass; b=qShb5YspKptpPuCQ2UaghVCtQJbHCpRATiWpcttsllXa7nSSf2ibCe0CuswCnxV8Ic4gto4jXSRKAxMDzcfMPxf2R9HcG/fMc4LFqkNUw0gvJNy/Sp66GBngNaFYXRE+7GPK/PhpFHws/02N2ydI+M1T8+Xz5EXIWC3JZKr1IGg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620464; c=relaxed/simple; bh=fr7f4zEXLNchH3K0pn1ZqBet5PhiaSoFwNB+tRPDIGQ=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=OuwlrNN1btknsOoGwPk96YEuyNMzyJpAkq2cT3wqGzVWcKIdcDCRzpxqEbixRxPl3aDothuSUOv7FL3kKj4QYKIhY68ljJG30hGU850OBCKuJC9l8unIFcVjRmxzIildu+S2AwPM/a2VhshStOknJMsG/8NR1V9Gd/bgDCSfFuo= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=QdKRIzl9csgRUcyfAyHVdjGsNDLqVRmrdDM9G6xmrrBdWqNkr07sO5XysxAv1RDml53/DIye35dS/6KxStJ5onbpK2yE0eHelSWRqBTQB5KKIIfUDnQDTGBm0zeoed0V9APBEpPeMrFNmSOLsfbnA+mW0sintDVkD7DOf5e5Q2ArSrBnV2U7N9kkx1bTo/k/Q5xWSAvV4YEgWqqBPI5XkgmKU77rPYyEoXK0DfmZ31F0cCVFLphKsudjV6apghQ+2wktrMAIohu/GcSODDO93HxxM/kL9RvfnVQu6G+ruGA6/BA9fmnXWZOvVGz/8jsMTfBGgmtxAgeUeiBatrm7eA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=7XqHs4eH8pv7As739Q/4l1GRPbD+6Sgs3PDk8JRe7ks=; b=f5N0QtOS2Q5y97xYJ/2X9N1Z4KJZQBQiZaszTVv8xzT7exfhitjkmL5y7RjcyoP16oRxtN4eKCvikYodJGb8iHO1VkkFCs7Mp3E+5nc6pzTqznosYfhHHi3ScHsCiRm9lhwdSsMRfXSkDXKGrOuGY3UiLDNJ7IEfMbsVh6VaLNaE7BULWhoAodyL3ijqFREi/J/oe8JgT4X9n5h+/Skgew+PgrJ72G9cCO7Hrl4CA+klXk/awfTzN+/BJ40xu5Ti37uTN6y9J6b9EZwY839G4x5mJSBaFRNISC7ZC1C7oD5eObTe+iMXQuB05n3N8z1xkEjV9f8Qfor3a4QeYdWFWA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7XqHs4eH8pv7As739Q/4l1GRPbD+6Sgs3PDk8JRe7ks=; b=LjMRubCVSYaliSdjAQQ0MxIfkoAG91oWYGFQJrdbX7B+x9TR/d/Zy9NtP11aDPgZZL7CdU7WpSyERuSnySUUl6hK57V8RUhu4vKijseG+lUd4KASXmfEaXvlOn7ePQoq54L9J81vOGbKJaAHwxwDF0koPFBDmwwLg9uxXlaA3GY= Received: from DU2PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:10:3b::26) by DB9PR08MB6633.eurprd08.prod.outlook.com (2603:10a6:10:23d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:36 +0000 Received: from DU2PEPF00028CFD.eurprd03.prod.outlook.com (2603:10a6:10:3b:cafe::dc) by DU2PR04CA0021.outlook.office365.com (2603:10a6:10:3b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF00028CFD.mail.protection.outlook.com (10.167.242.181) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7741.18 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 Received: ("Tessian outbound fb4a9dc7a0b9:v359"); Wed, 10 Jul 2024 14:07:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f20f47db0c0aa9b3 X-CR-MTA-TID: 64aa7808 Received: from 7c14131ef14b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CBDFBAB2-AA7D-4536-98F2-F07447CF5F73.1; Wed, 10 Jul 2024 14:07:29 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7c14131ef14b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MlEjBHfo4/J3K+irthjicZybmBMOsiUB0xUBmr3Jn4EuwuLbX1eFskYYTmCJRVcEr8dIXS7aAJH/BqJDFz70YMJwpGoPND6bgUGtsV6GsFzBQ0mOIOPJrjHS+Ex4eOpO4BI4UkI2zh9A94OosoO5x1smUbhOHQKpnZGXTNJxNpWvLkyu0QEAB9jqAX8XVcSblx7zTAxZdfYkYsuH/tYYOABR8iHlkuwxFWNiJB/sQhHbK9iL8jVgTvEscCBR5zDi1A3DJcFqaMbcRAcyKSTy8JuicX0oXArduPmCi5l8z+2N1vpF3vJuaSJHJxhtwUp5JuP0jzrIjn67RJucoNZAPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=7XqHs4eH8pv7As739Q/4l1GRPbD+6Sgs3PDk8JRe7ks=; b=AD2Zo7W6egPIbpSANOvJ88NDs2ioh+zUV5M3bgoFrgRkhWEfAAodPSDiPXkpFTwUHog6Ur3Dxlxp7XUFmj0cG7KJcTDjE0nuo9t9BydalM3n+o8WGHu9VASi/mRsRjD0T1EALYADO23MTFkgOWFimU669t4lyry/cAMgEQ2Pjm44xe6e5nj/HznWbeOuyHYeZ8LUoXCYfZx8jdhE+F/A+kMclw2PSP6Sn3ENA5GQeBxT6TmeiphEnVmDfFBFgFMZXZiGm0silIDDiD1FXPDjGzbkbFjoQQbxm5X57DSGeK6hP8xTdj5dFkDPg8sVJ0R1ArdJ09LkFXRECueIfnj1fw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7XqHs4eH8pv7As739Q/4l1GRPbD+6Sgs3PDk8JRe7ks=; b=LjMRubCVSYaliSdjAQQ0MxIfkoAG91oWYGFQJrdbX7B+x9TR/d/Zy9NtP11aDPgZZL7CdU7WpSyERuSnySUUl6hK57V8RUhu4vKijseG+lUd4KASXmfEaXvlOn7ePQoq54L9J81vOGbKJaAHwxwDF0koPFBDmwwLg9uxXlaA3GY= Received: from DU2PR04CA0004.eurprd04.prod.outlook.com (2603:10a6:10:3b::9) by DU4PR08MB11054.eurprd08.prod.outlook.com (2603:10a6:10:577::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 14:07:27 +0000 Received: from DU2PEPF00028D0D.eurprd03.prod.outlook.com (2603:10a6:10:3b:cafe::6) by DU2PR04CA0004.outlook.office365.com (2603:10a6:10:3b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DU2PEPF00028D0D.mail.protection.outlook.com (10.167.242.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7741.18 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:25 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:25 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:25 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 07/10] mips: Adjust dot-product backend patterns Date: Wed, 10 Jul 2024 15:06:00 +0100 Message-ID: <20240710140602.1707875-8-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU2PEPF00028D0D:EE_|DU4PR08MB11054:EE_|DU2PEPF00028CFD:EE_|DB9PR08MB6633:EE_ X-MS-Office365-Filtering-Correlation-Id: 2348a206-e214-45c3-af19-08dca0e9a6ca x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info-Original: vrNHYxAfpbxu3vFCJTB3tQ3yvTsZwXKGrijdxusZullEchDSsfK37ppgiLr3wTX6H5F6Ib6Guz973Fqb3LVSva877TQDi1yGwjPlheZH8ianTb+0WbGsRj7yu3r7YwyTRJ91ETNJF1vez64loYaxvt9kS9hcd29prgsPO2gDlF5Z0hacMSZHNQVjgNKssiwH12fWMZm6n16XbvtV6rW/OFAOCtWJWcmMhejfm3zq3JR7kvhkiWTPXZHtyrd5rcqLDL9Z7rcDJ7kyMOoEvLf0SS3Y1bDvZL3f2GpglLV5tuNA39w1sfM2R0PztrgmxXbhlwQ+BNw1JVed/QIK3ErpIvzW3vEWfVEe6eZAZJRYYjwcXcp+5dN6e0k+qVRhGsMiDD64xuwCfRwdh4QH9y7dEo20vbhNzG7JF6EUPhJ0EwngHwK8qNGd1aOUTlVLKBRRXsIaSyfoBGzSgMqUWxioo0URxm25ZVkFhpbuy6QF9v02Sc8ONIX21X+ZZpopTm5Z5n8mc/JjKsCrcJ2PNZaciGsMdsvTpZnoBMRO96AjjcUlmNnHaVzYxtOMMlO7wbkyYP64dq1RB87gUu88ZFEd/MTiPxzaEa/NpdHTD19DOvkmZv34OI1DtT64xK1GOL8wfJmV/EpujkmfAu/J+7smwJLdY5tbW/+AZTBEI1avL0S+Temg1NXY4hzw10ApeE6NAMGb8Kc22nD3LnCbZdlLhzmsDGsx8lmLzniWpaGcn4IUUC+TOTjGXL35xuvRR7I6XMwhJq5IVEp5MHAmdl5g/Q1DRw0OLpJ+1wVLZoHj8TNDLdNQCi+COuO/28QkI5Q//1+tKxhIPJAhpwSgtG2KJi+7Xeab34Jucqz5vfpH9r4X+c1l7cfZkGrljSiZSgBCz8ugwpeox2LCCboakP1uXdZjoFl2IKOrPY5tyX1wJ4OzD+l0tSDI5Kr61G2Rc+xJPN222S8LIKZqSuJZrG6mzFNSRn7nEzUnWoHXbuxINhuQ9gw7o4Slm+RdAtcPrDN09AixkrSFA9uEnwISC6Sm9OVG0v6x46JAglUThUBIZvO2YLB9v/n8QUw4PIy/sHGckY42lHvosIRwBJiZdaWbkYg1l5ZapUTIgDN9BUa1TCIXIIHBE71AyOF4i0f6asMSTs3S0TdfeVmP4jTlpYT7jVzefyV4aIicMt1kC7o/5C12db7sAHQldmz+7t1Fwp5LolG7i8LhTxfD15kq3ofbB4wqTWQo0tKl2un5vUUzHSKry0kvEryHIKALOhY9ai8uyMiRdq9Q2HwectKWQph8VigpU5xEDyM1j4wN/e44kMgxbaNi1Qm7hq7qEm8nQEVjccj/Ti0K/+xFCYgjyKsHEQWD6bOqreLurkcY38lwFQuq+WHWsbTjRmeDIVmOndi7kTx6d+OOCt8+C+o6/hu1IT/7oEsBRL95GfgDTRTK5yS1NrXLtBNEqGFzt50QUctU X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB11054 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028CFD.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 69345112-18ad-4e7f-f532-08dca0e9a173 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024|35042699022; X-Microsoft-Antispam-Message-Info: l2z93p+tQ7cWIRt8eFqDl+Q5q6YKqnaZ5QQ55zqPv5NFcyWX8TldiYw4ZjWsUq7S/wplgMmEWJruXA1elqCoX2+8HUnCt9BZrKkshlHRBI6yUacOOG5IvigmDAfd5GaGAwn5BmVv9yRSmnNWCiD8LDE1IWAZZ9mTSTq9AI0+drYTfQ37amOm6YdJLXrWUZk84B53iAzrfh1O++e6urCO1WGD8Of/6eGUWx5NzEKlY7Gmv31/4r5fs9JL1W51ReUBuqzb4+S6LL7VOTT3/NxMQ5j5Z7A2/le76gtJk247kA2Ufa5wZd7vp/x0O1Mxf0CdIMXxY0fdBNnlwBO2Aw6YK3D5MKQxVNRNu1OPXA261A1TBW3J+houZdtBJLHY6e3MzDRQiFgp3X/Pb+9SeP83TEIQP2kIjWA3yZ5GZypuIFsVSPYlAS9g2j5ihPM/O0fYFwUcxIvnaVKF1dFoXU+al7DPzg7JjDn3gTWSuOd7YHXUxrqUe5ACER08F/8No4O2VbGShl4PfGJPLJZwksgI2XZrvcR4detw2g3x1mhwlO6sD6hrZv7REJHMdKhzS9Yz5M5C7MO+M0ALu83u4oGf/BrHdRuC0GhJw8vC6Lilg1oXqfLz3U/NE7bJjDyECMgQIP2u/hZFJ1wXgiQY91YP97KA2TEavqWCrNc6ZIcvSR3/jnoQVD5EFMyLzgae7rFP8PvLtnZchyAUo7HS77Tjaq20SSIvYtZxKzt89FdJ9XlL31qYagQ+a2K/5IjYgngGaQ3eFnDUDBXCEsVoL1zLZwKe2rX2ca20j5z/rJzPeQnDJTT8/ZNFV4EczO2nMKPjf9HPMdAcbgAdYeUy9c9r265D6Sj0+jghXMcewklBby6KujYMZEPdQ/szFTvISjdppc1uc5keVtjEMiHT5nnrKFNSe2h1X58sOzzgBY5MdyWlsMvBcpFd4rBOKw9bmEjwzK5TvBNWUUtkdsEScnMuEevVVc0sv4uWD9xU3RuCaD6CDJbIeJd1Mmr55ECCGgFAiOm88sUWYLoiOj5O7ruo7YNRIrsWzv9Qyfvx7TscMUerN7cvM9qi/bM8viBwGAdr0oJKRaPOdXrTI6fB/LhWBNQ5AT+NbBYmR934CTEazBD9xzP0cAePKPi2bVrwuUSusnzsT9RXglqvkgkb4L3LDDv8KER7ei1FsiPQYWJ9d7+/b+0huXohbgEei9rfTTr8JnD5Z3t8GsdCZ98QpgWQRE40RfzeCIJ1e2EwyU3ZWZb9y1gPUkFNDvFlor/NWfTlYVRV2JhhoUiwyONpvYJ/ORjsRVsHNbsz/vaH2sPhNMXyrtkxKKPv/1fZI6+KxtnLLa6AXf+I2o3uXNAafKVCifwHgj1vcJVJZr3pyO0B6osvavg2h6MW2wEHnEQ05JHTnorzSkq0T6V5nj0T0xAzqoFCvzWcyLt/O2o52HZzuH4/aCZnLTvaG5mU3Fs9RWzS X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:36.5892 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2348a206-e214-45c3-af19-08dca0e9a6ca X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028CFD.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6633 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Following the migration of the dot_prod optab from a direct to a conversion-type optab, ensure all back-end patterns incorporate the second machine mode into pattern names. gcc/ChangeLog: * config/mips/loongson-mmi.md (sdot_prodv4hi): Deleted. (sdot_prodv2siv4hi): New. --- gcc/config/mips/loongson-mmi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/mips/loongson-mmi.md b/gcc/config/mips/loongson-mmi.md index dd166bfa4c9..4d958730139 100644 --- a/gcc/config/mips/loongson-mmi.md +++ b/gcc/config/mips/loongson-mmi.md @@ -394,7 +394,7 @@ (define_insn "loongson_pmaddhw" "pmaddhw\t%0,%1,%2" [(set_attr "type" "fmul")]) -(define_expand "sdot_prodv4hi" +(define_expand "sdot_prodv2siv4hi" [(match_operand:V2SI 0 "register_operand" "") (match_operand:V4HI 1 "register_operand" "") (match_operand:V4HI 2 "register_operand" "") From patchwork Wed Jul 10 14:06:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958854 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=FOPXB1Fx; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=FOPXB1Fx; 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 4WK09C72mJz1yNy for ; Thu, 11 Jul 2024 00:09:35 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3214E3870C3B for ; Wed, 10 Jul 2024 14:09:34 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2608::600]) by sourceware.org (Postfix) with ESMTPS id B433E386101B for ; Wed, 10 Jul 2024 14:07:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B433E386101B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B433E386101B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2608::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; cv=pass; b=qSuynVrT+bF5fr5f617BzbuQhgIbl8bPzk0YWMJTj+lfOWhN/CYcB6g1co0RbZhT9pcg460U68qG+5wqGTolVRxr7e52QqS4Q16LZCFfa+uWW1+f53OHnV79f3uNloFl7QTFxL130vVL+VdXTZlr4WalV2PpI/L95zcJtDwx3sA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; c=relaxed/simple; bh=+oMyhWcoz9yS5X4ZaTzqpYdzkumjaz2VttJEryWNyv0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=BjAVF6T252rNu8Hrxh8JbjwVlGh0AxQNEIts8Psr3NkREEMhNPcJlvhSFeg99rW+DuPZVQI83vWjNj0iTTikbYlEVQpgSqDLpy+JYdofRVDJEaKzLGkJyewCUkIw3ykhUsUcb0/2rkG9AKKi4zbcSZyamaUmZmXJQW6LFLIGYlk= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=DJKLD/vL297KhJ5wP3bK1Q8Omr59TX3kK1S1iZjH3PrLECWscsi4A6XO/NWEEW7aQ1AiYHrGlOAqBv9EkkGYb7Sb3HLmoNvbl4zvwN36G67qzVJjy0alNBdo1iddAqVgoMo4ltIj80OCq7TbanZ3ckdvswbeQiFuhyHF3jUA04zbDJ62jTiThS6KWYKFvJ9YUQcuOwsoaSRc5c2ldQXr5sA22HUwfnNEw7ahgGVYrge3FK/iBN+OsvpUAZ3002hEvjiARkCBz6+4+5HQ8pAYeJQs8Gmfx4izLw11wJ1WPraAf4bOmNdD4dIq2tUkDftLXyM6ch6JlWfQDxHdQmo/hQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yeAffnq5S/jPQutuJ1q8BrnUHsemkX1EdrAbeg32d1M=; b=k+K5qXxXLsmgnMviXBv5BHDBV9fi32EhB6JnqWH9am5fH8c02Mr39w7nIp3rcMzJWOZiprqwahpzrysKE1QmlJDwkzK6s78FPRYgBjFP/C/geftQnw8O66kaqHUak8M5HAxn/ewby0pAW2PAEh43rkvL/DzYVzyw7jrIjIYR8w4mXMHqqiwqOpQ0C6zdEQxOO0JrjvZHbTahwUikLzKayXmGIdWWDwTKs5WZc9m8JmXT5XYQ8w1zZA6MEduDZKkCr7HCHPn4u17i3joSeo3AgyoPuHNEjy0oMZ2XF3qlEK+oXWYyNdaEFTm0tkPfgXgt9f3OvcCDI1TVklGuOF/E2A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yeAffnq5S/jPQutuJ1q8BrnUHsemkX1EdrAbeg32d1M=; b=FOPXB1FxGkNS6O0UcNfK6vNB4PXwz87jFq7SC0axr7iom8BToNBR4ivDu6JZ62O16vHNnabnamEtIzOGz/ZiLhriyzMonLT0/yUphtRbOqy4Z35NhZLFTcj8r6qJVxOfQItJ1qs9ZqDM3rTRM3khtqBzGi5ei2CvybSunWau70U= Received: from AM9P195CA0018.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::23) by PA6PR08MB10420.eurprd08.prod.outlook.com (2603:10a6:102:3d2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:36 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:20b:21f:cafe::c5) by AM9P195CA0018.outlook.office365.com (2603:10a6:20b:21f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 Received: ("Tessian outbound 1bd2b4f45798:v359"); Wed, 10 Jul 2024 14:07:35 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b5581358176a0985 X-CR-MTA-TID: 64aa7808 Received: from d59ba2bf51d3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E327E84D-3C48-42BA-BB6E-3925C52E8F5F.1; Wed, 10 Jul 2024 14:07:29 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d59ba2bf51d3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Co7nnZ+aBbjmou6LlyI0m+nzV7PiebtfwIqTg0AbUerk0t4POicRai8s7MlxBpcYfGzFylVci7Ryr/0Jg3Bxz9F7SLhyqIrhKhGdImL3P+JqydSX9dz3UOeBe2jZvTa+1yEMyRtqcj8BuFS+0Dhya4Ez5G9hlZ12ujx64burxikqHEgNSIeU7bjMLZbnx1bCq4+hSdT3e0RZQnLt0Yh9ArKPYqEz/ho4L6M6Smk/N66TiHLWGNhfeOYA7t0bguGTYV/nQaLc3wQZQZKEbVT3XEOyOpczJ3DicC0NHosGtoClkYiI714iq0dXTjbIynTQjZS1mAZtAoE7d4/rMz8AOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yeAffnq5S/jPQutuJ1q8BrnUHsemkX1EdrAbeg32d1M=; b=nNrtCl9pXggk/v8oIphTFncxk5ODF5s0V7PX8sP/32XiCLDGnJEdASB/ZIQktovb9Fjt14smGJWAuoYYD6WBKoPScQgaGB7kI1Z2x+DVHTHQt+FlBShsUpuXQhpu0J1BzFFdcnD228sg1Ipmtgg45B8EQoVA4+oU57KTHlTUKPfmYS9GVZlJNdOUpHL1IXv5+LK+86ucaGtSkxKBc7ZZM9NDsTL1XGclKezoEgCq4cZWi7IU+CiWbIAk060gEOkBrDro2f3HaiiaAVMYtrnMgnH04jm1jfSOQss2bQ7dp4spIKQq1cnvJ4aUMg9m5VilYicnyl5J6RI5VkDgsyn8Bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yeAffnq5S/jPQutuJ1q8BrnUHsemkX1EdrAbeg32d1M=; b=FOPXB1FxGkNS6O0UcNfK6vNB4PXwz87jFq7SC0axr7iom8BToNBR4ivDu6JZ62O16vHNnabnamEtIzOGz/ZiLhriyzMonLT0/yUphtRbOqy4Z35NhZLFTcj8r6qJVxOfQItJ1qs9ZqDM3rTRM3khtqBzGi5ei2CvybSunWau70U= Received: from DU2PR04CA0006.eurprd04.prod.outlook.com (2603:10a6:10:3b::11) by DBAPR08MB5751.eurprd08.prod.outlook.com (2603:10a6:10:1a0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:27 +0000 Received: from DU2PEPF00028D0D.eurprd03.prod.outlook.com (2603:10a6:10:3b:cafe::e5) by DU2PR04CA0006.outlook.office365.com (2603:10a6:10:3b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DU2PEPF00028D0D.mail.protection.outlook.com (10.167.242.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7741.18 via Frontend Transport; Wed, 10 Jul 2024 14:07:26 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:25 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:25 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 08/10] altivec: Adjust dot-product backend patterns Date: Wed, 10 Jul 2024 15:06:01 +0100 Message-ID: <20240710140602.1707875-9-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU2PEPF00028D0D:EE_|DBAPR08MB5751:EE_|AMS0EPF00000196:EE_|PA6PR08MB10420:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b164155-ad5e-426a-79fd-08dca0e9a67c x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: uLQbFY5fbx+ZioLNeq2TO0RNVuw2Ytx5D+11CmgjBPcHocW81vf0Afb1ggMkbNOk400qn9h2OPg5VApCslo7jyc+vyzvvosqwTQhoiUQ7cXqvVHY/BPVLQyRhZWXm6HAOA+oR55W0oETae27RosLZuIa/1X8YDHTigk3BGtqolFrKJ/JgKhFYNXWzAOp7LPoHlnuFNrzjcHd5X2+zfVLd9aXvLG1xUjXKDfhGzVCmHBVX5IUgaIpglFsPE2YO4tK3NsXj65Jp6g/VW4bOibtX4E/dFirl1kPKz2VzLA7XbkNIUB/ZbQV7pEftLrurOLIE8NmOujTXFZgdk6TWF81te8TPGTUSVHeIhewE9PiqMgt4M/0M8sm42Kyls5Nw6vDrxWoPaOlm2obz7QA6EoyxM8m/VyE0ooBwu7P3ZXRWgAAThS0uAKQXVDY6tKGR5Y4R+1fw1U6RtfSn8riy6LTX7CudZSr9HNxgDFZSeBRGxgGf4nzDHyr9lPtvgw/1qN7TLVx2JwLYSB5KbdWIfd5c9nI8hPIK+K7gpNlM/R9ppJxYB9Ssx8tGjPSVKJvqj4SaSvNt/XwCyNWhoUXqJHnyw1c7imT1JSyMjusIRbr/9wleaVD2bf3OKvE5Rk2ePnqqpz1s0YcvNMLFvcW4gCWVoZCyq1Epuxri7Y5I3HBnsdjMkO5m9KXcBnCLvQIUQ96L6FeywQwIjFDImwKCmC9ld94B5EXV4Odhi8PFCSczVHYMlZZYRl2JgDcsMay4gfmeRecrxmYnZ/7GYO7Vj1in2ZeTwSWww2KWYM25pI6SkbCUwwBFObOKSHo4+ldjBmH0UjwEKoDw0QmCr1v+LlG0LSZ13lKbtN+Hs1Kf7saXJXAPSGS9hJw0RwH/Hwx6wG7A2R3wsiat2wgB8Cck4EXeWteiQfujTOjNKz4fLQKHTtwROIT5HcK7TmQGDp4o43TiUfQxQAVLV0SXKyB7Z0hPoXROA5jwy2xSsbsEwUKQ5kEOmAuLKFegi4U/mw6r5BgopuFbzQfABGZswzVNOxtTKIST1nfiaHhUK2qEfJ+LeTw+6ssJvvweK2awZF82A0Nv0wQvYuIQWrd7+rZxSCMqB1vD/W/vibgN1DBownLHy3SSgYyLYY4NLobswZq0GV2mqfiMqS2Hy8jSmEGkFlaOSmCyFtmjeCYdKgMeh71spSylRYIbSqNI0xxwDBTvqyUBoMW0BuiS6gPPKXJkpSxG+VgFNtxyhoB6Nf18u+ujj42oRq+upODK04qwH3Aqq5v3Otrw8IFQps7NPVuR/EwCj2xZjgfxUna5sBO9tglgLVH9f7UdI6P41Xcu31u7489/KfW6CsA7is2zC5qtpA2lTdafWLMXZZARccbHcWDgkrRRMSqok0HGCyOP1UTI/Sl/pdOaqHFDEYmycmEIQWT+vPKRuE9B3e8J99RseMbJWLmKsGtuMcinkyxpDlqO36y X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5751 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d3408f5a-383a-4400-c0d3-08dca0e9a0dd X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700013|35042699022|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: BYU0xosz6VAK7bq2dVsDOATLvt7mtwY+junusgj4CPlW+E1XkeBppupdrxCKf8ywGuy2pU1uxaTtA1zT74aeirFTeTVJWJtJ3cjGlLvyz79dxSeaJfNhYkH9OcTsEsx4xopxQOr8fDDNK4WZtd8Md97MLgpuf2iHTCu8SPxFLzgeyK+xH7iUT4cRHgokyDXN74ypyNmJeeroE/tAtTIyCTBkXY7Ia79hVK5nCFuDUksozlc8aXithZTnXUHEZ+Pgktoh2dOeYFmfvMo2mPWBmTAJKPRulRFf+Cov+vJZOlEZ+NLKQlSJmNByRwfGlYcvJStgi+S6Y28JD2fbJPYa2JbNzemyCLVeHhCBkwQC7ctg0pCAVO4wKL5ZoxFV2Wz52bBfwEi09yoY4eINMANDApn3kOMiJUFA/LWev0Wn403EzJ4P4bUA5zThuZ2kTM5l9rnY3LqdNM/BME9/ise1J+yPPIpcTaoKErjKLil63/cFwSWwMrsKL4RldGWjPHqLDI5T0wXhEOezqErUELXoMBYSKtRI7RmAJGYyWhtHOHIRRIxk2RDCi5FyUBAIyBcEZL3W+SdtF5pf541ACisOKRzlxcHLumRUimeAVUhuygdCQxEmrXSXVmzSlJTsxX++ZTCaxnW8jEi+YE0SWmAzKpYyd8vhaT8TguhV2+rWK+2e1C4rO0Q9y1FohBaJh7o7RH3yrhSUWQyOINY/MPQu4edoBZC5I30dQj4xk37FVWLz4bNvL9vcVP/PyCIp+PRVnI1Oxp62qt5FwtLvbJYaOtRJEnKmbeqwMbmCu7Ff6MXxQ14Mtpze9MYaMg5QhHdlN0AUdfoLHwcAjTP3eRY7pPX9jY3i7xn2ZrAI9MvoVOvfICzdLarlqF5+r5IEcvJ46RasLTj591doip8FcCxWcVSXyHag1dw/w21eJ7n96UiKTSFDQOr8+tzdVm47Br6FpmdGkLC7eVbmyl3EbCG29oIZlave7MBZvakUBTDoBz+CLyUs8trJZETkJ/XwTzMEydrH5wb0ag0N+Q+JG+OtGe3K53fm8pVR2y44xSSk9dyo9GDiI/tgpgm3bMcTZFrE9BHud5naUMdPfXnZoZByGjZL6OIiJQkj/V30xtXuSYpAEqQC5ml65VTPkT7x4VLDMu+/OXYGSwU5x+yyB6hyw0kjI5cS0N6rofZnrYfU8p+AK2AuTdUSI63QrtoVBesPu0hY6xAFJb3pu8LwYDwV/vs9tVsoRQcWOVFONht1nQqlRKPgttKYSTgCw6Dz3ZBaCKd/ewqhDZCxhx+GPrr6V1FdWc2ChMYSURIb3OrSDvjHlRs5/e9QLrFuqc4Dlm1QyBLwEKl0JdbI4AuNeRNqZjYW3XsQvYLU6HaRUzrVbybWuf4TLn+jbeGuFfoAnNqs8GynZFC4Bquj2lJUpnAKTVymlaed5RUoOwIZpEhOz3nutF7PRveJs3hyRCATBJ6s X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(376014)(36860700013)(35042699022)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:36.0142 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0b164155-ad5e-426a-79fd-08dca0e9a67c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10420 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Following the migration of the dot_prod optab from a direct to a conversion-type optab, ensure all back-end patterns incorporate the second machine mode into pattern names. gcc/ChangeLog: * config/rs6000/altivec.md (udot_prod): Deleted. (udot_prodv4si): New. (sdot_prodv8hi): Deleted. (sdot_prodv4siv8hi): New. --- gcc/config/rs6000/altivec.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 5af9bf920a2..0682c8eb184 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -3699,7 +3699,7 @@ (define_expand "neg2" } }) -(define_expand "udot_prod" +(define_expand "udot_prodv4si" [(set (match_operand:V4SI 0 "register_operand" "=v") (plus:V4SI (match_operand:V4SI 3 "register_operand" "v") (unspec:V4SI [(match_operand:VIshort 1 "register_operand" "v") @@ -3711,7 +3711,7 @@ (define_expand "udot_prod" DONE; }) -(define_expand "sdot_prodv8hi" +(define_expand "sdot_prodv4siv8hi" [(set (match_operand:V4SI 0 "register_operand" "=v") (plus:V4SI (match_operand:V4SI 3 "register_operand" "v") (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v") From patchwork Wed Jul 10 14:06:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958853 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=SAu+I7bx; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=SAu+I7bx; 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 4WK08V1q2wz1yNy for ; Thu, 11 Jul 2024 00:08:58 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 26364383433F for ; Wed, 10 Jul 2024 14:08:56 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:2613::601]) by sourceware.org (Postfix) with ESMTPS id 84BF1386C582 for ; Wed, 10 Jul 2024 14:07:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 84BF1386C582 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 84BF1386C582 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2613::601 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620475; cv=pass; b=ap3zCAQNDeuHlh7YaqTxekjEeZLJzv8ZHJlHygUvLY7Gba+6lA9Vs+E9nT1TbYIiglCHYYiObhHVrdIRxAcrkZHwY2+r3A9VG6AjNx/v6Dp+smOgJaPiFrqBNuCQ3bJRxyRoSU5knkFBIf6JYQQvGmkGr2n+MrW/N2YOyOvZl58= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620475; c=relaxed/simple; bh=IE4DumYgXthFzt9gj1ZJugyRShkX9k94U6Vije0sFos=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=wEDeVUY/kqlbEjNiI6C70GSYi8LzCXBOQSoHNSWknHHDwGPQx9cQrH+l1a8qH6tgPRBUEYYNrq/e1Z3DTlBLkgUA621X5vQjWwAUHpAEuLFIzT3OXvoL/7LtC2BSB0o4S9yWSFk0mZSSlkK/OI7qZB5+fmLtAR8q53QOQsBa/ak= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=b8DJDYbogMDVx2MPrwgb1sTUJ9SWE9nqHemrYOuUczNZUjINhShMD6OTU0ilCmfV0SuOq2VS4DDZjd5HafMCmwV6wAUTc5dGTFRkxAAXrG/X9QFNbY3fIDJokO1WeBZJvwvg+0s/ZxtMfopWC0/vzxcagkBhv2ctH+wTd4oR5Poj0pk9OEnFqC7Q2KfMoXLfL5OgHOt18uD3FO/bVZ4Hv4WUeNJyqfp6Frp2kTVBnzHlEiPqC7XGKmDAhAwFtRNog1G5SFLIxqJgG9jbz67qSgOXzaAopr4xn7+XHpCPPc4tc13CnurGsP/Bz6K/c7uguXPQd6597G+jgWz04MqLTw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=SolXyLd/RQMqXaioW7nOvgAVWLjT0boZy4f+v9hz4Zk=; b=ddKAHVfmlFVmMrB88OV0iPtiTXScBUPHCmwjbGkJtFLfqHFNDUWbzQmT3a6zX6e3t6uqzc+n/Qa8mQ8TzMjCY2dR8NwMOxSLgHiaNExKFzMdJTq69OpHwWKbZptY6K9fMfHqlzWwPPfWUktOZKR5+4er40UQi1WC8hbp/vSCHmCrNpyvilEOH8gB61FJChUjLzQrnYheGcKEt1gvjgmJkjpXDwaQ2g952dTZV9e7wByAMuuseefzLfpXKtOc8j5IlT2TEA64DyX0rjT4a/lUUj+iJGuATxtWw64gYFg8wVXyPvTK1s2QalTaUQP3uyewgRUDG2PScCMs21phXIdEzg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SolXyLd/RQMqXaioW7nOvgAVWLjT0boZy4f+v9hz4Zk=; b=SAu+I7bxM3xgMcYZ4Y0kkgF8xa04Yj/ALhbNSGKmXP+f/Lmda7SxKDBSDiZATBsy3ZRS3OHnInZKQuN5Fx7O5BuxHREizIen3ox9dAAy5YqXI9G1DfkmeXIiYA0yO2JE72Dc6v6Xq3vHLjeG+k9256p/k+hxqiOt8woQQebyrkw= Received: from AS4P189CA0021.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5db::12) by DB9PR08MB7772.eurprd08.prod.outlook.com (2603:10a6:10:398::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 14:07:48 +0000 Received: from AM4PEPF00027A63.eurprd04.prod.outlook.com (2603:10a6:20b:5db:cafe::ce) by AS4P189CA0021.outlook.office365.com (2603:10a6:20b:5db::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM4PEPF00027A63.mail.protection.outlook.com (10.167.16.73) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:48 +0000 Received: ("Tessian outbound b2522d7cfa6f:v359"); Wed, 10 Jul 2024 14:07:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 06dfb116d3d556f4 X-CR-MTA-TID: 64aa7808 Received: from e45cc732a586.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9B5314FA-BBAA-4CF1-8DA6-34132BCB641E.1; Wed, 10 Jul 2024 14:07:42 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e45cc732a586.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eiQMD6mq0VKDTUgufmfJjmQGvqsTFsJg1aFv+FBhMFdECZ0zp1UhEtF/7RIIj0N3vB59Uds7SzKErOniN5VAImyqVa++PElTE2JX6GePpLvj9RVa8FMAzmO7mUb4hgCqzKFJfbYSKhDmpyrdt38sBSIYDYd7Lk+Xwni/bgokkMGe47xyBDYU2HJXrQy/sZqo6ZP3M8sd3F4CfsBIu4L5kTWMmltzgldpzny5xsKaLKXT2OuMit70RltDhkGKTXFjOyP1n+GlriIpAnyrLkmTrcSEEDC2kgeUGcebuZYo9M7qd2d6UPsCjRWv9FM1wB+G9b+mHCWKgJdheYZ9P5W1DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=SolXyLd/RQMqXaioW7nOvgAVWLjT0boZy4f+v9hz4Zk=; b=SWA7mwFgI+QTE//tBeCEh2f2nr6kJbZDmFWcG1JtiWafAsgbHNyb9LzNXgAVC4uM25ux10+rKVZb0uTQ3q2j9TKMtn7Hd/ARjcH01myn1XDci/c+oyWAuaVN0BQTIJCvYgDTroHsZ6RzOn9HgDK25KIVoQV3P9fAwnVVJLnk7G/py1L3TKIi8NZv5tqvEJ9AEJJBDLX3VFoVD3oYUjUzq9C3MKPA9mZSrak2UAZMIS8Jvg2TU+IsL1kfaaTrfR4CjnCjxyP+kGodA2dnvqejsXuot7a8k8Eu6kIeKfx2mXKZPT+go60Do2j0Q/sHZOtdsafCfHHZFdmxG5NXlmX67A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SolXyLd/RQMqXaioW7nOvgAVWLjT0boZy4f+v9hz4Zk=; b=SAu+I7bxM3xgMcYZ4Y0kkgF8xa04Yj/ALhbNSGKmXP+f/Lmda7SxKDBSDiZATBsy3ZRS3OHnInZKQuN5Fx7O5BuxHREizIen3ox9dAAy5YqXI9G1DfkmeXIiYA0yO2JE72Dc6v6Xq3vHLjeG+k9256p/k+hxqiOt8woQQebyrkw= Received: from AM7PR03CA0001.eurprd03.prod.outlook.com (2603:10a6:20b:130::11) by GVXPR08MB10573.eurprd08.prod.outlook.com (2603:10a6:150:14b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:40 +0000 Received: from AMS0EPF00000199.eurprd05.prod.outlook.com (2603:10a6:20b:130:cafe::38) by AM7PR03CA0001.outlook.office365.com (2603:10a6:20b:130::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 14:07:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF00000199.mail.protection.outlook.com (10.167.16.245) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:39 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:26 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:26 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:25 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 09/10] c6x: Adjust dot-product backend patterns Date: Wed, 10 Jul 2024 15:06:02 +0100 Message-ID: <20240710140602.1707875-10-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF00000199:EE_|GVXPR08MB10573:EE_|AM4PEPF00027A63:EE_|DB9PR08MB7772:EE_ X-MS-Office365-Filtering-Correlation-Id: 9307aff9-6c4c-4a32-6160-08dca0e9add7 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info-Original: ZlACPxLjQgp0OtSZYqAZlnn03Hs2f+IaKb7gxGPXuXDQZIMqpMo0DZ2dzKJprXZgeSXEm82F+i+j2DbmVmy9AUt1mUfARUVm6f9JA5UoKc9msEOpOSJQ46l7UofgfGpd0UPoy91KTboiZfJ2ZkTHqTUKdlHAgLgr0dL/oHLgRNoPyJpVG2id65rqAav7oG4wBBN+BYbpghMgUOrHIkabT5FCZr3IYxCy2ObqMgGFVoPfU464ZCBXTcLMSh2jnIZXdbgb995Hw+6zZuLNm8QZunlzd4yZ/vp09kCZ+foyRM5tKBZ7qqYfwnQgSTpwkE2cYVuMgxM+eeP5SEHMK0+CYwR2wPiTHQ0qrVYvok/WsUQI/ZbVEcsjYrxkeETrm2TWJNH04trn0aLxD0BP0mJgy65j1m/GwZQIU5ebrmFP3XDE6zuaL+5LuphXVR0/GX315YuiTyRg+QYd9cH6Q1eDllWhlFkAXBUupipr/A/I119cDOlKIw/Qo88uVNve/Bj2TIPPbDpPsrJGsJoe3+VptL+0LtWU2Sx5WXU00uEcyj0wBa7p9Ij0fIU9bFRqJ7/43eb2+VqHZgQPPTaQQoM4LexMIwSvSPIUB0wsuoprVJyRYLqz3MIsxNbLi2ImBP0rKUXvCpMpa3wnkP1411cm/sIAWvhnTobJ06K3ByofXG2BW6UGWLZYbGMZgvm9MCTffTGwURxLdtomAn72kX6B5Vvs8o4oUoemLyJ6BJ4P693IFZY433jUWZrhnk43BJpGgJh49+cvqKLnM/e8vOun8YjzwWapLUBUPLTu3xqIzdZgZePtSdy7O5LM8ecmwkAR57g0Y0qfj1x2sGuBUDeUHUlbi+Vjn085hvVIcTjP/ij6NYdzhzLeXitESnfRuVD1fHrq26cjvwZMcFEpUXxNTlwl7fzwbvWYrlmRHzFChyB3JYiCi+hNHx+B4YjxeubemI9UVOBySKgHdypxfdnnXZhWxwPNE0fyBY990AuilA4ayothj/+lpsNMArU2Mt+6NCJ1AwtJvCUGoson+AfH6NE0MDSgJIEsNFbQFp/3L82GBHmAJTj11u+YHwTJcz3QNU8wHre4muVdUMLeVhhYm4LJrCdNfrw01PXXywsKTUgNMKAgcoXmMk/u5403Sql6Bopl1dk7nBHCGA0kRaiVWJIf1W1QHFbDVVjh0aOcTE6+LdyCqZSF8VftG/x3BnNuaCYj+EMQ71IU38o5S5L6TUUr5kNdlBMDTc6xPGXXS+HOnY4s9iZqd0qQnizpN/GJxRjlzEJa7cOngo0pLdZ1gLsFkrTkRbwRbIbLmpvZS22GPqkPgoe0fGwkxWsePr/xzm4nnEfgbSadoMK6WXZEHnpRt5oPEhunbFr1SO8MOVBZaf+W3GJ+GZDzlZN4K4wO6rvCPipVk+WYnWh9Dq5J0rCeQn+L92gIFF5BOOYEpGoNWzB37i4WNziJIFVG/AcC X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10573 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A63.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1ccebee3-8a54-4e19-822b-08dca0e9a890 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|35042699022|82310400026; X-Microsoft-Antispam-Message-Info: yuVS6AGE9Y/s0eDxd5t9H+wknMlbu+Nm4/SKfO5gLCiLPCakv1RZlE32g6IqYx9DUDOm461dVS9S6L2v4DcOc5cwx3V15dP/B16Lf5k5u6JArtCgyqxcfGurc9PKY0TPRNZBeyUgqKrbmrTKosubsXVIH7Ia9K2NMDWI+RTXKua8HiQal/y9cPDYai3763IvGamqXuA6jB3DLYYwXx5BJrbtJtNbDrK8pjM30MtIM8CcmAkO5fRc1ShuHeHFqUUekYw6SkG1umhgKRSsLU7PXHfBsFyv0W+PKVz1eIUe/68PYYgwHA368XmtYPax0eN92Mjsl7CXMFHT6J7RloFIZzrGc0I8q/ecJHyevUCi/FBwtrFyS3Jj5tWLdPC1V1IUT29RoESfZIVtMHsCNhTHTCgg5azaLmT8gMkJbJfHsb7bDsqj/HF9wBuI4PJTeyG22mgF4SgbwnZwvcg1JaypfHZfsrLC4vx+LzfKdrzaVapdjihEtJ2fpGwus6vIyOM/PHVVfayYSwsqfBp4WX+c98r1QVm4vhzj0gtw/41PtzE1eyeZ7nCqL+1VPTYlOtLLcYsV842kAfb1dXbISFAlKP+Q5ClKHky/7n7/HtUABqP70EQSU5vNlZCv7TRRhIBNWaSdyCRt9WpLIhNA6uUoM8YrCFRLlmhZ0yZgLhn5L9MY9RfMYeWtm9J5BPlQevG/IbjifC+Bcsza1DDoYu8EY2Lx+xY40lOlSNNY7FTfZVIDuyLtp7OaA3ufH/9OqPwvyNcQMxCERJl9yruave5ZG/77vHN4RDpo2NOc4b1CNYx/f3iS8uPL3hZDaxCkozyDBtCX5Y5zHtRmFwN5JFuDT/z1DhV80tjGhAW3dvyxcEmgdoEDrIUDDCtovIkDgnzwAh3oReHey6A0lV2JZYdqccG8hRC+PIZOzZaXmv4hYvC/KvtutIYpRMbhI+nxKALq3VQw6dBhGG42/+kmBIX2BVlDM0w0JZgOJ2CfffaAZFez/fe4iZozxzPJfM04ppnzHqlwlNDK09BgKMgnhTw3DYjNoros352R6nBqArgdBO2KtGq/dmsaLzHm/AyjPuQsNMi0+rIbNlg4ZYeY4X1BglnPjOLGhA8XiZtfPviVAS6CmAPpy4seqn1Ruh3k0zM2CwQxMmWQwHmroUiypF4Wj+KOlPP8TjPe1ujd78Slo05oxT3mKNpqCHIi6Hb/CvuMp0/tWHpz+ThjO30e552XkatugLVjTQIGiJaUDnkGiMJeZiV4ClQJ2Aq0wama/FG9CO7NMEJ01S8IMOY49fbnC1Hta0Z+uq9jSDKQTDoyk26a3JGvjV9P0BfgsXYdIOHsgBsf0lP8J5DcYC42hdcNbwtojSeV16j4Q7udPpk3WeghJsQdtMsOnDszdb2Gq6KTpsU4i3ax+9KBluHvrwhPKdT/zFJBqvkl2OijF8Xo8oRa3CBeAT2TT0zaO9tAU91q X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(35042699022)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:48.3696 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9307aff9-6c4c-4a32-6160-08dca0e9add7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00027A63.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7772 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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 Following the migration of the dot_prod optab from a direct to a conversion-type optab, ensure all back-end patterns incorporate the second machine mode into pattern names. gcc/ChangeLog: * config/c6x/c6x.md (sdot_prodv2hi): Deleted. (sdot_prodsiv2hi): New. --- gcc/config/c6x/c6x.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/c6x/c6x.md b/gcc/config/c6x/c6x.md index 5964dd69d0d..ea9ffe8b4e1 100644 --- a/gcc/config/c6x/c6x.md +++ b/gcc/config/c6x/c6x.md @@ -3082,7 +3082,7 @@ (define_insn "v2hi3" ;; Widening vector multiply and dot product. ;; See c6x-mult.md.in for the define_insn patterns -(define_expand "sdot_prodv2hi" +(define_expand "sdot_prodsiv2hi" [(match_operand:SI 0 "register_operand" "") (match_operand:V2HI 1 "register_operand" "") (match_operand:V2HI 2 "register_operand" "") From patchwork Wed Jul 10 14:06:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 1958851 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=M94fMEMh; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=M94fMEMh; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4WK0896KlYz1yNy for ; Thu, 11 Jul 2024 00:08:41 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 23C3B3864C65 for ; Wed, 10 Jul 2024 14:08:40 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20601.outbound.protection.outlook.com [IPv6:2a01:111:f403:2613::601]) by sourceware.org (Postfix) with ESMTPS id EE965384A4B1 for ; Wed, 10 Jul 2024 14:07:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE965384A4B1 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EE965384A4B1 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2613::601 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; cv=pass; b=pu/8055KUOcEp/qGKYnylpY4UbZG1F589or1UpbW+T86EEbsINepdUiz2U2XMm3JBOtNmlHoynelccgA1a2DAhTae8jaNumOoI9TFEzBACPelXnQw5vpeFUnoA3kmqmFv++crMkb87yUQm+JOmINI/ngp64MlgF1ZtKKSxG5xUg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720620462; c=relaxed/simple; bh=iM4HSzzma5dFms1ABxvOZsCEtRzJZZsSpksh/l69zuc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=q5sUC+X1X317wNqAP0TwEtIWdiw6sPajH2WoMfmD3UtZYYN7PQgNjiMb1gpqJZ0Oay4gfB8YylderxOBmTCWVvh9gF6XsvwHPpY0bM1kwO5Hb8yBBBiAnmECyvEbq01SZ9L9ppJRlT2SPxO4gC5R1y7XDLL5l1K33XBa+/gChkM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=TAolxLAkVxtUGdRaG5YY/lOoAaeEJ2H7Oep5ZoDqoiSS0B5Dk+BOp02r2h/dE/iOphiNzL8oq49b67RL21OlMAoGaxmHrQu7nUN9oqJZn9KF1/ClilNmsADa58Jn4p778KOA2oW2ZWpeRc3N220oWjqLciGmjXWZ7YQf3Y49zG2H2hmPU+SnpjsEsjArdN/O2sNqTiQvQbbXXchhboqYki22ZxdvRTvb9mDgwz9bxd7gnSm1yxjMb5QqGJrX2hvQAdg9XjIIhYL6rOfDsbHUj0ETQlJvC/8EP9kb0k3HTuGrzBkJ8tstSl01CiSMA2GYJwgtDUh3RMqoShwMDht3Kw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/KDsqBM/abQHeSwYIVkRPODFmzfAUtPf2WbEHGJ9kwA=; b=G8AWTyz3m0W8ckndOMtyW4l9wA63NlhnRQQVPPjhHcM+ICV5YU5pVeqm8SPZ0ZDaZ1xdRQPGEIFoZBVKDW7d4TtmcDc14xkF25AE48Ww8ZbzcgKLXlNz5EHqqIa6P3slloKzWKZ2J17AVF8Zz2LrYq1V4dN09ExGsgN+HrYa6LuHX9gSVdk5nIKgYXx46axt54/Yai5GxpKOaTJF0dhq9TyFc1pRDZswEZhYLAhQ2+zRw2qnGvZ/lL1kXYttdrk+YssiHThjkAZSDciaQg//wbTfmVAcdfwDSHlZsthv2PPlZdim4kG3BiKNTMWKAvnC9uiv5uSIpMgffFmt+uvlIQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/KDsqBM/abQHeSwYIVkRPODFmzfAUtPf2WbEHGJ9kwA=; b=M94fMEMhL77vB0qJw4wxb3igTtuxPpTmX3nKZ4w6mKW+Wujr0S6zAEsFuFQ8JZwpkpIXCFSTZ0aah0uNKpTdniGEK1e/i081mWe+lhT6sBx+Fdpenl6kgebdjtdA7Eki5YyPMmXnTXY92u/nHz/E1ibrPgYDxAxUC1SRkBQ3WbE= Received: from AM9P195CA0006.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::11) by DU0PR08MB7543.eurprd08.prod.outlook.com (2603:10a6:10:314::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20; Wed, 10 Jul 2024 14:07:37 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:20b:21f:cafe::7) by AM9P195CA0006.outlook.office365.com (2603:10a6:20b:21f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 14:07:36 +0000 Received: ("Tessian outbound 1bd2b4f45798:v359"); Wed, 10 Jul 2024 14:07:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8f5f0214be2ebb68 X-CR-MTA-TID: 64aa7808 Received: from 17b0620bc596.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2DC135AB-4DE8-455F-B362-B513E2EAB7FE.1; Wed, 10 Jul 2024 14:07:30 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 17b0620bc596.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jul 2024 14:07:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=amr0dPCv7Z0N3p7NXYGUIS6r9DxRSqSKSe8Peha/MY6AYQI64bJPX09WQy9A2vSev76zSqzmWBK3jzUB3+GtrSBoBW4W4uZRx+2Wc246maYoBkY3rG1+ouJdQtXLTq0rfWwunP8PeNbzC0PabF355EPo7OrSp1UBefhJ/7LwteEu0SRe1xUwsB84ZSXRz/0XFPzb1p+HqgEH77BCtdxMSROLaOD4ZmO7PSXP54UdErO+LPz5aScHsxm1o1b/1xx/jjFJe5VWCwjEuapWxyVSqC1/hCzMJ5IMPXNKGSeBuPnzATqvNN60Hbk9pxKwpLLCKJJGXnBaHzZCuMr4SMHP2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/KDsqBM/abQHeSwYIVkRPODFmzfAUtPf2WbEHGJ9kwA=; b=OUOLFoOJe8FUwy/JpnIeazIBros6w4InZ68FarPDcDbq2GpnyCGP2tfAwGJOGPBeL2kEw0L2EHyHWlS2+jS/zCtX0h6JSiVW1DnRZBdwciCSe2tLZRsICq3Y7pjhl1P5NvritybGbZXn/s4tGPnO9D8CVPj/wIvYovPLaIW54sj/s//DQXYR2B4weDglfmsCg0K36UTKRr3ueVBdCqGNz58QofIvIJLib3HeBbSgyu/v7wXYGKE0THFp41WGiAuo6aw3e9yq14svy8/lL/6qnHbw7fL7KFbRHBoEN4Pe/JhrsU2+V0F2SPsJdd0/DlqDhk3BQ9Qd0yRH0SUi2xdKmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/KDsqBM/abQHeSwYIVkRPODFmzfAUtPf2WbEHGJ9kwA=; b=M94fMEMhL77vB0qJw4wxb3igTtuxPpTmX3nKZ4w6mKW+Wujr0S6zAEsFuFQ8JZwpkpIXCFSTZ0aah0uNKpTdniGEK1e/i081mWe+lhT6sBx+Fdpenl6kgebdjtdA7Eki5YyPMmXnTXY92u/nHz/E1ibrPgYDxAxUC1SRkBQ3WbE= Received: from DU2PR04CA0030.eurprd04.prod.outlook.com (2603:10a6:10:3b::35) by DU5PR08MB10701.eurprd08.prod.outlook.com (2603:10a6:10:517::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 14:07:27 +0000 Received: from DU2PEPF00028D0D.eurprd03.prod.outlook.com (2603:10a6:10:3b:cafe::3b) by DU2PR04CA0030.outlook.office365.com (2603:10a6:10:3b::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by DU2PEPF00028D0D.mail.protection.outlook.com (10.167.242.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7741.18 via Frontend Transport; Wed, 10 Jul 2024 14:07:27 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Jul 2024 14:07:26 +0000 Received: from e133397.arm.com (10.57.7.170) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Wed, 10 Jul 2024 14:07:26 +0000 From: Victor Do Nascimento To: CC: , , "Victor Do Nascimento" Subject: [PATCH 10/10] autovectorizer: Test autovectorization of different dot-prod modes. Date: Wed, 10 Jul 2024 15:06:03 +0100 Message-ID: <20240710140602.1707875-11-victor.donascimento@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240710140602.1707875-1-victor.donascimento@arm.com> References: <20240710140602.1707875-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU2PEPF00028D0D:EE_|DU5PR08MB10701:EE_|AMS0EPF00000196:EE_|DU0PR08MB7543:EE_ X-MS-Office365-Filtering-Correlation-Id: b872e649-2e41-409d-fdd5-08dca0e9a701 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info-Original: 0/iYB7nQ8l2GZVSUhU+ujjHeiWJeYcES2q9UhuXZ2RfgpeAbJD/SEgJ1q9EmapTnUNFMAfpC0saKYJTpvzVkMN6A8JZSFMrzEqQAM96a8YjiM0tDNQdHCtUuZmJOTaYSgR+2p+46eVDEZNumMgEZclTW7F1ny1B/QeFOYsdXm1vJDaXmtd0roLM3VhRRrBKBLSqbPCU32KsMAe82kpVnGIMHrPZhaoA5HGDy1srl/DAZkbB6K7jIQpbtYZg8YGBsQ6I7gDyRZCLHwVnLAGx1pEQchDh+B6+7AH/a1c4CEuUR9YU01NtQsgPqRP5/m2HFAoD+V2OVuwlPxKoQFnZEod9Wk6opJPJaeiVefFRAqHpixQ2RToG112AeT0o5iXH1wSD0sUg+m84t+rAkyj9pyPWOyVGqgLUM7QkpWNbefSIXtTGbPq29XXdmKLTwHcQJvoyXX96HL/HANAxS5W6HDHG6xE5Qicr6x7yuQUeNVIsTZs9XotVNszBqzm/Zd9n+b9fawSmtIYTWOxLqVg1MykNPBt45H+WtrtJrA/xp0idh5nHjS0uawMvvovbRaStiFB33RYp7hCSbWAWuP+UHa8pqu9WJwWX8LmC+ndJ3TWnJ4028L3LfdnQjgCuIkydLMb0SV1uv8rwfzj5Zi4r3PSIpixCc+qEWPEALFrx0xpaGtqZdEWHWMGzNI6KKaORab1Mfzzjs53URoKJx8I8mX/ct7vrUHYVbHUP5HlnDw964jmLWpnEzjIW0Ek12icA/xAuB8Q+iTj9cP8oSdjCpFBSNWh1xXjCgWpf3npah7I1pgFb5NDdEO4/p8wLDHHetUNTwrUvhcplcDQaIdievCwlysC+er7P/RWZ33W49esVF1fK8khq35OOfR5Q0TJGbibUfUfw8xKDgFTXGhTrViKbvlqBfJkpt0miJJNOG8i4eCUKihv0gMfagkacIIP96iutKZaYVbK3yQmcRIwRsRUV3M9gVuCOwHM9hcMJ0dkHqQuVvC1LF49dxliTbzv6Zm1Ze/llyba268jdfplJ54HtV4nvqlMvrHZ4bW6VnzHHzCDzn5owF3rX80JlsdTiI8HrX13AjFvfGMYQqDn72OzQsE7VaC9XIW2tSogGW5i80BlWU2jZx4VCG0ihTliKLus/JWzU+5iU4/xGGPSXtOOfOeVUlSYHV5zzS4W/sPLNizV8d0M8PJfwsWjVZicwPhN9a93iYcjQSLArvScrArczj7O2YHqCIe0WCYYRjZl2fR+87HQe8UkmZGlPqbYGSpACM2vREeLHydvgLmh+hx1MYCsk5qAD7EYdHGNpBarM0vT9uuqybfrW6kqtpSK3Co1jPW2OX9kX9fCHqUIje10CneNpv9e6TP/V6rwAUReqQjPHo0DIxNMtfiOVS6nOQsavXDJnkzCLBt/5ZS/Q+YA== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10701 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fbd538d0-e161-4564-06bc-08dca0e9a1a6 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024|35042699022; X-Microsoft-Antispam-Message-Info: c0Umo8J/sx/COfGvfzUfe2O/48dmhnm21e4z/id8yMtlc6QBAFPGC9onOemVhdbhPDNalWts0V9Hpzqmv6pejZNNgY0G2//oXOib9fnHR48+8v7xvmMRGRnBeS2A26GFG8dbVW7oEtsSho37HXWpgagcUOeh0aIagHQ33ezp/JwxvZVlVFVU9RokFiI/Wo2iFWkZbsRlURceKUwxRx+bRLP5RxHw7h8uA8N8EXjoRH9tTIWxgBCGx8a3y/KDNYQlQdhSU3xSac3wsfJOVEtddpxdmBanmTVTKIozMmCfGNn0dWIRuenIQfX3ijysVDoLqKlLY6ZJJ4gjbgRymUzXSPNy2yOVz04763LTZbWUpqIkLxliQSe7Rr4mWL7gW0wcNTqcVfgKrfCNaykd6gOD1yzc9Wh2rjxZJntbzPIMb/hSwSq9UGVyfNV56vc+0kb5bYytWL5OnX0XxCG4fVr2hnKxugYZrvLJ2CJ067r2RUBNodPZo9ZuRdycGLNORchG/+BaHvRs2dz5WdU9v4HlqBseUKsoGk/vex/JptzJS4RUAMihlyuxiS2zcaRj/+yrQZF7YAHyJgRIm0ppzH7/aDfBm6zXFTszWRi38enmTZNnMRhMn97RUXlbnZtfAIE0CZjVrHlGnNXghNQE3VLO00HDhgQ/3pQFcJ5lH2kxK4hezmmils9sa+O6AwJNHAIWLQmQQnuYjO2qH8HgVBgw5Fv9zg25J6XH4JQe4yYcwPDNfWpIqcci2ab3jOYYNh/1pncCxlAc0n8/7lILQ+C+s5Kvg3EscMkPPkX1Shl4w4o4YCicOHS21/BJ261fjEYkKhZ+jQT2YZuK0IyZs+911lINU4dTTZKe0+bCv+xwIqLDX7h3A0u2gHMNl9P4nNkBojlaX5kMidyRy3gUw77A9jV/ovbVp2BMLQHgodvt/Kkx6aQhcj/O+dLIlrBGRtfUT2lvQ67bjIDGojlGfROxU1VK9JRqRwPq0I+T1TFj+dL6rYxPyPsQAPIJpTkchzyNPihU1CRfLzUt6fCc1jBUM50TUzkuQdIkm9mdBVAUcjzvPIOjPjH2S82zirLXENpKfU8yqs29epQ+dU5ygU9qNDop15CInTbf6QCfuUqO0CZd0xYL/Dd62l7ppEApP3D1aIW5Q8FHDLKebS4BXd/vQmBg7lTGXESKc10qr64K5EvvyKG6KMuJSZqpBfBv/4XU/SHC4a6Ht5S6VfDpy9/uHZO5/rh6fciXpkDwB2rb6S6MirKJmOVOiWxBxLgdlmcDDo5YXn2ZWH8ee4C5FhfalsndFLrudjO+uq5dNdFXDBlGXY7gQIW3Ct55cvG5Epul2MkUziLPhVIBg+HtR25RSUikO9VuqhJFOzZ5iJ/CH4Neurr25m++0q9xBL+eU9z/p0laGEOe1YuNRelhrxj41w== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 14:07:36.8892 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b872e649-2e41-409d-fdd5-08dca0e9a701 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7543 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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: Victor Do Nascimento Given the novel treatment of the dot product optab as a conversion we are now able to target, for a given architecture, different relationships between output modes and input modes. This is made clearer by way of example. Previously, on AArch64, the following loop was vectorizable: uint32_t udot4(int n, uint8_t* data) { uint32_t sum = 0; for (int i=0; i + +uint32_t udot4(int n, uint8_t* data) { + uint32_t sum = 0; + for (int i=0; i