From patchwork Wed Nov 6 11:46:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 2007443 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=cKeBMChV; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=cKeBMChV; 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 4Xk3N10Krzz1xxf for ; Wed, 6 Nov 2024 22:47:13 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 180C53858D37 for ; Wed, 6 Nov 2024 11:47:11 +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-db8eur05on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::60e]) by sourceware.org (Postfix) with ESMTPS id 1D2A93858D20 for ; Wed, 6 Nov 2024 11:46:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1D2A93858D20 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 1D2A93858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2614::60e ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1730893597; cv=pass; b=NrD1eMG21Q2ut7UCl/tUGJqRwAGlUlT1IT7uMayHKl2CO+pjqtVR0fsau6kDmNp3XmzwHBW+Zvc8EkSFlwGu/Z1uhWhyd/BqeQ4uH3cC0kJSg0/CSa7IwyiZl7Kcg4s8GOJVjgFZ87h3k9c/4ILRWbFcdMDavrv33r4iRZSjVZo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1730893597; c=relaxed/simple; bh=wiiA2p/SGqx2ndaOMRNNfWcleAEadIcv+FftP4Yf0eU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=wboIu2zE62Kwdp8epoxLgWYRRoQGtGr3Hz1I5Y+lt/GaBD4cW4mdspi7QHAMQvrbhBwBonDser5n9OXo7r0NQFFUMf+EeLT9qvSnOgORFs48lGOTDKmHXn/9rsale4O0awkSVsiFHlaLfP3VR6LQB6+f4zmwEvSXpBBah3sXbVU= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=nN1bsJUUyTAsGCNVZNXonweGJNC+0gj52YQ6t9t/dT6SQq6uZMPZljKTRCI5YS881030sV/Qi5eOToPMqcFf0kFQhZQstfUwundw+MKVt4Mko5KPRTysZoZlWbGrW0Fuyxzv1AmV1QMET9wF1hRmJRbbF08fdqS5GeGs1yEIMazaJwgRNnPKDpvqxA1qPpl9sW8wvbClzYnxjGumn+TbEdgxwlTLqDl89a96bjAcCs4xjyzAE7k7Npo3Thyv6RCuNE9oj89OMU9NALExQvZ+h1Sd7d7ppqH+l+TFGv+SbHrK0PrXvgSkIX4MhX1nNuJDXeuwn+hNZZcqwrACZLV+9Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DUN23+3yxtOHzCUN1/oph31o99cTrbJSeiDk4ouHYWM=; b=vbS3az2+/0uDh6t4zXAA1GvufYb83LtHJ70pP3eQdJpL/62CB/IW7yTsOWCHu3mjjBjywrr1qvWtmRvl/yI9SQGb39SnEfTXqSu2JRbSisceZCM0ceShfwDEkdk53ABqZOc4yt9oSWPF+dWG5wIYylMr/Vkfn0paiF9QfjVpVZ7uBSR/HA23g3PLbdGK0skHiaE5GNpLyKZjdsS7Xyyen/ZuMaNWOKhmLyl7PvFq61d44U4kuDsK2tid+gFbyd7dna7P1mSVDG2n/KcumNOJyY3lMndmrOS71o8UI8l6v7kWTcyrWWH43LQ2dxatCOOvthSXELdcCEGIL4PeJBP/MQ== 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=DUN23+3yxtOHzCUN1/oph31o99cTrbJSeiDk4ouHYWM=; b=cKeBMChVZJvEpx3mHszqJr3JrjS2/X2IcSkd19P1Xje7CQ68wLl5oZMHCdC+URYIy1skqX9fsTHaIJW5MtfMYT1znbJQeKkMnQYMmw2b5ofk5SRp7fQEtmAAduUBFE1F+YNtrlN+VxR4c67qZs/fkMjc3ekqcDH4Ihj+WulDPiU= Received: from AS4P191CA0014.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d5::20) by DU5PR08MB10550.eurprd08.prod.outlook.com (2603:10a6:10:528::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.19; Wed, 6 Nov 2024 11:46:30 +0000 Received: from AM3PEPF0000A791.eurprd04.prod.outlook.com (2603:10a6:20b:5d5:cafe::8d) by AS4P191CA0014.outlook.office365.com (2603:10a6:20b:5d5::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.19 via Frontend Transport; Wed, 6 Nov 2024 11:46:29 +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 AM3PEPF0000A791.mail.protection.outlook.com (10.167.16.120) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8137.17 via Frontend Transport; Wed, 6 Nov 2024 11:46:29 +0000 Received: ("Tessian outbound 4a86a9c66651:v490"); Wed, 06 Nov 2024 11:46:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d50626e5158bb8b8 X-TessianGatewayMetadata: DhkD9JAavVK+KAU8lRRThBjz1BHCdSpAdv0coK1pfe/Bu58D7Zm6LRqnyytKExZ6IHisF89zd3ezR1uzCiknwC26Ksfr5ZYDbCDGZz7gkidezQOMZZXoWP7S0X4Y9dPZqPSpn9cvDPGJgAoy943dRYbtfzuUeCnqxnG0oax+6rI= X-CR-MTA-TID: 64aa7808 Received: from Le29eaf94abec.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6C6C3B0E-12E3-4446-9F82-E2DCD326F1CE.1; Wed, 06 Nov 2024 11:46:22 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Le29eaf94abec.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 06 Nov 2024 11:46:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xWPiHsMRlfKu/aF120BgWOfjcIBS7t5pqYbhO2Qt0nzOCD5NwMeWeV7prBils0zzzi52C+8POGfcqpfuBa/RPC6QGYRFrLN2B4toIpAC88ddvBW3yNytXAJtba6XxTYFLOiNjajbib8H809uc80on6qajBjIWWiccjs8ow9FIa9W5UBTsGMG0acPAWxshl4zbCFtCQ2bqtWW3NHOdTDfURV7WIzX4gJUU3srvxYy3qYyCv8Rwva62OV9dTWnCFRJYN53ZQAp/Jnt+8NPJDg/JuROBoYYeIFWcKgekC39gMR6WkQKdE1ASEk/2bcY75sog2+Q5OxytE5KgETZJwWS7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DUN23+3yxtOHzCUN1/oph31o99cTrbJSeiDk4ouHYWM=; b=i2eTqDkuHwpygtLuiy8NYhURsUHrB+iZFuwpWgdRpkgz6yIANapghHDVkZZZL6Ax94hr6f8D3OeTSM0DEkOQsDhv/zSh8KHZg2UQocuvnwiHxNwHl86WDYIRH1fsFGvAHluN/QRaFfGqek8IJ7V418XFg5NhFpU8JmCtt8b9xrT0Ev83w+tIZ8lHof+gtPM1m5s4KsSI1KPi1GIvpZ2sa0cpgZA+neTY/8YS4ssZPpMFFIOUiuI3OstMHylBhMk1v3e+JZh0E2n/wd66/1CekJ1XXqlrsfpFMn7ACrE0HQruCviop5Kdm37vkdAE2EWno3wDMOtjaKDeU87w+aJmtQ== 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=DUN23+3yxtOHzCUN1/oph31o99cTrbJSeiDk4ouHYWM=; b=cKeBMChVZJvEpx3mHszqJr3JrjS2/X2IcSkd19P1Xje7CQ68wLl5oZMHCdC+URYIy1skqX9fsTHaIJW5MtfMYT1znbJQeKkMnQYMmw2b5ofk5SRp7fQEtmAAduUBFE1F+YNtrlN+VxR4c67qZs/fkMjc3ekqcDH4Ihj+WulDPiU= Received: from DU7P251CA0021.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:551::23) by DU4PR08MB11101.eurprd08.prod.outlook.com (2603:10a6:10:576::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.31; Wed, 6 Nov 2024 11:46:18 +0000 Received: from DU6PEPF00009524.eurprd02.prod.outlook.com (2603:10a6:10:551:cafe::50) by DU7P251CA0021.outlook.office365.com (2603:10a6:10:551::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.18 via Frontend Transport; Wed, 6 Nov 2024 11:46:18 +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 DU6PEPF00009524.mail.protection.outlook.com (10.167.8.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8137.17 via Frontend Transport; Wed, 6 Nov 2024 11:46:18 +0000 Received: from AZ-NEU-EX05.Arm.com (10.240.25.133) 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.39; Wed, 6 Nov 2024 11:46:18 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX05.Arm.com (10.240.25.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 6 Nov 2024 11:46:17 +0000 Received: from a078660.blr.arm.com (10.162.46.14) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Wed, 6 Nov 2024 11:46:16 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , , , Subject: [PATCH 00/10] aarch64: Enable C/C++ operations on SVE ACLE types. Date: Wed, 6 Nov 2024 17:16:03 +0530 Message-ID: <20241106114613.2972987-1-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009524:EE_|DU4PR08MB11101:EE_|AM3PEPF0000A791:EE_|DU5PR08MB10550:EE_ X-MS-Office365-Filtering-Correlation-Id: 694a57d6-da43-4d79-533a-08dcfe58a746 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|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info-Original: smif0yIh4wxl8mcNpLEtcbIsgN/70XwiM8DUzmNs/y5i+mjDRAoqHw5tkayn1rXa44c1byJAMxk1hMDoIQMt4hzlSVpcdEtQK70E9KH8vbzDk7lyMuJ0XB4FfhC7GQjiAFs18hWGLigxoI1kiz5dPZE1taU3n4O6QIChl//E39V6hJKez2JIRT31KwLPaduATUrHaNIokV2bxkk5JjwRHZx1NL9a7u76cXmQ8GCW6DItwNjjsBWwV0Ehh3f46OcoY1jxR1b9eQKFrI9cqqICZXbfifJ+4H9FABWBhPJZAB9sgUm58QC3cviltoQ9Dx1XcEPCq17AIvgWLAXEVquCoVV9BIkLgw2I0JluIXABC9BQ0MCOfq7Aw/7aKB9IGHYQp5kHy/USD68rmQa5ZEBi7S6ct1vGwQYCFILuI5WD4/mlkXJUUnmKflTLqzZRPkCBuieQqZr56ITqUj/1Um7hF6yeGnAnolrpqqicab5FJlpQmrUDP3wKm/pnjRvqjuZGdvNVeU4TqwFH5ft/OfXs7iOZkKs3h1lvmZU/FTWFlTH6c0PAGMPtKhfD/TaaqdxPiUlwuoxiGtgz2GQcmL2dDq0Pa2/Dh30UdW+vQXTQ3kv2zhYZn8425MWlCVWj644CvzrAW9RDa5Le1PFNBBIIl6muSqVzIq9TBEO15ZcaA7DHv2UxdJzU+OnFjUf+8zIcsnzSwYM0NsS0i9TGcd0I/T4MILOsxHISrRmunXynazi8wJ4DUCYg+4YhIZoe9PxTugp4jHg/FsPqpzvufBpFlkaJbpyHIdHtxlkeZbCiSp0ED3HF0hXqm6SZ/3BkWbbULw5lXMRn5AHwHvs5zPHuvSwdhLx+haX+ClM8scwm5FWVN8yR1f6Z4wdPCI+pbJh4BHbxOajq2lKFTt+OG9d1l0sjkt250BZoGlXAElgJG4ksFtbWWsLWReYzdHURlBMbYoidg5TifpGoKqYBRNd05/YwqeWVKbBQnAqQfbhDv4w15ooTtBJhWeViPUEIGdAibt7eGbFaYPquYScgH7DJD561X5J/mc5Kth70LtopVx129ewgpmgMRpvGhW6s+kHejlFRtm//FKzVLzZSVO817eJGIko5frbmwxDtHQ695KVb6wGzrUMJmrpV7xprgQmeFuP300Wy2NCjqfHTQ391Klw5NLSjbAF1qdMgL2mAh76COICIItkx4xNiXEzx/VeV/128t12ZsaeO2JR4SCz1YhLHnDWzGzMmTrPWPTmr/fyrmiXmlkEhF4BZDy8cRmNwgBA/dYF2rUhGdD5DsfiLBsCX4YLTUcpQ8nBa2IPkDhzlNrVH0Nicq0tedYgRZAmEbcWzVWBEe8kl8wAY2snguWQFrAogMig7kDIM9HCc0+df6xLWRGQ/tzDdIzRjepvJl81aPb+IHB15fk2sRVOhiA== 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)(36860700013)(1800799024)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB11101 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:551::23]; domain=DU7P251CA0021.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF0000A791.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 170e500e-1d32-40bd-188f-08dcfe58a0c4 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700013|14060799003|82310400026|1800799024|35042699022; X-Microsoft-Antispam-Message-Info: 4/6+mpDz12xUyFVHBfzxGk2fPnfyXeuy/h05JA8gfRNYPM3UhLpCxWWHcVKsuovKs8HXnXgtIUEirLik0OoalxyK6UD/kQLHfQOPyig32j8Uc0Y8Cfl2xGa1YAUj4PT4zErjD9IrT24nJm+pJUVhF7N594SQ+IFpBXysnZ3/alDdWdZOeJkFr4rIgwuwIocWGAMVR69A9dedwwd753HlKXFKEAEQQLLNaFNSJJIaYV/JUmvX4XOmGUEqviLcpl788ZOe3qyLcXQ4iqlAMHUyEInjFI4YM+JlbffxjbmMHTYkfnRQn1a+hYhZyOL+ULwXVEu1ShoufJZMN2aorSC+1wnZBJi7OgPMElMkK9lfm2+q743dxsuju0ZivvU8n3rZR4V+IZHNPTFcPPgsii8t4GrrjkIEK7W8qpf7oVpfxRTwneycqdD4FtMogHzxbEEHPsao0Zv/iMLMqbMqBpn7ReCNbix09Qk25cPpI5pj6114oEx/ydnIurMd/OFGY/Fw4a0WVtMHH9apC/CsYPsNMTQ1xXgMqhPz6I2IU3+NxNghcArM85fkHej5rjWIKbnRQVkdIlHW4YIfWppz+vhvdeWQQhXyWZyI5bIKCIVt1nAUbnaVpCLmSKbpyc9Rm3JmbANo2joPy6DvJwkQvRa7eYEN5vv85xAX8b2m4Nka3cQvfVlIJrHDlWINJ9BwzQfHw6SWyE69rT2RYSap36WJonEeF5NbPTEzp94IfbHfUSnuOgKd5TFoKUt3ThlmKzXJ4M55KEjmJfBrwZ/1WzkRrWfsmMTPd4GVZIQjFrPznl/mhvlOwL+vJ7fBeFgfJzS30zCd2NJHCGvz6A7jt5bWWLXhOTiwv99OGPIzLbXv7yNSqYA/pqo6S93GWnNI+UVLH2gOBLcaNU/3PZBkA8bBNR3hRRaC9EcFItlIPKac6SNIZxoXVGxzLbWr99UdjIBrI/Galsu+VykqtqpVXXs+vB2LFeV8o7yN0t77euPANgtueIqDLHtEcs+4MBo70EMVz5ZUx6HpLREKcZuZg0wWim18gDCFrsosOl8r9NhkhDctxAgV9oUPkJZzn+0EKgm4LyaJ7vnaEr2V1aNpYpUPEgqkec906XLBsgHSOcGBpKBHGlnaSiio+lLPek/I2GO4kpkHLgF0aYzjApqvFodz3+Djo82aqDK1E2IWBlf2ThtScuBscePs0UZQm0VS1bcgGi3z+uNfXmf8Z38s8gzT81D4tQ7CJhsURPmBagd/J20rBszDIh99pABtEoTxDFkgeod+XGm50sy9i0zTPcyine9WmHd+uJqSs5vZWxcNlPWuFLEbzi7JSflbArM/idQ+1eXHJe0FChPhAKxn25T3ISudTgcvOcb09cPH0fo/QO71rhpv2nWX8clco9RMQrjovDmtiemJHjkseaqAcO6dAw== 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)(14060799003)(82310400026)(1800799024)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2024 11:46:29.5967 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 694a57d6-da43-4d79-533a-08dcfe58a746 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: AM3PEPF0000A791.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10550 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org Hi, This patchset enables C/C++ operations on SVE ACLE types. The changes enable operations on SVE ACLE types to have the same semantics as GNU vector types. These operations like (+, -, &, | etc) behave exactly as they would behave on GNU vector types. The operations are self-contained as in we still don't allow mixing GNU and SVE vector types in, for eg, binary operations because the typeof the expression is ambiguous and this causes PCS issues. Other operations like implicit conversions behave as they would with GNU vectors i.e. gnu_uv = sv_uv; // This is possible as long as the size, shape and element- // signedness of both vectors are the same. gnu_uv = sv_sv; // Error as implicit conversion from signed to unsigned is not // possible even though size and shape may be similar. Such assignments would have to go through an explicit cast gnu_uv = (gnu_uv)sv_sv; Following unary operations are supported: sve_type_var[0]; &sve_type_var[0]; sve_type_var[n]; &sve_type_var[n]; +sve_type_var; -sve_type_var; ~sve_type_var; !sve_type_var; /* Allowed in C++ */ *sve_type_var; /* Error! */ __real sve_type_var; /* Error! */ __imag sve_type_var; /* Error! */ ++sve_type_var; --sve_type_var; sve_type_var++; sve_type_var--; Following binary ops are supported: sve_type_var + sve_type_var; sve_type_var - sve_type_var; sve_type_var * sve_type_var; sve_type_var / sve_type_var; sve_type_var % sve_type_var; sve_type_var & sve_type_var; sve_type_var | sve_type_var; sve_type_var ^ sve_type_var; sve_type_var == sve_type_var; sve_type_var != sve_type_var; sve_type_var <= sve_type_var; sve_type_var < sve_type_var; sve_type_var > sve_type_var; sve_type_var >= sve_type_var; sve_type_var << sve_type_var; sve_type_var >> sve_type_var; sve_type_var && sve_type_var; /* Allowed in C++ */ sve_type_var || sve_type_var; /* Allowed in C++ */ /* Vector-scalar binary arithmetic. The reverse is also supported eg. + sve_type_var */ sve_type_var + ; sve_type_var - ; sve_type_var * ; sve_type_var / ; sve_type_var % ; sve_type_var & ; sve_type_var | ; sve_type_var ^ ; sve_type_var == ; sve_type_var != ; sve_type_var <= ; sve_type_var < ; sve_type_var > ; sve_type_var >= ; sve_type_var << ; sve_type_var >> ; sve_type_var && ; /* Allowed in C++ */ sve_type_var || ; /* Allowed in C++ */ sve_type_var + ; sve_type_var - ; sve_type_var * ; sve_type_var / ; sve_type_var % ; sve_type_var & ; sve_type_var | ; sve_type_var ^ ; sve_type_var == ; sve_type_var != ; sve_type_var <= ; sve_type_var < ; sve_type_var > ; sve_type_var >= ; sve_type_var << ; sve_type_var >> ; sve_type_var && ; /* Allowed in C++ */ sve_type_var || ; /* Allowed in C++ */ Ternary operations: ? sve_type_var : sve_type_var; sve_type_var ? sve_type_var : sve_type_var; /* Allowed in C++ */ Builtins: /* Vector built-ins. */ __builtin_shuffle (sve_type_var, sve_type_var, sve_type_var); __builtin_convertvector (sve_type_var, ); These operations are supported for both fixed length and variable length vectors. There is one feature yet to be supported: * Constructors with variable (non-constant) elements are currently not supported for VLA vectors - it is WIP. One outstanding fail PASS->FAIL: g++.dg/ext/sve-sizeless-1.C -std=gnu++11 (test for errors, line 163) I've left another outstanding fail as is - the test where an address is taken of an SVE vector element. I'm not sure what the behaviour should be here. Otherwise regression tested and bootstrapped on aarch64-linux-gnu. Bootstrapped on x86-linux-gnu. OK for trunk? Thanks, Tejas. Tejas Belagod (10): aarch64: Fix ACLE macro __ARM_FEATURE_SVE_VECTOR_OPERATORS aarch64: Make C/C++ operations possible on SVE ACLE types. c: Range-check indexing of SVE ACLE vectors gimple: Disallow sizeless types in BIT_FIELD_REFs. c: Fix an assumption that vectors sizes are known at compile-time. rtl: Validate subreg info when optimizing vec_select. aarch64: Add testcase for C/C++ ops on SVE ACLE types. aarch64: Update SVE ACLE tests c: Fix bounds checking for VLA and construct VLA vector constants cp: Fix another assumption in the FE about constant vector indices. gcc/c-family/c-common.cc | 10 +- gcc/c/c-typeck.cc | 16 +- gcc/config/aarch64/aarch64-c.cc | 10 +- gcc/config/aarch64/aarch64-sve-builtins.cc | 5 +- gcc/cp/decl.cc | 11 +- gcc/gimple-fold.cc | 3 +- gcc/rtlanal.cc | 1 + gcc/testsuite/g++.dg/ext/sve-sizeless-1.C | 1 + gcc/testsuite/g++.dg/ext/sve-sizeless-2.C | 1 + .../sve/acle/general-c++/gnu_vectors_1.C | 438 +++++++------- .../sve/acle/general-c++/gnu_vectors_2.C | 434 ++++++------- .../sve/acle/general-c/gnu_vectors_1.c | 349 +++++------ .../sve/acle/general-c/gnu_vectors_2.c | 346 +++++------ .../aarch64/sve/acle/general-c/sizeless-1.c | 3 +- .../aarch64/sve/acle/general-c/sizeless-2.c | 3 +- .../aarch64/sve/acle/general/attributes_7.c | 30 +- .../aarch64/sve/acle/general/cops.c | 570 ++++++++++++++++++ gcc/tree.cc | 16 +- 18 files changed, 1425 insertions(+), 822 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c