From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2054.outbound.protection.outlook.com [40.107.14.54]) by sourceware.org (Postfix) with ESMTPS id AF1243841888 for ; Mon, 13 May 2024 09:11:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AF1243841888 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 AF1243841888 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.14.54 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715591472; cv=pass; b=OPPUkZm5fiPDKTIiJUlOvhOTTHIBMKExXGYqpgViBXQJnN38u4hM5093+g38b8j5F2mHbw+CE/fDDUTZNzPmhBHl8cWTBuN//RrSzSgbo3Hydrl9ND2z6hv8BwIod3WkUmvsls1AhTgxcQulVlrDmkgbO/XMOoLldTSnLENMQCY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715591472; c=relaxed/simple; bh=A2Vq089FahBy7U54Tp3T07wA6/wRAURUk3lKLiedw9U=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=u9D6bQeXfkMHcV4PHLPSEYvJ4NW6RbzGafEgeYE4lCyw3a4oGdNEx4lW0IcVFjfPn68bKoGOrfMkdRz8SqAwD5KEIOd1o429FHXzDIuUoamVrBdiwYoDaNlR5SnvqUHC6CBq7/yiWZcdEBfhDdf0igQipIhEmugSveiitJKmRRE= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=TSqX2YRMSD2jui93nIIZxoFKyi8dw32/bIfDgK4Ip/nNrmE7k2shXtfO+QBMYpy/XTK8D7mw50nRfXdnEFxnUyeTtRW8rPGDMgo72WNmXEqLSyD60N7yfmQEwyJ72KoGusqjOFTOb0lIB/UzAq180RgFJSBO81VbPUoIqWwRCnT907Ce7cstzlhHk9wlgRSw7tf/OMyZUvCjXq5Aki8r9769ik8QswJo6HzNkyMse+S/iNpmF5B1BcjvJ8kyFTwaCVUhlJeDwI+WyQhae6rJGyZkj3lXxPnYgaPpzeomIDIx4+0HxsjdraTE2JZ2GWpbSnEWuV0ESPxnz8Yia7t34w== 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=zXs5BBTSOziSf2lkLuKRQdCA40cgxnwW6AD1bSvkECE=; b=T5/G8ZhMTh9mrXZCNET6wf/jL+v5LxWqA16viU6ZJ4UT3i7e3mJZNh18QkGh7HBT3y6G0+Vg/cAZ/okHXvnCymK+cFcHT8yi5qYmqDx9CAUkwJps+IuWGpvBUBNsUfjl+6wSDWGNcZvswbqi1vn9VyY/INc41drfzrJZ2rmjHnJjWl9qTIZQpm7m4WgEWoyUVNT+8x4TfhTYGTRBd6D2Lgjs7EoSLHR4Ph+UjXIUhLywZVDBmHFaOcwL4JUC/1M5dexGz2w4YXzcQkLOCZNQktdi5xHR/oVH/jKWS+D+7fxuUDIDR5tc3bbrsUDPbGjuAkNQFlTjvjuCzR9Jm63Z9A== 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] dkim=[1,1,header.d=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=zXs5BBTSOziSf2lkLuKRQdCA40cgxnwW6AD1bSvkECE=; b=pnfHysbYZj6dntXxUoBr+rBs6FvwRbAPfFMkxLWKkkscroMNAbOAXHlAPXaGhI94R7xBcJIDLsRuuLc8h3u0qGTAY2WTdenYlLBYifB2xtpuKOO0f+tP/+L5ljZVOHj9mnA4K1ALwobzff48IzHeTyG4+7ap1c81D/gwDoK7CUM= Received: from AS9PR04CA0125.eurprd04.prod.outlook.com (2603:10a6:20b:531::16) by DB4PR08MB9335.eurprd08.prod.outlook.com (2603:10a6:10:3f4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Mon, 13 May 2024 09:11:04 +0000 Received: from AMS0EPF000001A4.eurprd05.prod.outlook.com (2603:10a6:20b:531:cafe::46) by AS9PR04CA0125.outlook.office365.com (2603:10a6:20b:531::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55 via Frontend Transport; Mon, 13 May 2024 09:11:04 +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 AMS0EPF000001A4.mail.protection.outlook.com (10.167.16.229) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7587.21 via Frontend Transport; Mon, 13 May 2024 09:11:03 +0000 Received: ("Tessian outbound b7675f20d34d:v315"); Mon, 13 May 2024 09:11:03 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 22043c05424d8e8c X-CR-MTA-TID: 64aa7808 Received: from 08a9e65f5668.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E2A89DBF-FDDC-40F5-8B3A-E20AE5666032.1; Mon, 13 May 2024 09:10:57 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 08a9e65f5668.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 13 May 2024 09:10:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OaIAlA8n+xhVJimr8aRRNZlQbZ6mtg+Cl0t+fc5IKEBJQmL/7aDYc3tFMTfJJwfIE5HKlpinCwprO+wH+MP6GGJQRnNBv1SYAl42MZsma9My+xwBPQjsLUoeDQJdYP2wrSNAXyeukqQ38jYyWN/h5BRF8xZxAQ5PGlbTa1qdw69exLYuakG+wmAxKEzPK6WRMqQFJ/QCFsUbIi7rDa8qlP21jXaw3RX95GWiTiVzTecA/1Kgyqv7sPjYEONdN9FwG1mjoxbQePbAawo8uEnL4mVySr6KPuGaj6Uzb9nXElAx040nUE/wGXiEEf1FdJoNOLKgGYn/OHDURwZ6/b+iaw== 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=zXs5BBTSOziSf2lkLuKRQdCA40cgxnwW6AD1bSvkECE=; b=XNKwIADRGT8ZQUpj0QNbnM3J9WtWnvUpzHSqudFBkLvQySt88/kXx0hGdYzNLu+eKHQFjE86U+Oj6iwkt21BNytkXxZp0h49N4ApcmAeijN0dkdeYkZ5a5WizLlRWcEmrVAWlmHLDH+8UnPw5GoXNRUveYYBSu7gMIUxUfWldfGVBS7kolcUWef+63QIiBGYCTD6SA2ah7mxoLj/oDuMxLLg3R9uTuR6snYNTmBX5IE4mERHrIs3hegE7GpqMK5PQEahoZQ71ncbhRIjX50r1hYBqJrPXr/Kk6HFvnJx5I0GooP5QcvZnY/6z2jsiuMey/RKRVZYeFI71R1xq8cARg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none 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=zXs5BBTSOziSf2lkLuKRQdCA40cgxnwW6AD1bSvkECE=; b=pnfHysbYZj6dntXxUoBr+rBs6FvwRbAPfFMkxLWKkkscroMNAbOAXHlAPXaGhI94R7xBcJIDLsRuuLc8h3u0qGTAY2WTdenYlLBYifB2xtpuKOO0f+tP/+L5ljZVOHj9mnA4K1ALwobzff48IzHeTyG4+7ap1c81D/gwDoK7CUM= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by GV1PR08MB11179.eurprd08.prod.outlook.com (2603:10a6:150:1ed::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Mon, 13 May 2024 09:10:51 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::a0e:800c:c8b2:5ff0]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::a0e:800c:c8b2:5ff0%4]) with mapi id 15.20.7544.052; Mon, 13 May 2024 09:10:51 +0000 From: Tamar Christina To: "pan2.li@intel.com" , "gcc-patches@gcc.gnu.org" CC: "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "richard.guenther@gmail.com" , "hongtao.liu@intel.com" Subject: RE: [PATCH v4 2/3] VECT: Support new IFN SAT_ADD for unsigned vector int Thread-Topic: [PATCH v4 2/3] VECT: Support new IFN SAT_ADD for unsigned vector int Thread-Index: AQHan8SkieVZ79uU1US14UQvMxJnXrGU6xxg Date: Mon, 13 May 2024 09:10:51 +0000 Message-ID: References: <20240406120755.2692291-1-pan2.li@intel.com> <20240506144927.726990-1-pan2.li@intel.com> In-Reply-To: <20240506144927.726990-1-pan2.li@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: VI1PR08MB5325:EE_|GV1PR08MB11179:EE_|AMS0EPF000001A4:EE_|DB4PR08MB9335:EE_ X-MS-Office365-Filtering-Correlation-Id: f9bb5045-bf12-49f4-18e3-08dc732c9da8 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230031|376005|366007|1800799015|38070700009; X-Microsoft-Antispam-Message-Info-Original: =?us-ascii?Q?VXY1k4IcG0pWe9bLIf5/uUYC8ePaPuw7RGhQylQORqq1xwvxbcmc0mOED4qs?= =?us-ascii?Q?1tsoGZCm1tIB3W8Gy5GW09s/zmGW7N8mDDX9c1pILvmTwlaeTASWEtKSGfum?= =?us-ascii?Q?kuzk3nlm5x/6Cv/j6uR6n6t7MS6qX4SaL/773+zk4JK6x9cgYKG2mgphKm72?= =?us-ascii?Q?oyhy8EdUZggCTsBfDbHqIaPbCa5EE+NNoXE84btQS953hd9pJbr6Xmojah9x?= =?us-ascii?Q?kQbEkdfsvjfh305+EfuWbot+1GuxVtR519HQm/6JChsYGtvmYdIt90IHLa5/?= =?us-ascii?Q?y13cF2Fq3l4rBRhBSEpIwJdGL+YIJA99DBfdAXMGPFdxF64A/ufkrodHQ9K5?= =?us-ascii?Q?xJROAMxTfOch31MFzR605v21H5lIBpNSs/XQzslOoVG9uYFfFsIj3SaPEk+p?= =?us-ascii?Q?uq+CdU5JvLyZVQU5tJyVGqQaMiRte/0n4FK9/N32sR/SBzvxAVMhlKY4r8yF?= =?us-ascii?Q?x3eNCTn9d4R+0NNzyPMrCj75ErTL/aj1jpVMbQ0zQtoioWd1xTFlErRt1JxJ?= =?us-ascii?Q?6TLfuZOSYOzw9iUiTaCyYiTsGQ5xNdf9mt/JVwCFFaEgDV1iOwyglQBIe3a0?= =?us-ascii?Q?FK+Ccu8J0SCPsR7VfriqvRIf/W84kWKQf9Mq9B7eE80UwzEqmboPOIBMCeNJ?= =?us-ascii?Q?IkC9v+Whlj/PdVcf8uLMaXVAQ0cALXEQYeTKL1EYa2JLi2wqB1Y5nfAUkHIC?= =?us-ascii?Q?1zbWW6izXKgQfM8XUdpJK0yaomEbYqzZ0WjFT3OXfX4R0WBdU4LnU22+3O58?= =?us-ascii?Q?aSkaVGSWX178lvrwmRhanfmgD6Z7joXZgmcU+EiYubbyLNKuUiPnBiEPT0W1?= =?us-ascii?Q?UQial09pTL1GYj6YlvB7Sw1EoKtkhNesjgjYp8e/42tUVTnV+yYj40WtnjI+?= =?us-ascii?Q?FWqJyekqyScgrUwKgK1lX6uCNkdQqbK0ygO0fFcwhzs27hIFLYEt9+DkOe6B?= =?us-ascii?Q?sLD4vROQo6WA8maVUy4HQ4gCzurUEVRm/ZvE6ZT+jccZ7YHfEC4Wycd/IXuV?= =?us-ascii?Q?QL5wjIzpUbtorWeHvoyEDkjnarN3gCKKJX0RXh9om2ib9oG+kq9aO62pLDH0?= =?us-ascii?Q?pe2X+F3S/RlLXhoZ39nBXL2WOzWqJebFF+Q3CFjH9ZpQ8/KZxRXvcG+SMSRQ?= =?us-ascii?Q?rY7zmYn4P4YsD8RUZCjXfqIqRo7HVAXI+Rm9jXIg0c/NtsBSuCAJjMWpAM0h?= =?us-ascii?Q?qiopjDPz60eUNzR/K6nPQztw67PNBKZEX5qoncWzUOfeZCkbTNEK5RUqEmn+?= =?us-ascii?Q?ewbrzP8+nyt5Ib2bOmcUtCW0lUmZQggGOEA8+tmh3w=3D=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB11179 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001A4.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4bf289b2-9605-4ee3-caf3-08dc732c95ea X-Microsoft-Antispam: BCL:0;ARA:13230031|82310400017|376005|1800799015|35042699013|36860700004; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FVhi2c4eE1INLByC3EMO/IJxQ5DDBBQTsS2prub1BFzMEkqihy4ikYOJ6fOH?= =?us-ascii?Q?agTHCBPCmmSRj+LHp38CHrcqyj9OQzUSisMQ91QQ4oWSwtEXb2U4jBuLA1bb?= =?us-ascii?Q?sr921p9tDsOlVduD7lR0grYU+4g42iyHK90/K4v8CAFgc2htiJKvgFLdtc2u?= =?us-ascii?Q?63hejNQKS8VOiaHffRUeHSoT5QYpDJjApRfzZHwYRpCale7mJsnc6cYnH8L8?= =?us-ascii?Q?+7cqtdyzNXM9z0uPUfPEVaK89E0pSKEsJ65IPp3P+toD81ysmPK84tE1NwSj?= =?us-ascii?Q?AEwpXyzLuZSwSP7H5xwbsgsBq2ZkSe2S33nHBW5tJO/wWwJ1krgdlj082lcb?= =?us-ascii?Q?FB9rZpBu06NIYnv+klHRtuggCDeT9cTkOkRAy+tyrkTP/GiL3LcUSSI3aluV?= =?us-ascii?Q?zKbtoKOSM6EMGSIy7VWOsjAB7G4EElo6FJMxnyQpoNIUIU5r2viAeusEKHTK?= =?us-ascii?Q?lgXNV2MdmNjvMQEdie26PU6OWfWtvhhxnLUyM1eh+8hTu/ZVCYWujZN+EYlu?= =?us-ascii?Q?NRQpiKevorYW37IQJ0t93viyBB7XGaV5vA6I/FWIN9nQQyZK6Cm/0stYXDwF?= =?us-ascii?Q?/MDyhLS8GP/uheeaM8KZfv6yaXJfZaXr54Ga539eVLY3R4N80X4qAOUr74GY?= =?us-ascii?Q?vDlEdvVFnRQkIkcHv5mhV30vKO1btEf6tCnCAojYpJpWgiQDLImq+wtO7iCK?= =?us-ascii?Q?bFhIDWDZFzwfT/3Q1Vc1X8ecBY0eLOpTKZYpaVRYmYVmgoLK+Am4WZ65MIt0?= =?us-ascii?Q?bvYUx664vEXq0nPee0d5KuLAZRNbhNXhmfeN7aYmEjFou2aZ63UQCdp/kQOr?= =?us-ascii?Q?LJoUJ0/dNCW+ENWyTztK57SdH8OyvBX5wmZ94brCjtz1L89JiyJLvYON4IVv?= =?us-ascii?Q?VQqbv+1HI7GlDRa7rNywPXHNo/HANBdMixoMxvbh3gqbf/Igpao5ASFrJM/x?= =?us-ascii?Q?BwMTj5IZUCVoCju4KVHq3tPi91UyPbpmMR2FJ+qeTX0CKCvB/7sTZin3On5t?= =?us-ascii?Q?Xrihqg8isC39admIpg+WiuvUyOlaQTbhyO7A4iLbPICYjr1HyQNDuzeFkJ3L?= =?us-ascii?Q?Z9pzpuStwlh5csmU5VtHkGoVO6aUwQZGrWStOQu1G5UiomUohRRucNCUG9AU?= =?us-ascii?Q?mMgGQywjt4QnFNEwZnbDC590DFTqe9zuDzra0s7dySM/TpTml1sdICbjbFEQ?= =?us-ascii?Q?Rur3aXgUJLXOCNSeOFtYMabNxy0kP7k2Gy4GIgMd4GTcV3qX3XqR+i5WoHJe?= =?us-ascii?Q?zZi4fQJAM+vDdfgvqWgFOZXYxzVJ0KHb25d+0j6WqHSJqpj+4dE3kj27UsYP?= =?us-ascii?Q?KIEof467WCX3LEx02nDmdkG8?= 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:(13230031)(82310400017)(376005)(1800799015)(35042699013)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2024 09:11:03.9781 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f9bb5045-bf12-49f4-18e3-08dc732c9da8 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: AMS0EPF000001A4.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9335 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,KAM_SHORT,RCVD_IN_MSPIKE_H2,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 List-Id: Hi Pan, > -----Original Message----- > From: pan2.li@intel.com > Sent: Monday, May 6, 2024 3:49 PM > To: gcc-patches@gcc.gnu.org > Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; Tamar Christina > ; richard.guenther@gmail.com; > hongtao.liu@intel.com; Pan Li > Subject: [PATCH v4 2/3] VECT: Support new IFN SAT_ADD for unsigned vector= int >=20 > From: Pan Li >=20 > This patch depends on below scalar enabling patch: >=20 > https://gcc.gnu.org/pipermail/gcc-patches/2024-May/650822.html >=20 > For vectorize, we leverage the existing vect pattern recog to find > the pattern similar to scalar and let the vectorizer to perform > the rest part for standard name usadd3 in vector mode. > The riscv vector backend have insn "Vector Single-Width Saturating > Add and Subtract" which can be leveraged when expand the usadd3 > in vector mode. For example: >=20 > void vec_sat_add_u64 (uint64_t *out, uint64_t *x, uint64_t *y, unsigned n= ) > { > unsigned i; >=20 > for (i =3D 0; i < n; i++) > out[i] =3D (x[i] + y[i]) | (- (uint64_t)((uint64_t)(x[i] + y[i]) < x[= i])); > } >=20 > Before this patch: > void vec_sat_add_u64 (uint64_t *out, uint64_t *x, uint64_t *y, unsigned n= ) > { > ... > _80 =3D .SELECT_VL (ivtmp_78, POLY_INT_CST [2, 2]); > ivtmp_58 =3D _80 * 8; > vect__4.7_61 =3D .MASK_LEN_LOAD (vectp_x.5_59, 64B, { -1, ... }, _80, 0= ); > vect__6.10_65 =3D .MASK_LEN_LOAD (vectp_y.8_63, 64B, { -1, ... }, _80, = 0); > vect__7.11_66 =3D vect__4.7_61 + vect__6.10_65; > mask__8.12_67 =3D vect__4.7_61 > vect__7.11_66; > vect__12.15_72 =3D .VCOND_MASK (mask__8.12_67, { 18446744073709551615, > ... }, vect__7.11_66); > .MASK_LEN_STORE (vectp_out.16_74, 64B, { -1, ... }, _80, 0, vect__12.15= _72); > vectp_x.5_60 =3D vectp_x.5_59 + ivtmp_58; > vectp_y.8_64 =3D vectp_y.8_63 + ivtmp_58; > vectp_out.16_75 =3D vectp_out.16_74 + ivtmp_58; > ivtmp_79 =3D ivtmp_78 - _80; > ... > } >=20 > After this patch: > void vec_sat_add_u64 (uint64_t *out, uint64_t *x, uint64_t *y, unsigned n= ) > { > ... > _62 =3D .SELECT_VL (ivtmp_60, POLY_INT_CST [2, 2]); > ivtmp_46 =3D _62 * 8; > vect__4.7_49 =3D .MASK_LEN_LOAD (vectp_x.5_47, 64B, { -1, ... }, _62, 0= ); > vect__6.10_53 =3D .MASK_LEN_LOAD (vectp_y.8_51, 64B, { -1, ... }, _62, = 0); > vect__12.11_54 =3D .SAT_ADD (vect__4.7_49, vect__6.10_53); > .MASK_LEN_STORE (vectp_out.12_56, 64B, { -1, ... }, _62, 0, vect__12.11= _54); > ... > } >=20 > The below test suites are passed for this patch. > * The riscv fully regression tests. > * The aarch64 fully regression tests. > * The x86 bootstrap tests. > * The x86 fully regression tests. >=20 > PR target/51492 > PR target/112600 >=20 > gcc/ChangeLog: >=20 > * tree-vect-patterns.cc (gimple_unsigned_integer_sat_add): New func > decl generated by match.pd match. > (vect_recog_sat_add_pattern): New func impl to recog the pattern > for unsigned SAT_ADD. >=20 > Signed-off-by: Pan Li Patch looks good to me, but I cannot approve so I'll pass it on to Richi. Cheers, Tamar > --- > gcc/tree-vect-patterns.cc | 51 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 51 insertions(+) >=20 > diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc > index 87c2acff386..8ffcaf71d5c 100644 > --- a/gcc/tree-vect-patterns.cc > +++ b/gcc/tree-vect-patterns.cc > @@ -4487,6 +4487,56 @@ vect_recog_mult_pattern (vec_info *vinfo, > return pattern_stmt; > } >=20 > +extern bool gimple_unsigned_integer_sat_add (tree, tree*, tree (*)(tree)= ); > + > +/* > + * Try to detect saturation add pattern (SAT_ADD), aka below gimple: > + * _7 =3D _4 + _6; > + * _8 =3D _4 > _7; > + * _9 =3D (long unsigned int) _8; > + * _10 =3D -_9; > + * _12 =3D _7 | _10; > + * > + * And then simplied to > + * _12 =3D .SAT_ADD (_4, _6); > + */ > + > +static gimple * > +vect_recog_sat_add_pattern (vec_info *vinfo, stmt_vec_info stmt_vinfo, > + tree *type_out) > +{ > + gimple *last_stmt =3D STMT_VINFO_STMT (stmt_vinfo); > + > + if (!is_gimple_assign (last_stmt)) > + return NULL; > + > + tree res_ops[2]; > + tree lhs =3D gimple_assign_lhs (last_stmt); > + > + if (gimple_unsigned_integer_sat_add (lhs, res_ops, NULL)) > + { > + tree itype =3D TREE_TYPE (res_ops[0]); > + tree vtype =3D get_vectype_for_scalar_type (vinfo, itype); > + > + if (vtype !=3D NULL_TREE && direct_internal_fn_supported_p ( > + IFN_SAT_ADD, vtype, OPTIMIZE_FOR_SPEED)) > + { > + *type_out =3D vtype; > + gcall *call =3D gimple_build_call_internal (IFN_SAT_ADD, 2, res_ops[0= ], > + res_ops[1]); > + > + gimple_call_set_lhs (call, vect_recog_temp_ssa_var (itype, NULL)); > + gimple_call_set_nothrow (call, /* nothrow_p */ false); > + gimple_set_location (call, gimple_location (last_stmt)); > + > + vect_pattern_detected ("vect_recog_sat_add_pattern", last_stmt); > + return call; > + } > + } > + > + return NULL; > +} > + > /* Detect a signed division by a constant that wouldn't be > otherwise vectorized: >=20 > @@ -6987,6 +7037,7 @@ static vect_recog_func vect_vect_recog_func_ptrs[] = =3D { > { vect_recog_vector_vector_shift_pattern, "vector_vector_shift" }, > { vect_recog_divmod_pattern, "divmod" }, > { vect_recog_mult_pattern, "mult" }, > + { vect_recog_sat_add_pattern, "sat_add" }, > { vect_recog_mixed_size_cond_pattern, "mixed_size_cond" }, > { vect_recog_gcond_pattern, "gcond" }, > { vect_recog_bool_pattern, "bool" }, > -- > 2.34.1