From patchwork Mon May 27 05:06:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939604 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=ET/AMB6o; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ET/AMB6o; 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 4VnkD12pJPz20Pq for ; Mon, 27 May 2024 15:07:29 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9E54A386484A for ; Mon, 27 May 2024 05:07:27 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2049.outbound.protection.outlook.com [40.107.8.49]) by sourceware.org (Postfix) with ESMTPS id B57E13858C53 for ; Mon, 27 May 2024 05:06:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B57E13858C53 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 B57E13858C53 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.49 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786420; cv=pass; b=jhP9R3YQM7DDHd+gP0Yd1In2Rv7IXK6bAXDnsIaJz9JvrL7WjzTvLDys+9onVciSVPeBPd9UrPRWYQlNWTcsPGutwPNLfaYl4YBFzZi21cIgeqkUcZi6gHyO4wWDro7jfBrcwgrAqkLJ7SMuf8FMGE74wcY6RzkdbqEUAgB+eXs= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786420; c=relaxed/simple; bh=dt4o0atLgOsyWMnW0QN1toSBwWe448JZ4sVaTnXgjQc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=h0mOvw4TgIG8RLekPqVcUeu5nt1HtlnZSp9nyHC646NAD0e+egEeY96jxUfbSxQTrMh9Qr3ldDJ7hyNvS9TIgDvCdQ13fKgeD6pO95uN8wJ88JjH1Br9ksEKoH1Zh0hUaRh1+yuGF6JsM403bkjgpMN8tfuBLDmLgT/CSaMLFsc= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=PTcK7PikJVv6UHyvl0vG+WYNY6HAzlSFvMKuxkSHlSJ4J6iywf3WCzZ+MaAa7FjkGPrVabxlxPEzucn3w9CY5l7tzTyBhldPaMDMkIn2uspX/jf6BnkgXLanKisVMBpIxxQ6LGBcqZjx+Ur6C2aUURc6IZawTVHVY7nukabqcLNAyQzUyDA8qX2a36W9XaaiuCYkyVtGgrp6/e/6ulsbABAj7VpBPif+vYedIUpHGG3eI2ygYSmKlfMtX3YbGLMejiT7dvilBW16ZhwtMpXU+P5OJyglhgSGaEruq9Yilxi1+8wjuHrPH8uG5tlXUS00hLdbvLWaUoINqrGCIj0TXQ== 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=NDCsc4ibG2vSA9KnoECvIIWR+bYDc+2P+GimT2yLJ70=; b=MmLT9t/aKTIX6/iX76yYv0FUjHONmuYf1dAWbTTw6sIQO7c/e1CobqffoRb7hMzLfXXNsWGE0hhMW8jyU1X33craEUMMnpDOa/CNwkentIiWTa/27iudu6BQ1OU4ftLir8i9K8IqryEoYjKfAynPa0/7cdWj9XIdVCJzRSVruv4rTwf8jTE+EPsD7YGyFvCIJbRBcrCkp0okwe16p1y2ixKYeltrTSvU+rrDeCIonpFyR75jt3BoLhT5JCJGsDHV7012zheYapyyG9Z1ooO0rbcO4oy/LCvplo2MFDZeV42DYS3FTGnpAy/yMA+dWebdEa6S2GruXb2FX7l6nAcN0w== 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=NDCsc4ibG2vSA9KnoECvIIWR+bYDc+2P+GimT2yLJ70=; b=ET/AMB6o11ux3UMRIqMgGGcdOZ5fxM6dh5qYgRYw4I8+J9/3BMeR64QNoLaYUktiDZdrnCtHqhwhVVuylLuIYTMhjxE4a5700iRAvHk/ub/WqtoyzWPppacdT+GOis3/hfAAYTo2ioOv6j7xKj5xG8NzQEBv2+shn3sMDiv+vIs= Received: from AS8P189CA0055.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:458::21) by AS8PR08MB6343.eurprd08.prod.outlook.com (2603:10a6:20b:337::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:55 +0000 Received: from AM4PEPF00027A5E.eurprd04.prod.outlook.com (2603:10a6:20b:458:cafe::ea) by AS8P189CA0055.outlook.office365.com (2603:10a6:20b:458::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:55 +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 AM4PEPF00027A5E.mail.protection.outlook.com (10.167.16.72) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:55 +0000 Received: ("Tessian outbound 2fd40f2ccfd7:v327"); Mon, 27 May 2024 05:06:54 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a8984532dedac892 X-CR-MTA-TID: 64aa7808 Received: from 73a1afe66c57.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 16AA8175-D451-4AC3-9C7C-8C174FCCBABD.1; Mon, 27 May 2024 05:06:47 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 73a1afe66c57.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=imLPshzwj3DCLTS9xw2nzEONWOYHChuiymc7FOICDUAQYNFarf220vRMiIs9A7bBniPFRqrp6NQbB/YJoio5HmwEGcNODX/vbF34PfWASfVL0byhm/m4OgADD8bt51G9UrSpAy4h7m7JmRculZHIIhIuCLoLOq8NmGAV5q44kMNSkzDOp7Z1pp33Ds1Kf1G2shh4HZsRxYVDcACzJ/40s/m5q3p4765rrywPQCshrorCU5t6fMfoVz4WVPPlFuT7etNjDNrF9hxH1uQSY5YBOY4sGcFDDUZWr87Cr3K+9WITs5zk6rz5lhPrOyBO5LtOBtDLYlsROMnnUteQsWFhmQ== 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=NDCsc4ibG2vSA9KnoECvIIWR+bYDc+2P+GimT2yLJ70=; b=RF0awSnuOnQQGt3Z323rrFm+SRVQ4L7NYiKdEbrv00/CDwUpv2XkeeNvqMuqjOAQW1APLEawAF5vsSTjptzHF+kWQ4C7xD29pnMnTLgaXxESmbBzS95waHSzFW1po3ZbTlSsEQPvOsXyX1I6UIjU1m5EAOuntwzneyhOlCFJQG1ULXjW9f1Nvg5QJuIZH45+unzH4SGwldHDKfLvSozmIDZi26937LEHeX8aS9vQe+YKSe5lBGAgi41XpQnMkIOTrWS41sxRMfFYzzg+wJuOcxiTZjTUrTxnHcXu8dOux564SmkslIsO20ZWDenfOvNwwzNB14twC81xf04NpSO/iw== 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=NDCsc4ibG2vSA9KnoECvIIWR+bYDc+2P+GimT2yLJ70=; b=ET/AMB6o11ux3UMRIqMgGGcdOZ5fxM6dh5qYgRYw4I8+J9/3BMeR64QNoLaYUktiDZdrnCtHqhwhVVuylLuIYTMhjxE4a5700iRAvHk/ub/WqtoyzWPppacdT+GOis3/hfAAYTo2ioOv6j7xKj5xG8NzQEBv2+shn3sMDiv+vIs= Received: from AS4PR10CA0030.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5d8::11) by PA4PR08MB6031.eurprd08.prod.outlook.com (2603:10a6:102:f1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:45 +0000 Received: from AM3PEPF00009BA1.eurprd04.prod.outlook.com (2603:10a6:20b:5d8:cafe::2c) by AS4PR10CA0030.outlook.office365.com (2603:10a6:20b:5d8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.28 via Frontend Transport; Mon, 27 May 2024 05:06:45 +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 AM3PEPF00009BA1.mail.protection.outlook.com (10.167.16.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:44 +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; Mon, 27 May 2024 05:06:44 +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; Mon, 27 May 2024 05:06:43 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:42 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 01/11] OpenMP/PolyInt: Pass poly-int structures by address to OMP libs. Date: Mon, 27 May 2024 10:36:16 +0530 Message-ID: <20240527050626.3769230-2-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM3PEPF00009BA1:EE_|PA4PR08MB6031:EE_|AM4PEPF00027A5E:EE_|AS8PR08MB6343:EE_ X-MS-Office365-Filtering-Correlation-Id: b9aacfc3-f2df-4698-51a4-08dc7e0ad3ff x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|1800799015|82310400017|376005|36860700004; X-Microsoft-Antispam-Message-Info-Original: zG7MuZta5iTPeq7nfkWGvpmHSnNjM7Hunlq3VEkc/gz5Rvd091iztY3YPSs5ey3FbofbRxdcowoSV4h4+0PhxbNBmeGQOzH9rZbKy5MRRFH5gYU6qODXHQ3fnHASp9aAx/i6D7w8EX8/VZSf0xdNm9ztWqu8/+glRksKXz05mT5MBcGykgoFby4ym6bL1m3pc7qmcPQ19bD6+fuV6RX1CfWkojMf0MQC5Ft+pdr2Nx4B3vFGTq0PZNZXk+NDlxy7ayJdJcY+0rFHL02ISP9EGAyNr8WVvC/yDulEC+eP0U8N6DnQbOXxO5zAQ1R9VHecLLF4ed8qzNzttCEsDJ0/MjadHqvzx2fLeCYcxEA9W49gmGdZNwgKBmIV9nP1QaTUiPq0B7p3Va26ZhlPqXNAtR2O1rkYSryET6epEVvHC7UbJhuZsEOV/eiWDe8oLgG0fGiIk2+58vBN0+4fSG3ZoLi9Kjzpib5op4fMgL6ZrykmjiWbkbcN7I0gjr1gm2HV4jlaOySQSuGE3y0I4cOxBURnMkCjEE0/UQF++QLrPLwk7iNeN85bf3MHo+lpAlH+T1eBjYKzzACynNiq31nqL3sEwlvnAqUVWPuizr+ie4HtCn8kVIInxauYDwX5By2EVpnDMnslGrUNZwWuG2H68VAjgPcdUf/FwzvRLRQ3Sw+kxEfMpzfRW8v/6Q54BBg/C+LUAQneFYW+//B+hah2cNvHsMEWhwv59iGN5Ol38oGYevpg7XKNRDggM876JsVZGF8JtfmlJcgYY53CCVQ2VkEtQtjlItKTkJEcj8NMSJnjehQUPImXAylcE+taPaUJW7wuwnun/wkZPhs8a6IpoZeGBsOwMUiz0/stuhMnJdxq6UmfXj+L5ZGaX5IfhJeuxWIC3dq3WpWBiBOeotmSfcYEvHQv6l2Fyw45mFnzY2dj/z0xW3D3kcKXmjgsadw0Rj3E2L68zJgUcSs75ATNUXTtCyMFL5DQPR1zKYLS/591WSQ6fkFlhMU/aDM3ub0Yx8TT9PZNfpywo2z0ZeROX7UtgVq1stWIzMWynAmKUWYFDH1T8yI3WaBqfthYfOoIMm5y594MNjcQUdmKi4x7AY61ialNemTYA+wlQikFIHRjU5AoTlCgVobgjTJLLmcv930KyYF5utgK8xMN0kysjUAsAzvqvi8k5Pm6c+Jvv8zV9gz0ptQ8PuxVU08GjHwBL2nS4HPF8YD7ya7+8hzW8CDlkRVDMdMsP3Podoz3OwmI4FRIU3/YvMdSnl+PHtReOLM1ogjmOvvMmQaoi5THZvTSH9vH+XQx8TSJtrvjmpLB0F3/OK22c6OQNnznF+Ar4hwocDhcLJRmwet9y69QlNYn+y61JCvwCj4XykMgQK+cGjKecd1H2Kif4Khj0/FI 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:(13230031)(1800799015)(82310400017)(376005)(36860700004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6031 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A5E.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 50406fc6-28fd-4f4c-5613-08dc7e0acde9 X-Microsoft-Antispam: BCL:0; ARA:13230031|35042699013|36860700004|1800799015|82310400017|376005; X-Microsoft-Antispam-Message-Info: OYCgNojIOYI1tF/ZobxpWUu2I0uCDYeiJXN0zle/XinGVbj6k+VR9OJQc/bWTw/FkBe4vkTAiAlKUL+o6Uv44ZFdYbESrALV3K3PDE3vZfq8FMPD8xlH2F14SLxdEfWAwVcJoT+JpJLcrg9kWFDx0j8IrGT5Xh0/3Wo42yE93i3AhPulEFQ6w0OqGDT9/UBGuZy+8MRTvnec6zSuP996BwZufpEvAAJtHnCDDBQy3ExLkBRHjzl4QLYA03DF4CglDIq8kFWqq8IKWA6rl+4TFfr72V+9SsyUgd5ITmdFb8mltJdOwjdfLnqTWfnQ8kZL19PWOGYIFBxR3YBSyRlVAp04TpeFYiuNaRifMQW3kWHH0fcPrg/DIuZCclZzp1gKDrKedtF8DMcQoSCb1EmpiYXxeYMmt/mjHsA5ZJ1vzP44jI/p4W056G2zRTLXpZL3s3D1Wxe9xJd8yQyGzIwMNSgsYQ4qiS4xa2AdvhsHPAc/GMF/mPOhUZ1BQNKpkOX0dv9kHiRgasHrZe8konXs2arJXK1wonW8OTV2itctf4MNYS8BFeIULZScjkqpiTKEQwDdMZvf79GcctMSiNfNhc8Ld6RvkV9W8DL0Br98ULr6KVGecLE2N/OzB/Fsrf8fSz4E9J0x32+0ND21eh/kHz/mxtmyaxLbN0gBhwb2p4D6XxFr7OnghsFqhDWT0FmvLsXjSkKYgDRAD0TmPBsikAQnpQBij+MuFcIKKx/t5yi+kaXcgSbNLVEM3SQYpOZJr/pztcESQDbjSXbIMj/XAOgnCpVdYexJHOOc7WbozboAbsoadZ+j7obmxwqyTU/HDkSD3SsllTH1O6joLnR4/G49cYiEOQCBnfPzZxHJHBZnWaCIUFYqVfGDpdTkvzvd5lP0jtOg2kMs/PEzIKrGPVjoKEH1+f2ZrQmI/FnAC0YGe2SACSo2TZD2s8rCK9wrSqT4J12oCtDZl8K2p93XW3FXvZkVh6tykcOcc0/0uBzB+oyAmhDNNwZ0RXvD48U5Nco3q8CRhQUA/r5XUV5JR1L3AFiZOaFmO1pkLoyNVRAQaPUdr8h2/nxnjEaeVGgi5T22lfxwO4+gVZu1FeGF/WUtp3dNVbnuNMd6k9efUpLOwx6MnheFoDZLQXbv95uhN8yQzNPIpImAQ403cFJgnoKWFwo4ABBGJMzsicLW4gWDSRbDoV3A1uzGP80/KpyO8nmsTWyNi8gh7nTwCUywVExURxrzmkN1SxW1Y/lvu/v3puTWkLtT6KCxbKOhssfC3bqk3tlqDM/0ql7hG8laqEioToi4g09PblmjkKwySyIUBAfb4QAg9ImuYxW/4OLbzQGuEVnqjqolw96QGkHfH/u+BOSSH0NFTMuepUltmPnaGLH8MfroedSXIBymC4Sy 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)(35042699013)(36860700004)(1800799015)(82310400017)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:06:55.0796 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b9aacfc3-f2df-4698-51a4-08dc7e0ad3ff 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: AM4PEPF00027A5E.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6343 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, 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 Currently poly-int type structures are passed by value to OpenMP runtime functions for shared clauses etc. This patch improves on this by passing around poly-int structures by address to avoid copy-overhead. gcc/ChangeLog * omp-low.c (use_pointer_for_field): Use pointer if the OMP data structure's field type is a poly-int. --- gcc/omp-low.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/omp-low.cc b/gcc/omp-low.cc index 1a65229cc37..b15607f4ef5 100644 --- a/gcc/omp-low.cc +++ b/gcc/omp-low.cc @@ -466,7 +466,8 @@ static bool use_pointer_for_field (tree decl, omp_context *shared_ctx) { if (AGGREGATE_TYPE_P (TREE_TYPE (decl)) - || TYPE_ATOMIC (TREE_TYPE (decl))) + || TYPE_ATOMIC (TREE_TYPE (decl)) + || POLY_INT_CST_P (DECL_SIZE (decl))) return true; /* We can only use copy-in/copy-out semantics for shared variables From patchwork Mon May 27 05:06:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939605 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=ZvbhUyOS; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZvbhUyOS; 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 4VnkD21Dnpz20ds for ; Mon, 27 May 2024 15:07:30 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6D04F38654A4 for ; Mon, 27 May 2024 05:07:28 +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-db5eur02on2080.outbound.protection.outlook.com [40.107.249.80]) by sourceware.org (Postfix) with ESMTPS id 697E33858408 for ; Mon, 27 May 2024 05:06:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 697E33858408 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 697E33858408 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.249.80 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786422; cv=pass; b=ty27ElHS2lwHKOfmAlZkk9GPGoPbSccjxZcLNQmmh7o8fee6+L1pJkTLLKycMKhoB/bAbJk1WNyuCOJgMNIbZwshVKdoZ3GqaQAdoopSE0Pj8elfXVn1Y/jwcPtgAT1QemkvOO5XbYnmQN1F73v1qIfmAhrGnJ3Hyk4ihOVWObw= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786422; c=relaxed/simple; bh=aSPvgbYOvgrR+ziK98fKJDhcqdotOxuwQ/OTHvpLsZE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=jQE+UD4INAH+M7GFxCGtzJ9t4YZ00u9Hfn88YDE58S36ZQSMXYuIDzToHcsgYIPhuwZW7UQlIzdhjizp8q76iVSNvBSFgn3okNA2egnVlz+uZRR0B9UcGl1hvyuqYThSFM/hIpXg985ItlF6983sosejnQGTTH8ONHo/wl6d5L8= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=D0yZd1v6JP8yMP/R3N2m96Je/1qjdJPowYIwDLQeFFN0ii3n0pcH/gWRHSFJkDX8NC5T9HF3Y/iMSiBidBvIkWQzrqlBAHGcnSuM6JqBmPE5DV2sPDG2qxZwycHM2zJ8HZ6NsrKW/QVXZOwDok5QidsAOuGTo2v/kgXq4rhScAhTEf9LssPkzaqgM24Brg2+6ozLP+wO93x3aVR9BCmho1o/MF8lfUGV7m0ySUFU6/hzSRCr81dG8iyK0EohZDdC3rxjadWmrG9ID4A5YqhMdRl/AIBTT6CACNhvEAlJQurTUAHyw1mMgXPdsoDWkKrW7jgWufcbFc2yPTl9SAyMeg== 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=UObtoHSBgyA1V8/ivPL0uZQzC60fP1BXsu+By7yVyMI=; b=fTpImdUIngtkumRO4fNu0OiMPOlU9eH4IDkHFc4NU4PEJpB8kVOAGW9TjPg9UodIG2vk5zh+r9RlK3EtWDaiRuVjO8BuZgcrDhUPykOuljzhTxxJwOotj+e6Z/4Kw8o1+Z49RiiRrTyF1LXHhSy8iae7FcFEm5Ss/FuGoJcIcVJHnAbKvzXuWzF8gk4cfRoEA/2pszALeWwA6Xy1ZSArhrJWx6qe3Vvm5phN8ptNIHG3L2pLXn2RLQ9FX+aV4gNkOZG3Nldk0Yu3YnUzB6ZPGWv6YrnuMwNduvGcl0zHxUCGDbqEHUbm7j8nAQQ6wwU3NQmUsgpSclRkW0o5lI59tw== 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=UObtoHSBgyA1V8/ivPL0uZQzC60fP1BXsu+By7yVyMI=; b=ZvbhUyOSR4CWt0/352l3bf6eM/3TUy0+kXrhSYKhdrLb0pT6Q89dqbf4WwlPsjFgPyJ0IQG/0HaFsTTfC1AjLTniqnE9CzJ/nMc5FowU7JvOrRNqQiCTZbVtrdF3L3D8fTeWtzKo6GZJjfQHKvh1hSH2iW/xACV5io2jPfM6p0o= Received: from AS9PR05CA0232.eurprd05.prod.outlook.com (2603:10a6:20b:494::20) by AS8PR08MB6264.eurprd08.prod.outlook.com (2603:10a6:20b:29a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:57 +0000 Received: from AMS0EPF00000199.eurprd05.prod.outlook.com (2603:10a6:20b:494:cafe::90) by AS9PR05CA0232.outlook.office365.com (2603:10a6:20b:494::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:57 +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 AMS0EPF00000199.mail.protection.outlook.com (10.167.16.245) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:57 +0000 Received: ("Tessian outbound fffbb209f6c2:v327"); Mon, 27 May 2024 05:06:56 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 50d671b3dbdfa19f X-CR-MTA-TID: 64aa7808 Received: from 6105efdd55d3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1CD7F706-7AC4-420E-894C-4D5E6E87500C.1; Mon, 27 May 2024 05:06:50 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6105efdd55d3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NDQDd0G0T6+zZiH0Ova65BtqN0fBSFYUo3G7wX57idGO+HcR9J/BDBV3MwYz0+uQ0HnLr6S8ZkfGh/7IAxg4NTI/IIMbP7OMB2U+CmnOj9GsS15Mfr73WufFJSx6oebP6iZlSJaW3lkI+ixyY76GkTuOMHonpDS6U5kig5nIX4eVDeODB0mCc328MUbaulYWvHxI8czZu3xojE+966ns87B7PIpULI9byu6wnsy/Re1+GTNeK9Aqt9GUlK3G8iLVSVnN05+yQMT3EdtoBK7kNP8ULt7japVHNqbebxBdk7TPFF2vo1hQ67DtD0X69jwgrX4sf3i3x2K6FrgJLw87uQ== 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=UObtoHSBgyA1V8/ivPL0uZQzC60fP1BXsu+By7yVyMI=; b=ilYLom08xrvFOHdEbTpov514bsMWwYHqhgWkYvMc46CYqOUIKMQvZyt8+Q/ans1X1D0XZFgb248gXCuCL4b+mGBILXrjEpLypHIevFXPsrcTk0Phju9nkYHHOrQJ1UZ4UfPLL8MI0lvfYhDnWZI3ewdwgmeXYbcYEIzBDSMKZF1UCHaB6eI2JW0veu3lSausJWyc5iSEkPnzdlflTtUdTY0Ttl52OzDH9HMBGwfhgklhOVA/Wf7JO0v4NKo4+WvKJJqTYz4QU9TApD2kyl9V3UB5uTXskW0gDShvWBIotEPiofklbDiiiYxqScqLzsSg/eHTSSKS9XHMJBcM0ngceQ== 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=UObtoHSBgyA1V8/ivPL0uZQzC60fP1BXsu+By7yVyMI=; b=ZvbhUyOSR4CWt0/352l3bf6eM/3TUy0+kXrhSYKhdrLb0pT6Q89dqbf4WwlPsjFgPyJ0IQG/0HaFsTTfC1AjLTniqnE9CzJ/nMc5FowU7JvOrRNqQiCTZbVtrdF3L3D8fTeWtzKo6GZJjfQHKvh1hSH2iW/xACV5io2jPfM6p0o= Received: from DU7PR01CA0030.eurprd01.prod.exchangelabs.com (2603:10a6:10:50e::19) by PAXPR08MB7368.eurprd08.prod.outlook.com (2603:10a6:102:22a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:47 +0000 Received: from DU6PEPF00009528.eurprd02.prod.outlook.com (2603:10a6:10:50e:cafe::cf) by DU7PR01CA0030.outlook.office365.com (2603:10a6:10:50e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:47 +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 DU6PEPF00009528.mail.protection.outlook.com (10.167.8.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:47 +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; Mon, 27 May 2024 05:06:46 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:45 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 02/11] AArch64: Add test cases for SVE types in OpenMP shared clause. Date: Mon, 27 May 2024 10:36:17 +0530 Message-ID: <20240527050626.3769230-3-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009528:EE_|PAXPR08MB7368:EE_|AMS0EPF00000199:EE_|AS8PR08MB6264:EE_ X-MS-Office365-Filtering-Correlation-Id: 38bd9ddb-c164-4343-e642-08dc7e0ad551 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|1800799015|82310400017|36860700004; X-Microsoft-Antispam-Message-Info-Original: 3O0Wo7brp2rwM2DmcJX+YXnNJZY2CuG0t6rjxGwSaNmH2GCTJbIVo8fTe0KMJ+JzKsQKw5kBGshb9OfGXfBAYsUnSJW1VF2FlrSujwWiq5LnUWezcf63SBafYY9Wk98Ikp5iRyixXxvFr1kulIHK+VzXhRiNCipt0MQ4MvMK7/CB2xF3T81kdFTS6gc9zt/392Iuk5uWt3b6LmEJx9Ldif2JYxAm+8WcdU2ZP/oMDRHaeuzeUccNWIU4tdvQmYRgB1rn0PXCSpZOsOJXpVAjEGs2K9Fze45eEXAiLl9QoMHMrF5vgo+dr1SxmEHFbEjfjvHdl3dp4OdVcnrf+PNwO+Z80qfDruam00C3k9qgpH1lC/s+j5OKGW14hNkmQvNTH4Uph3wZcudPxMNa/MQDBWjSl2uSt4XprvfHwEHAejylj75TxjPeoTQRqy3jFZxpiUjXpth9ay/WiDuG/Jqsu4TwvJtW3TfuE5o7lPwXJ8Hq+JFRLFlu8/6y0awYMPmJitAfk/jsV5qs/LBybMTgv9i2zZuyU/heGxu6ruVn5uyDXBeuwTtepTUARKslJEc/wXqlic3IGS9N6Zvb0pyWhMwUepmjSCCCAT9HByDb8G1+7Rq3SSfW5qSXmmF2nHKw+aztD+qjHa4rlDYqwXT0hV9l2dJ72w3pQpQMu+ezFlpv9ZUVVD12guIrOk+txJ3J9kbWEf4isV2Bx997TWz+r8SRFU/wTOoqZvBrGlJjRO7Cl/cJ4lc7iE1duSIR56wMt56+fi6fq/B9vu8PXVHBs15lRul2gth4YOOUgjQFbShEwOMwc0tNSjqxbp9HA9wIlLJYg/0VX4Nym0fsr3+1jkRH3/sJrBbFVnBWFkJeUR/UmTuWcLcjpr0HYZLmqfARQ7whNGV+N1ToqsVlLCjjzIH4lxsmuzWIfS+ooLk2Eegtf2tcLpxmXI2AIrNH+rPEDBLFqaPP3qRQtjKoenxZTDsKrNyEOAK4GmAr2rhCpKMTLE1gvoj5HmM5W4m2WPPOyeec+RQ/YyWsHAJu9yGyTY5Vg+J6uNw8ICHUqZvIdtq5esiENaxy/Xb7BYrmvJd59+D9rUpicI/wHeLOvdZ41AVKcZDbolZnSk4HkPIb6qAqIDObfS6VPoedbZlZ22nbDv/+4vlEDDg2QYTQb6KiJNUUZlgxfiOS0RRBt6CkYrA1kOER8LCiMCp46Gsmxj+J76dWkD5IT5e/0dAs7RMPpkVXlK3+JZ+QLw6YZEhRlhK1dggmJ4269ZvzGZ7iXtjdpAUjkDkeZwBp2O60DoX5SY6jg1fa40Jd1c1fzXc2kzeBN3xvQFZdbxS/0Sqz23JQ 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:(13230031)(376005)(1800799015)(82310400017)(36860700004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7368 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000199.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 784a608a-282b-47ac-f612-08dc7e0acf55 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|1800799015|376005|82310400017|35042699013; X-Microsoft-Antispam-Message-Info: LQSDtB3v7mkb+qytirwsEOXxWwj6RJaaSE1augPJZeX2SrcxVMpeXZfA7mN3fRblJjPODcvhVQzfaYVWVr5L3LgqHxvuwZBqyq0umynSa6MptS2fNYWgpZvArGnmrYxP95YBzZf+jOKvSNvAf5p/VAKqHK58w5TMfjKVrq10Z9bPvLJqHIu4X3Q8AOKW4DOvZ/fqN0G1RMc3TLdX0rVNSQ+4ZmYtmk3VCwBluNZRnXq9owM+VvTpgDHUxzYLyTvDG5kZYnLMQwh8fWHCkyZQANEbGNa369i9x8yUwU/EecaC/sSA3172FzW0qfgWY/mhAu1QrGHo+/cvVWAYKSQxC74eaBGkUZqWfwdakQerTJOTo9Zrq1ksRehWf4nyT/U14uXHHOzcYGXt2edY4YbrPFpv1FhUx56iIjzOn8FwhcpBMzFBZgWAkic9OT76PDDY9r4zxlOZmbyyFqDKU+IIiuhjlpafhl1/XknL6jB5+zB2zROzcAQ3CPyMaHKFeiU2e55WdWfWePx+uPotz8OJfmN74kwWrJNgqcalRW9A7YZTiF2C1fuYQ045dJVv+ph2bzyF1Il4pNQlgjHeu8Z/efQZdv3ps1B4UsDAdilN1DcA9L+6CfBkwsi5FJ+tisKJPVCKrz+GwM6UrxHL50vtINlxWsMXB7A7zQL/IEOxJbgZggU3dNlhiQsSTo25iEi35PH8DFl2OP+OCuT5TGxlNuzSt/gJ1T4Y03QjpK5QWAjhJVhPVXFi5Bn8bcQIqv0TRRwL3ippGG3Qi/U9Pa9bwmMkaE2eS/tHBeGCJbFok30E21bwoVTY3v7v68piJVPyCGfgioQZP6K7qi4j86HO7CzPv6DRMWbTGlj6stnLbnze4uAfIcwLPO2bGuVza7F5MvvKtHx0ISy2wQyytHjM/LTXojMwZ108UT4ycRoN0DqsOyweXBFw7rYQep8MpsyBWDWgQwkcH7j/JzKOssFWyVfOfW01WLG7NwHVdcBmcwRtQHKL84XHFJWqKyypmbq2ZEQliW3o2cEuDK4cUlrKAF4LI17oDY0+RrLxoD8FZd03jE2Di11PCoUmO9EAFaD0e7rdEcLHxbmsKxoNcJyUYIyKZ6BkvDL3Lq7PEKPUcECW4O+54teYfsSMHnKLeBcsbL8IcmiVnXlZupLcryzSd+8OTckkv7BUe2kHK2DyrnKOfY2ShVeaGfsLF6+y3yrjlOP9cC9uZuCrflGHyT+JEzUJrMPT9JXaCVCraNnZhJXOeuE+0+NRSTSbGyvpw/Gt5tlgkWQ1ZYkuiG0BYK9XWV9W5xHkC1+Qc5hDZpbwc4RPAr9FjJXgZunDYrA3Q75w 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)(36860700004)(1800799015)(376005)(82310400017)(35042699013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:06:57.2672 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 38bd9ddb-c164-4343-e642-08dc7e0ad551 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: AMS0EPF00000199.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6264 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, KAM_SHORT, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, 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 This patch tests various shared clauses with SVE types. It also adds a test scaffold to run OpenMP tests in under the gcc.target testsuite. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp: New scaffold. * gcc/testsuite/gcc.target/aarch64/sve/omp/shared.c: New test. --- .../aarch64/sve/omp/aarch64-sve-omp.exp | 80 ++++++++ .../gcc.target/aarch64/sve/omp/shared.c | 186 ++++++++++++++++++ 2 files changed, 266 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/shared.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp b/gcc/testsuite/gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp new file mode 100644 index 00000000000..1997c80c334 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/aarch64-sve-omp.exp @@ -0,0 +1,80 @@ +# Copyright (C) 2006-2024 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +# GCC testsuite that uses the `dg.exp' driver. + +# Exit immediately if this isn't an AArch64 target. +if {![istarget aarch64*-*-*] } then { + return +} + +# Load support procs. +load_lib gcc-dg.exp + +# Initialize `dg'. +dg-init + +if ![check_effective_target_fopenmp] { + return +} + +proc omp_link_flags { } { + global ld_library_path + global TOOL_OPTIONS + + set flags "" + + if ![is_remote host] { + if [info exists TOOL_OPTIONS] { + set gccpath "[get_multilibs ${TOOL_OPTIONS}]" + } else { + set gccpath "[get_multilibs]" + } + } + + if { $gccpath != "" } { + if [file exists "${gccpath}/libgomp/libgomp.spec"] { + append flags "-B${gccpath}/libgomp/ -L${gccpath}/libgomp/.libs -I${gccpath}/libgomp/" + append ld_library_path ":${gccpath}/libgomp/.libs" + } + } else { + global tool_root_dir + + set libgomp [lookfor_file ${tool_root_dir} libgomp] + if { $libgomp != "" } { + append flags "-L${libgomp} -B${libgomp}" + append ld_library_path ":${libgomp}" + } + } + + set_ld_library_path_env_vars + + return "$flags" +} + +if { [check_effective_target_aarch64_sve] } { + set sve_flags "" +} else { + set sve_flags "-march=armv8.2-a+sve" +} + +# Main loop. +dg-runtest [lsort [find $srcdir/$subdir *.c]] "[omp_link_flags] $sve_flags -fopenmp" "" + +# All done. +dg-finish diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/shared.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/shared.c new file mode 100644 index 00000000000..3f380d95da4 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/shared.c @@ -0,0 +1,186 @@ +/* { dg-do run { target aarch64_sve256_hw } } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include +#include +#include +#include + +svint32_t +__attribute__ ((noinline)) +explicit_shared (svint32_t a, svint32_t b, svbool_t p) +{ + +#pragma omp parallel shared (a, b, p) num_threads (1) + { + /* 'a', 'b' and 'p' are explicitly shared. */ + a = svadd_s32_z (p, a, b); + } + +#pragma omp parallel shared (a, b, p) num_threads (1) + { + a = svadd_s32_z (p, a, b); + } + + return a; +} + +svint32_t +__attribute__ ((noinline)) +implicit_shared_default (svint32_t a, svint32_t b, svbool_t p) +{ + +#pragma omp parallel default (shared) num_threads (1) + { + /* 'a', 'b' and 'p' are implicitly shared. */ + a = svadd_s32_z (p, a, b); + } + +#pragma omp parallel default (shared) num_threads (1) + { + a = svadd_s32_z (p, a, b); + } + + return a; +} + +svint32_t +__attribute__ ((noinline)) +implicit_shared_no_default (svint32_t a, svint32_t b, svbool_t p) +{ + +#pragma omp parallel num_threads (1) + { + /* 'a', 'b' and 'p' are implicitly shared without default clause. */ + a = svadd_s32_z (p, a, b); + } + +#pragma omp parallel num_threads (1) + { + a = svadd_s32_z (p, a, b); + } + + return a; +} + +svint32_t +__attribute__ ((noinline)) +mix_shared (svint32_t b, svbool_t p) +{ + + svint32_t a; + int32_t *m = (int32_t *)malloc (8 * sizeof (int32_t)); + int i; + +#pragma omp parallel for + for (i = 0; i < 8; i++) + m[i] = i; + +#pragma omp parallel + { + /* 'm' is predetermined shared here. 'a' is implicitly shared here. */ + a = svld1_s32 (svptrue_b32 (), m); + } + +#pragma omp parallel num_threads (1) + { + /* 'a', 'b' and 'p' are implicitly shared here. */ + a = svadd_s32_z (p, a, b); + } + +#pragma omp parallel shared (a, b, p) num_threads (1) + { + /* 'a', 'b' and 'p' are explicitly shared here. */ + a = svadd_s32_z (p, a, b); + } + + return a; +} + +void +__attribute__ ((noinline)) +predetermined_shared_static (bool x) +{ + + int32_t *m = (int32_t *)malloc (8 * sizeof (int32_t)); + int i; + +#pragma omp parallel for + /* 'm' is predetermined shared here. */ + for (i = 0; i < 8; i++) + { + m[i] = i; + } + +#pragma omp parallel + { + /* 'a' is predetermined shared here. */ + static int64_t n; + svint32_t a; + #pragma omp parallel + { + /* 'n' is predetermined shared here. */ + if (x) + { + a = svld1_s32 (svptrue_b32 (), m); + n = svaddv_s32 (svptrue_b32 (), a); + } + if (!x && n != 28) + __builtin_abort (); + } + } +} + +svint32_t +__attribute__ ((noinline)) +foo (svint32_t a, svint32_t b, svbool_t p) +{ + a = svadd_s32_z (p, a, b); + a = svadd_s32_z (p, a, b); + return a; +} + +void compare_vec (svint32_t x, svint32_t y) +{ + svbool_t p = svnot_b_z (svptrue_b32 (), svcmpeq_s32 (svptrue_b32 (), x, y)); + + if (svptest_any (svptrue_b32 (), p)) + __builtin_abort (); +} + +int +main () +{ + svint32_t x = svindex_s32 (0 ,1); + svint32_t y = svindex_s32 (8, 1); + svint32_t a, b; + svbool_t p; + + /* Implicit shared. */ + a = foo (x, y, p); + b = implicit_shared_default (x, y, p); + compare_vec (a, b); + + /* Explicit shared. */ + a = foo (x ,y, p); + b = explicit_shared (x, y, p); + compare_vec (a, b); + + /* Implicit shared with no default clause. */ + a = foo (x ,y, p); + b = implicit_shared_no_default (x, y, p); + compare_vec (a, b); + + /* Mix shared. */ + a = foo (x ,y, p); + b = mix_shared (y, p); + compare_vec (a, b); + + /* Predetermined shared. */ + predetermined_shared_static (true); + predetermined_shared_static (false); + + return 0; +} + +/* { dg-final { scan-tree-dump-times "value-expr: \*.omp_data_i->a" 10 "ompexp" } } */ From patchwork Mon May 27 05:06:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939611 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=YNc0WhQG; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YNc0WhQG; 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 4VnkFQ0zpmz20Pq for ; Mon, 27 May 2024 15:08:42 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 69B073865C22 for ; Mon, 27 May 2024 05:08:40 +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-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58]) by sourceware.org (Postfix) with ESMTPS id 1836C3858294 for ; Mon, 27 May 2024 05:07:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1836C3858294 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 1836C3858294 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.58 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; cv=pass; b=wLTkBmwNvWVqTiLPWiONGaIkgI8uJ+zpVDk9gU+KGgZkE4cRQGQnaVM6WKtowk6eO1NpahsTW6qgikGb8mMlXIL9Lg7uCyyzxzGHpDOEvupZuYt0nRYf+7jthuM6aDOdOKyMLHV6FBAl56MOrxadQabKckOmNTIfaQngt/RxZ0Y= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; c=relaxed/simple; bh=TTJYF60oAR+fKo4+f0g6hsK6RPW9P7RP3AkrMZxgTv0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=YBoAffmJ6su9csU7PnYUmnHYkjhVROSEGvypCV576BNCAj0mlzlZTsaS0K/Wrz5+oLaRe3PUt3biYJCc/DJsGB6+UlWZcouDFwyJotSd7V6ep6L4j71ey3EtuSUQErINGcddmZ/QMCKJkxBYWF7gdpI5n0CXW/9nxpYONBRCpkM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=OSO8Nxju0hEdRH+JYVmwR5ZRmf8iY+V4X1IS4u/fG6rXfJFDuNWMgedqITV2JEjSNrfCcxWxm49VR5fAwcB+ts6gNBul8jU79N62lOyhsn2iYd35MfAhZvagisjuYrUdS3qnxvgTOV9B63zMpDgW9PtvAtFJhN3C+iPtswaRKrv6TbMImOgSKo1AZW9cZNXpW6RDbjjh/7K49gkugV+HMkhrN4sTGGFk1VnkdL/999oLmgjjXdPLucjvV2H5IsYUea3N8iZoDoRs9Ryei1F7Kf684v5nhvNZVKFmLri+X+2G6IVuopwGAExlEm7v3v4nUnVyWcMW4WMwgkb5Fm8A4Q== 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=ZBtbFDFrxnwCINhn2EMUoZwwL2VIq6WKmZ6FnJjWYGU=; b=jca8InRB1lbp2ANOrSMEyXEdjSRz3QuQL1WZgZ7YQSKfZ3kVLeNScxjCcP5RZnwBIhTHuQU1tn2CJz3HvuovZztf3vCnvZOmk9ryN7cCzhky+I9ZCARG4C6zfxSBRA6lSYO1XeHzGuaqsTQgMmNRcwcpcSwTA/Frux7g21piA1biuFU24uIWTzNoITUgymRA/URfLXJfHq8oPSyPbnzzNLWCYfuSUermtqisOMv8N5IHFRC3GWpVk1jSKODQoiNJ1SRNz56ycb8Uf+g7R5tGgBYxK9uHFuKBIlWeT0X8mKvRoeM9HB35c82EZKq/O2Kv45+VGDlP6L6IchSbGYQ6Tg== 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=ZBtbFDFrxnwCINhn2EMUoZwwL2VIq6WKmZ6FnJjWYGU=; b=YNc0WhQGRacNTIFSGxEzNaTkvgfrgJbqH7RoHGFDqcEDxznuF1zC9yyQlkH7j6Eh+TtNOkqk8/gi1pLqu0Fw1+wLnMyT4Y9Sg+gB2PlfJg4CRDuPUQwMzgFUXZFrYUYuAKkmPRh7mWkGVzINzWbBrdbYCGzOVid+bJ61i8Bdjwo= Received: from AS8P189CA0057.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:458::35) by GV2PR08MB9279.eurprd08.prod.outlook.com (2603:10a6:150:d7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.27; Mon, 27 May 2024 05:07:01 +0000 Received: from AM4PEPF00027A5E.eurprd04.prod.outlook.com (2603:10a6:20b:458:cafe::90) by AS8P189CA0057.outlook.office365.com (2603:10a6:20b:458::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07:01 +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 AM4PEPF00027A5E.mail.protection.outlook.com (10.167.16.72) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:01 +0000 Received: ("Tessian outbound 2fd40f2ccfd7:v327"); Mon, 27 May 2024 05:07:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 86bc1bc663c305d1 X-CR-MTA-TID: 64aa7808 Received: from affe935fbc64.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B85CA056-8F95-4E29-A742-1101394AF6AB.1; Mon, 27 May 2024 05:06:54 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id affe935fbc64.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XzwuYeMab+OcJ/7wkamj8T1eur518rcJeJhJXmvoyyqPEm1QjwGMhuG+RtslfMxM9qIIMmeDv66rGvR8ryDo7LclrOpJlaX67pqKM3awmKxoYxJzrzDwQbjYUGshDPexRu075fz85+eyBB8+s1dIW3+RCFhUutdgF33k6xNCN/Uvgpey1dN0vc9b+Q1IGioZzOMwAw/dlJIzy0LTT2+MoMtmwGrdM4xuWP5xQIYakNM4DgWsqFU4DE1YO74Ny+Wp5A1rO2vLwPdNM25xHNgnHDkRRGJSYyi8Yt36xBDEJrz4+Lh72nq1jVy6L0S5r+Us+Yr7Ni7ZkNYVI9q83aws9w== 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=ZBtbFDFrxnwCINhn2EMUoZwwL2VIq6WKmZ6FnJjWYGU=; b=L/nU33bICwhkEkrth2ZXnaYIibrsyzBEmqHSKyJsUa9Nv3v2Zl2H6B4N/WuTy+E30PHpYTSNwsbJ5XMmkPAmlOwN/vFqrCI8Z06iXWy+XvdXPjfrYYko0bc6LHGzEUhn3czsNrbU0wt6Vz5iujHi7wSj0n14iNbIZjXxN+yez+D8QKWDJGXqOLs0aPIHHnHGtecojeM3M3oG5C3Erm1ZEwKgWI1fqzO6B+n5h70gwht/8C+zv8NJ/UhVPs95va4z3P3do2TRJMMxS0nY+mkp1EKcPEmFxgGzwRBIgP74oNkN7faFk1Ppy8OrCMJS0tTXvUr67y9i5lb4joYfcvxFsg== 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=ZBtbFDFrxnwCINhn2EMUoZwwL2VIq6WKmZ6FnJjWYGU=; b=YNc0WhQGRacNTIFSGxEzNaTkvgfrgJbqH7RoHGFDqcEDxznuF1zC9yyQlkH7j6Eh+TtNOkqk8/gi1pLqu0Fw1+wLnMyT4Y9Sg+gB2PlfJg4CRDuPUQwMzgFUXZFrYUYuAKkmPRh7mWkGVzINzWbBrdbYCGzOVid+bJ61i8Bdjwo= Received: from DB9PR06CA0018.eurprd06.prod.outlook.com (2603:10a6:10:1db::23) by PAVPR08MB9844.eurprd08.prod.outlook.com (2603:10a6:102:2f8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Mon, 27 May 2024 05:06:49 +0000 Received: from DU6PEPF00009529.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::d7) by DB9PR06CA0018.outlook.office365.com (2603:10a6:10:1db::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:49 +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 DU6PEPF00009529.mail.protection.outlook.com (10.167.8.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:49 +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; Mon, 27 May 2024 05:06:47 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:46 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , , Andrea Corallo Subject: [PATCH 03/11] AArch64: Diagnose OpenMP offloading when SVE types involved. Date: Mon, 27 May 2024 10:36:18 +0530 Message-ID: <20240527050626.3769230-4-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009529:EE_|PAVPR08MB9844:EE_|AM4PEPF00027A5E:EE_|GV2PR08MB9279:EE_ X-MS-Office365-Filtering-Correlation-Id: bb4e7b89-c153-49ed-61c7-08dc7e0ad7bb 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|36860700004|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: Ll5IljT60ymDTf3ZDm+pA/AOXEWw/qLwzL59IzBNZriQsUjGLLRa8O3k48/EAxC4236l92GDUIuC6VxjoeTGNjizDaK10OfyoKzNBFjnoBL/8UYnKjnY/1HknIo61fQnw9gYACLKmtAcE4WrHd1cm0RRIoMoCQdxNa5PORoIMUUORuGjJxQyPII3akMPOC8rx1yD9yEcqdozL7RpR3dGWKo03n+ppZTCGq906UnXHYXk7bL3yR5G8ECKZEhCXRpH0YpRACOiQngSIt9UoWnJemg6c8dQwnQXQH4tgEJ5pASBgM9N+508gc5eVx5/OKMsuC0pixvXPaXblTeKsgsDJtciWXXlZ0+NCG7dGa1wzAAkuqnSmELtgiFULuFae1aYH/cAN5uUpOkOIq4vPoNqJyRq4gJW7Cy+GTA+3oZ+mUXqA4f1Lz9XKjFLfieYV7cPt3iLuEIsN9fly83Fbrg33Uq27yeI0Ebk4TchashugNSE18bc3H0o/N0L6tY0Ze1sXerwXAC8/5jaxiUGLb/VQ2t0trWxopDBbMOhU12CP2N7Q9+fvJJxhUgXXRLmPlSgHjj+BSaVzWHzm7S0qipfEDeKofm3CNPxFaeTtC/BMGEs40KgpIvTPc986OdPx2KiNHYbsv8Eqx0qH8RD3IfZt9wAjq6wEsgiKh+556qnp5+yCiFZ7YbfBdN5NDeSka1oITFc/nAXOoRK72ceOCdDYPHRUgPneIIzcdNvhLAVP6NIgjx6GktE4elouOngpAyhoVLc8lu+xbxw6xQs5vadHQZ+7tL2xu+RnbbfB0RwHMF6Y4ln0Y+2W9HSqH+dRJALk7dtNbo+WapBn9Nec6v80+Y4BLoecBa0FgjUBUQBDdh/AGkHPVVLQO7ZyLfoM7UbIdrwsdWzHuk00qFP71tx+Pbm3tCVp09k306jfknW3j3PQD5vjKnH9Ex78RoDeb6eLVkebdqb6oTeW5BPhj1+r24+e54afzAWAaPfqXtgNjFSTVVOGljC/dW4tF5pohQ7fb0iaRHF4aYNCtl7CkkN0+UXs6LXq7ji+tL9LoE1Q05ZpBd18eoSBlH7DYTcPDd2No5oaymI6mQSagg9w++dwjZLX9XN60s+ujQEDuDQoaME5KYn+zti+lINwsqXJU+kEHGdNcxAfGtJR90+/MTAzivhZgplNQNhipcEbVQGRKTSJqzIEMn8m/TeRrHd1Mx1cHxq0gBCUfKJbN4N7QuTpkeOmPkaXR9xR+Vy0pKORIONZYkLJ1YXcINvoWX4Do003KIHv4+EyeSdZ5DxrLX8ImZwfsa8jivIAF5wSi8W1EmE6X9/T5jqbF5SCGYI5f07 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:(13230031)(376005)(36860700004)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9844 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A5E.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fd8ea974-130d-4b77-8cf9-08dc7e0ad088 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|1800799015|376005|35042699013|82310400017; X-Microsoft-Antispam-Message-Info: Tojvdw5WNkNRv30LqQAyIkUEY5jQfHflbMAQf5tENAyN/9/XNIX7/YsiIXEe3f7x5ViP1hGBxRENVWuNdQlo0/awhgLCx7sGBZ+I7SGqIkxGwb/JE8Ezvox15c9RLoTvKkON7yxM7lz5cbAOEVJCdOZxKwwh4B6L4FBD4eNyCIHJ4zu6AKn21yvq2iaGVNWpU0S/k/LNR2lL/+zb/CXwy5tUoEBSBE2qx7YAd4H086qCIQChFKZQ6ibD3Q6D+aCwocm3v3cSUox6K/PJWUyGKRHHWz65RKiRbKCLs9TznTVgGlciVz/ztjOjsrFfRsHFH+Z47f9H7k5WJd33+nWIgOSVDHRrQ9MgWAQEMZJwFQpvgrFsxVFOPclpBkwOVPgm0DT1Uee7i4064VeCMH8FCMQj9kbRm5T1PAQEI60U4Jd3ZjKZmfdv+vs2U7kfu9mE0AmeDiIhfGNJrwDPreXoffQS/WZl4Q133SjEzd2VRO494JZa9x1MPRVvOdMp7LcFv37mmK87+7x2rTJ2c4eF9s04d/SrADUqzi/Yvtrsz4+yu3xcQTx8x2DP9WqhM/dMgn7T8N3rdQHW2RhvZU0Jev7xgGMUYjMRVfAOel5AjaHuIIHIvoNXXBIzbH6Ja625dGzH6uMS6P+iH6UTb3Burru3PdgWxqVDwXGQfG//G1V9zKMiLxFgzUTlDZq8XfuI08qut9f8Y5AOpBpAfJHrwztZszKsDGzrROAH2Zvj/ZM8lJ6yJlO8jOmLgsigfb73wjKQRIx1poV1xPr63v33IQis5vTYOfB0nl15HY6HEoI67Fi7Hh4ajUGMY4WdPAufD3efjH+Rsk9qsXBM6972N01eqt0C7SQaeBOF+Io5HRaBQzgIpTJbvT3w1C38rCygbVeem5jtBo7Y7GxWsRSZVcZZ1BJixU0DoLi8mNLYl8pzR1aq8BJa7fsHUvvjEJKm9MCHa8MUh5zSvZVb2yr6yFmTty8cYdtOP9CoY2/7dICj0XmbAv3KSf5LTfs/OhIna/IVHv9FW8QJ/hhbDrh+i+0TG7EeXXO0deG425S8e5Z5aZd0SPaHaSIF8T8Y0Bm9egA0/z/DDeLTD+F1coppnAYj6mf8tlBQVGk8QTyNH2XJK1gl2fOmp9c/RQZKcvM/CJ47YVJetAW3xTCo59Q9Z/E1u8RzIKIcoavK7pMeu3pctwHkIjxlu+DBhcr9J7RcrhCGvtnO2dlU0yoe8Jhu5uPqYMnubHZcG6hRCBYMg3tfK6UI3I/Yup0sLBTy6XK+min4zULI2PN0XciypZP4EfTBlDqrjGtT0cGWgciNPElEM6PJe2LYK3yWF2KCjGP5 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)(36860700004)(1800799015)(376005)(35042699013)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:01.3297 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bb4e7b89-c153-49ed-61c7-08dc7e0ad7bb 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: AM4PEPF00027A5E.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9279 X-Spam-Status: No, score=-12.8 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, T_SCC_BODY_TEXT_LINE, 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 The target clause in OpenMP is used to offload loop kernels to accelarator peripeherals. target's 'map' clause is used to move data from and to the accelarator. When the data is SVE type, it may not be suitable because of various reasons i.e. the two SVE targets may not agree on vector size or some targets don't support variable vector size. This makes SVE unsuitable for use in OMP's 'map' clause. This patch diagnoses all such cases and issues an error where SVE types are not suitable. Co-authored-by: Andrea Corallo gcc/ChangeLog: * target.h (type_context_kind): Add new context kinds for target clauses. * config/aarch64/aarch64-sve-builtins.cc (verify_type_context): Diagnose SVE types for a given OpenMP context. * gimplify.cc (omp_notice_variable): Diagnose implicitly-mapped SVE objects in OpenMP regions. (gimplify_scan_omp_clauses): Diagnose SVE types for various target clauses. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sve/omp/offload-1.c: New test. * gcc.target/aarch64/sve/omp/offload-2.c: Likewise. * gcc.target/aarch64/sve/omp/offload-parallel-loop.c: Likewise. * gcc.target/aarch64/sve/omp/offload-parallel.c: Likewise. * gcc.target/aarch64/sve/omp/offload-simd.c: Likewise. * gcc.target/aarch64/sve/omp/offload-teams-distribute-simd.c: Likewise. * gcc.target/aarch64/sve/omp/offload-teams-distribute.c: Likewise. * gcc.target/aarch64/sve/omp/offload-teams-loop.c: Likewise. * gcc.target/aarch64/sve/omp/offload-teams.c: Likewise. * gcc.target/aarch64/sve/omp/target-device.c: Likewise. * gcc.target/aarch64/sve/omp/target-link.c: Likewise. --- gcc/config/aarch64/aarch64-sve-builtins.cc | 31 +++ gcc/gimplify.cc | 34 ++- gcc/target.h | 19 +- .../gcc.target/aarch64/sve/omp/offload-1.c | 237 ++++++++++++++++++ .../gcc.target/aarch64/sve/omp/offload-2.c | 198 +++++++++++++++ .../aarch64/sve/omp/offload-parallel-loop.c | 236 +++++++++++++++++ .../aarch64/sve/omp/offload-parallel.c | 195 ++++++++++++++ .../gcc.target/aarch64/sve/omp/offload-simd.c | 236 +++++++++++++++++ .../sve/omp/offload-teams-distribute-simd.c | 237 ++++++++++++++++++ .../sve/omp/offload-teams-distribute.c | 236 +++++++++++++++++ .../aarch64/sve/omp/offload-teams-loop.c | 237 ++++++++++++++++++ .../aarch64/sve/omp/offload-teams.c | 195 ++++++++++++++ .../aarch64/sve/omp/target-device.c | 97 +++++++ .../gcc.target/aarch64/sve/omp/target-link.c | 48 ++++ 14 files changed, 2234 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel-loop.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-simd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute-simd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-loop.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/target-device.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/target-link.c diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index f3983a123e3..ee1064c3bb7 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -5000,6 +5000,29 @@ bool verify_type_context (location_t loc, type_context_kind context, const_tree type, bool silent_p) { + if (aarch64_sve::builtin_type_p (type) + || (POINTER_TYPE_P (type) + && aarch64_sve::builtin_type_p (TREE_TYPE (type)))) + switch (context) + { + case TCTX_OMP_MAP: + error_at (loc, "SVE type %qT not allowed in map clause", type); + return false; + case TCTX_OMP_MAP_IMP_REF: + return false; + case TCTX_OMP_PRIVATE: + error_at (loc, "SVE type %qT not allowed in target private clause", type); + return false; + case TCTX_OMP_FIRSTPRIVATE: + error_at (loc, "SVE type %qT not allowed in target firstprivate clause", type); + return false; + case TCTX_OMP_DEVICE_ADDR: + error_at (loc, "SVE type %qT not allowed in target device clauses", type); + return false; + default: + break; + } + if (!sizeless_type_p (type)) return true; @@ -5060,6 +5083,14 @@ verify_type_context (location_t loc, type_context_kind context, if (!silent_p) error_at (loc, "capture by copy of SVE type %qT", type); return false; + + case TCTX_OMP_MAP: + case TCTX_OMP_MAP_IMP_REF: + case TCTX_OMP_PRIVATE: + case TCTX_OMP_FIRSTPRIVATE: + case TCTX_OMP_DEVICE_ADDR: + default: + break; } gcc_unreachable (); } diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc index d87eb433395..dc958d2f55d 100644 --- a/gcc/gimplify.cc +++ b/gcc/gimplify.cc @@ -8349,11 +8349,13 @@ omp_notice_variable (struct gimplify_omp_ctx *ctx, tree decl, bool in_code) | GOVD_MAP_ALLOC_ONLY)) == flags) { tree type = TREE_TYPE (decl); + location_t dummy = UNKNOWN_LOCATION; if (gimplify_omp_ctxp->target_firstprivatize_array_bases && omp_privatize_by_reference (decl)) type = TREE_TYPE (type); - if (!omp_mappable_type (type)) + if (!omp_mappable_type (type) + || !verify_type_context (dummy, TCTX_OMP_MAP_IMP_REF, type)) { error ("%qD referenced in target region does not have " "a mappable type", decl); @@ -12083,6 +12085,8 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p, unsigned int flags; tree decl; auto_vec addr_tokens; + tree op = NULL_TREE; + location_t loc = OMP_CLAUSE_LOCATION (c); if (grp_end && c == OMP_CLAUSE_CHAIN (grp_end)) { @@ -12090,6 +12094,34 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p, grp_end = NULL_TREE; } + if (code == OMP_TARGET || code == OMP_TARGET_DATA + || code == OMP_TARGET_ENTER_DATA || code == OMP_TARGET_EXIT_DATA) + /* Do some target-specific type checks for map operands. */ + switch (OMP_CLAUSE_CODE (c)) + { + case OMP_CLAUSE_MAP: + op = OMP_CLAUSE_OPERAND (c, 0); + verify_type_context (loc, TCTX_OMP_MAP, TREE_TYPE (op)); + break; + case OMP_CLAUSE_PRIVATE: + op = OMP_CLAUSE_OPERAND (c, 0); + verify_type_context (loc, TCTX_OMP_PRIVATE, TREE_TYPE (op)); + break; + case OMP_CLAUSE_FIRSTPRIVATE: + op = OMP_CLAUSE_OPERAND (c, 0); + verify_type_context (loc, TCTX_OMP_FIRSTPRIVATE, TREE_TYPE (op)); + break; + case OMP_CLAUSE_IS_DEVICE_PTR: + case OMP_CLAUSE_USE_DEVICE_ADDR: + case OMP_CLAUSE_USE_DEVICE_PTR: + case OMP_CLAUSE_HAS_DEVICE_ADDR: + op = OMP_CLAUSE_OPERAND (c, 0); + verify_type_context (loc, TCTX_OMP_DEVICE_ADDR, TREE_TYPE (op)); + break; + default: + break; + } + switch (OMP_CLAUSE_CODE (c)) { case OMP_CLAUSE_PRIVATE: diff --git a/gcc/target.h b/gcc/target.h index c1f99b97b86..9cebd354fdb 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -271,7 +271,24 @@ enum type_context_kind { TCTX_EXCEPTIONS, /* Capturing objects of type T by value in a closure. */ - TCTX_CAPTURE_BY_COPY + TCTX_CAPTURE_BY_COPY, + + /* Objects of type T appearing in OpenMP map clause. */ + TCTX_OMP_MAP, + + /* Objects of type T appearing in OpenMP target region + without explicit map. */ + TCTX_OMP_MAP_IMP_REF, + + /* Objects of type T appearing in OpenMP private clause. */ + TCTX_OMP_PRIVATE, + + /* Objects of type T appearing in OpenMP firstprivate clause. */ + TCTX_OMP_FIRSTPRIVATE, + + /* Objects of type T appearing in OpenMP device clauses. */ + TCTX_OMP_DEVICE_ADDR + }; enum poly_value_estimate_kind diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-1.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-1.c new file mode 100644 index 00000000000..20dd478e079 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-1.c @@ -0,0 +1,237 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 + +#ifndef CONSTRUCT +#define CONSTRUCT +#endif + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) /* { dg-error {SVE type 'svint32_t' not allowed in target private clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-2.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-2.c new file mode 100644 index 00000000000..efb4d274de8 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-2.c @@ -0,0 +1,198 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 + +#ifndef CONSTRUCT +#define CONSTRUCT +#endif + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } +} + return va; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel-loop.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel-loop.c new file mode 100644 index 00000000000..4c6a0d4d96a --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel-loop.c @@ -0,0 +1,236 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT parallel loop + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* Combined construct scenario: here private applies to the parallel loop + construct, so no error. */ +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel.c new file mode 100644 index 00000000000..39dcd39a5f5 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-parallel.c @@ -0,0 +1,195 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define CONSTRUCT parallel +#define N 256 + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } +} + return va; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-simd.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-simd.c new file mode 100644 index 00000000000..2bb2a884fcf --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-simd.c @@ -0,0 +1,236 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT simd + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* Combined construct scenario: here private applies to the simd construct so + no error. */ +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute-simd.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute-simd.c new file mode 100644 index 00000000000..6a61883e80a --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute-simd.c @@ -0,0 +1,237 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT teams distribute simd + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* Combined construct scenario: here private applies to the distribute simd + construct, so no error. */ +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute.c new file mode 100644 index 00000000000..6852d427866 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-distribute.c @@ -0,0 +1,236 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT teams distribute + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* Combined construct scenario: here private applies to the teams distribute + construct, so no error. */ +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-loop.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-loop.c new file mode 100644 index 00000000000..aad6c47067c --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams-loop.c @@ -0,0 +1,237 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT teams loop + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } +} + return va; +} + +int64_t __attribute__ ((noinline)) +omp_target_private () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* Combined construct scenario: here private applies to the teams loop + construct, so no error. */ +#pragma omp target CONSTRUCT private (va, vb, vc) map (to: b, c) map (from: res) + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_firstprivate (svbool_t vp) +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT firstprivate (vp) map (to: b, c) map (from: res)/* { dg-error {SVE type 'svbool_t' not allowed in target firstprivate clause} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams.c new file mode 100644 index 00000000000..a4269108166 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/offload-teams.c @@ -0,0 +1,195 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 +#define CONSTRUCT teams + +svint32_t +__attribute__ ((noinline)) +omp_target () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_1 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_data_map_2 () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + + +#pragma omp target CONSTRUCT map(to: b, c) map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: b, c) map(tofrom: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_enter_exit () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target enter data map(to: b, c) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + } + +#pragma omp target CONSTRUCT map(to: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } + +#pragma omp target exit data map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + + return va; +} + +svint32_t +__attribute__ ((noinline)) +omp_target_map_data_alloc_update () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data map(to: b, c) map(alloc: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ +{ +#pragma omp target CONSTRUCT + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + } + } + +/* Update va on the host from target. */ +#pragma omp target update from(va) + +#pragma omp target CONSTRUCT map(from: va) /* { dg-error {SVE type 'svint32_t' not allowed in map clause} } */ + { + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (svptrue_b32 (), c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (svptrue_b32 (), vb, va); + va = svadd_s32_z (svptrue_b32 (), vc, va); + } + } +} + return va; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/target-device.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/target-device.c new file mode 100644 index 00000000000..4c92015837f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/target-device.c @@ -0,0 +1,97 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 + +typedef __SVInt32_t v8si __attribute__((arm_sve_vector_bits(256))); + +int64_t __attribute__ ((noinline)) +omp_target_device_ptr (svbool_t vp, v8si *vptr) +{ + + int a[N], b[N], c[N]; + v8si va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data use_device_ptr (vptr) map (to: b, c) /* { dg-error {SVE type 'v8si \*' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\([0-9]+\)\)\) \*'} not allowed in target device clauses} } */ +#pragma omp target is_device_ptr (vptr) map (to: b, c) map (from: res) /* { dg-error {SVE type 'v8si \*' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\) \*'} not allowed in target device clauses} } */ + for (i = 0; i < 8; i++) + { + vb = *vptr; /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + /* { dg-error {'vp' referenced in target region does not have a mappable type} "" { target *-*-* } .-1 } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_device_addr (svbool_t vp, v8si *vptr) +{ + + int a[N], b[N], c[N]; + v8si va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data use_device_addr (vb) map (to: b, c) /* { dg-error {SVE type 'v8si' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\)'} not allowed in target device clauses} } */ +#pragma omp target is_device_ptr (vptr) map (to: b, c) map (from: res) /* { dg-error {SVE type 'v8si \*' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\) \*'} not allowed in target device clauses} } */ + for (i = 0; i < 8; i++) + { + vb = *vptr; /* { dg-error {'vb' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + /* { dg-error {'vp' referenced in target region does not have a mappable type} "" { target *-*-* } .-1 } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} + +int64_t __attribute__ ((noinline)) +omp_target_has_device_addr (svbool_t vp, v8si *vptr) +{ + + int a[N], b[N], c[N]; + v8si va, vb, vc; + int64_t res; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp target data use_device_addr (vb) map (to: b, c) /* { dg-error {SVE type 'v8si' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\)'} not allowed in target device clauses} } */ +#pragma omp target has_device_addr (vb) map (to: b, c) map (from: res) /* { dg-error {SVE type 'v8si' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\)'} not allowed in target device clauses} } */ + for (i = 0; i < 8; i++) + { + vb = svld1_s32 (vp, b); /* { dg-error {'vp' referenced in target region does not have a mappable type} } */ + vc = svld1_s32 (vp, c); /* { dg-error {'vc' referenced in target region does not have a mappable type} } */ + va = svadd_s32_z (vp, vb, vc); /* { dg-error {'va' referenced in target region does not have a mappable type} } */ + res = svaddv_s32 (svptrue_b32 (), va); + } + + return res; +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/target-link.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/target-link.c new file mode 100644 index 00000000000..a6e80cfd559 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/target-link.c @@ -0,0 +1,48 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +typedef __SVInt32_t v8si __attribute__((arm_sve_vector_bits(256))); + +static v8si local_vec; +#pragma omp declare target link(local_vec) + +v8si global_vec; +#pragma omp declare target link(global_vec) + +void +one_get_inc2_local_vec () +{ + v8si res, res2, tmp; + +#pragma omp target map(from: res, res2) /* { dg-error {SVE type 'v8si' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\)'} not allowed in map clause} } */ + { + res = local_vec; /* { dg-error {'local_vec' referenced in target region does not have a mappable type} } */ + local_vec = svadd_s32_z (svptrue_b32 (), local_vec, local_vec); + res2 = local_vec; + } + + tmp = svadd_s32_z (svptrue_b32 (), res, res); + svbool_t p = svcmpne_s32 (svptrue_b32 (), tmp, res2); + if (svptest_any (svptrue_b32 (), p)) + __builtin_abort (); +} + +void +one_get_inc3_global_vec () +{ + v8si res, res2, tmp; + +#pragma omp target map(from: res, res2) /* { dg-error {SVE type 'v8si' {aka 'svint32_t __attribute__\(\(arm_sve_vector_bits\(256\)\)\)'} not allowed in map clause} } */ + { + res = global_vec; /* { dg-error {'global_vec' referenced in target region does not have a mappable type} } */ + global_vec = svadd_s32_z (svptrue_b32 (), global_vec, global_vec); + res2 = global_vec; + } + + tmp = svadd_s32_z (svptrue_b32 (), res, res); + svbool_t p = svcmpne_s32 (svptrue_b32 (), tmp, res2); + if (svptest_any (svptrue_b32 (), p)) + __builtin_abort (); +} From patchwork Mon May 27 05:06:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939606 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=CXQyxZza; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CXQyxZza; 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 4VnkDD65rlz20Pq for ; Mon, 27 May 2024 15:07:40 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 275BC385E83F for ; Mon, 27 May 2024 05:07:39 +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-am7eur03on2049.outbound.protection.outlook.com [40.107.105.49]) by sourceware.org (Postfix) with ESMTPS id 11A2B3858CDB for ; Mon, 27 May 2024 05:07:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 11A2B3858CDB 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 11A2B3858CDB Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.105.49 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786428; cv=pass; b=h6dihOiStvgIUgpFZF3QUzI1Ls83M0l4iq9oeHQRSTe233gnKF98/7sS/NO+ECieQPnWo16s94f/UjyNOMWH8aosGkZZ4aznGtbvpuv8jadomj6iqF9TeEe1v/WFXGzgLKa9gU6DMYQKesENSfH+DMeVuq9r24XsA1qJ30H9nQM= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786428; c=relaxed/simple; bh=Q7g1e5v8MBgrW/zjDESItwMUCMp+AGR+BX0l/F6Q6Oo=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Nvjxby2In6eKfwVn+UpyEkL96U6p5jTC3QaLrpYPFwkWiaNX8lMQE3jePkQ/ep32BnmJamzteo6DyILaCVzuQWNyM6QzHj9EVLTDLef95+SbETSlecZULKkTx85XkKl5PAIawrVNX+Sm+OZWHLg9Jt8S60oruGhC4+Tt9XuixJo= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=SQRS6i4GVBwR6G5CYTJVogVQ9CaUowvBVFvfwr0fFrtHzHBBTLyEHuzT3SBfw8bj04CQ48mqt90I8kev1XgCuTvCldMV7wwWhIWQLW+lwKesoxLePbIMp4GTsd7w3RLJt8Pj7Pq04vPP5gN89aX4bHdbDjS2RDNhZaA54ErxGJoeZk16LrqtKDCNIkkQkd5YJI7EwZ3c0qC1KVmMpLy/IK0KCA+rJ51+uY18t0nbZQTa11OGI9qrtx4IEm9Bs4RJPbUpkOrblH55V/frNmgNtvzFzQMgoGZUY/ZF7j2vWT/IJoTQdAEAbaBqvFhlZ1BwYSAArcsqlaXW89QKYsKIQg== 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=2+JpnPKrRXMzvojFkgXNN1wAoH/V/9unEXt5EctZMHE=; b=UFH2ceXK4kEa3AKuZkt2OywogImaxcqqhwUEEwvf42e/YR2jYTiFzo8+lYKEtuLQzKTFvkEM64LH1L2ie3RyCsC4JsBnKL/xS7jWKg2sroRkeAlASYlpmER7ekc9jycT5rXmJOjLqdlmln9QMO7aq5S2mIqhiLWvOpEw2iSoNAKVMZXegAX9lSLlAU1x1C1MmhwbG69qMjTeiwUKfbE33RD1rWobZvnpU8bNcTQj1xovnanTyF69wFBmoSUsaVm674717cLvM7vJXtbR8kOVtp0MqaPObF9exKKSvYnEjO9WRUJkLj4mY7hbGoE5mEoS44KmDFo+isor1PyTo1jqEw== 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=2+JpnPKrRXMzvojFkgXNN1wAoH/V/9unEXt5EctZMHE=; b=CXQyxZzaNDkbeOaEIqsim4IY8USaeCW3hgAwHP3G9XrRxicE8uX+06cm6a3yJ1Zy6mXkRGwsggM4EIpjOt5YHrNuYnn7WlwBbF3KccRzyxUXqFQ+JasMJ4pyHNF/IrPOYbRStFKaJ/YwikkbiKwNC0fRdt2LGA8Jlof2JjG/WsU= Received: from DU2PR04CA0222.eurprd04.prod.outlook.com (2603:10a6:10:2b1::17) by AS8PR08MB6536.eurprd08.prod.outlook.com (2603:10a6:20b:31d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:00 +0000 Received: from DB1PEPF000509EE.eurprd03.prod.outlook.com (2603:10a6:10:2b1:cafe::75) by DU2PR04CA0222.outlook.office365.com (2603:10a6:10:2b1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:59 +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 DB1PEPF000509EE.mail.protection.outlook.com (10.167.242.72) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:58 +0000 Received: ("Tessian outbound f97ed8ca492d:v327"); Mon, 27 May 2024 05:06:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5c881ac439ec1fc9 X-CR-MTA-TID: 64aa7808 Received: from 636011bbd9ab.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6B3A07CC-47EB-4722-A37E-BCFF9CD8A2FC.1; Mon, 27 May 2024 05:06:52 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 636011bbd9ab.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0v6+pPLx5VsVru2CuyoxC+7EqmMcF4AifdiqxX0Q3hRhs+s6/TMzf9id6JqEsTqDFoI2Bdl83hI39SW3IPiOE0tyu4kuDLGh/7WlcoJhzwNto17VP3XNIhLLZGgY/NZ0mAV31znzKJJdjnEiDJ9C56sSxdIIKIJQ2eEdPsLS7Z+Hj/3BYWb7t0UhynZ55UwtQzO75Ly3zsVX4EkZQyPu47fUF+Q8Vi5IKlKePopA9iNjorMW6W7PnOxYX9Vfzkrggc04T9bFdQjcSqIUK8llvJAIiPf5gmH+CARBc0VixniqJ+hM4Gn197AEnsQUfQPIGiQ83m4HRekDYTgQ2HezQ== 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=2+JpnPKrRXMzvojFkgXNN1wAoH/V/9unEXt5EctZMHE=; b=lIZsWnnMoYyYJ4XqzzTZ6eyyWFAklS+371bLUy25oDuqdEvo9kcjZGuZv9PU2EPd6iY2DYeeThOOnWH7zTHljJvaC0we+HAwSummNWn22FWnt7MODnSje2c7pi7c3ak+w0s/fYeUfPIjuq7Bz75HacAyfqUf2NSAgeCifC0/sD7wbCB3XsaHcp9EoK7i01Nl8/pVONyhwfag9Sn+Xx/+Srn4FajvLSLPXk+dCfBoBbXcKShGluEikfObLXgRyvlTiokZEV8++GQAjpwFR0ajKXSfQebT2JL/8yr5tsEaUuGvjjAcsDYU+EOHTZ10UCPUfa9Gl25mP2mnFgLKFWwpeg== 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=2+JpnPKrRXMzvojFkgXNN1wAoH/V/9unEXt5EctZMHE=; b=CXQyxZzaNDkbeOaEIqsim4IY8USaeCW3hgAwHP3G9XrRxicE8uX+06cm6a3yJ1Zy6mXkRGwsggM4EIpjOt5YHrNuYnn7WlwBbF3KccRzyxUXqFQ+JasMJ4pyHNF/IrPOYbRStFKaJ/YwikkbiKwNC0fRdt2LGA8Jlof2JjG/WsU= Received: from DU6P191CA0064.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53e::24) by PAWPR08MB9067.eurprd08.prod.outlook.com (2603:10a6:102:343::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.28; Mon, 27 May 2024 05:06:50 +0000 Received: from DU6PEPF0000952A.eurprd02.prod.outlook.com (2603:10a6:10:53e:cafe::bb) by DU6P191CA0064.outlook.office365.com (2603:10a6:10:53e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:50 +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 DU6PEPF0000952A.mail.protection.outlook.com (10.167.8.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:50 +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; Mon, 27 May 2024 05:06:49 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:48 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 04/11] AArch64: Test OpenMP lastprivate clause for various constructs. Date: Mon, 27 May 2024 10:36:19 +0530 Message-ID: <20240527050626.3769230-5-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF0000952A:EE_|PAWPR08MB9067:EE_|DB1PEPF000509EE:EE_|AS8PR08MB6536:EE_ X-MS-Office365-Filtering-Correlation-Id: ac134ea0-bb64-419c-9fb8-08dc7e0ad5f1 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|82310400017|1800799015|376005|36860700004; X-Microsoft-Antispam-Message-Info-Original: /J/WfReTCyDSoLqbX1wxIde/DoMm7xOTUXjrC1fy/52APWjHRXmA1munHQ9AHVWZOHDPN9iz2FLDe/pH+N+X6ZnWfOY26sCUrctbMk9CWK/ykXeETFsQXbq+zeRJLp721NTL0ncQtTCSjhLUAClpq10xhhSdpbq8elG/RSzt8Ma6NutVm4EBh+OAxcDq2SO9bWRHvvTbF82DrftbL2s98PQctE1NQUox8J4G4YFZrlGzSMTjH9yUHe0eRL8SgI7KtJKizFajK1ciJA6opSJVFClUploQBbbyEhlvXkrDStw3VAt3XcWtJ7ZiruIqSbX++9jxW4jtBRyN4m/mhdGRKAG2y0XZmGYYzyaAD0HktolEfW00fg5hOkZqLHxXKvdNbEJWATDd4hunpqa1BR+jPTz7cTTY9+dShJfGTRkzRAKoL1eJdeGLhGhoMCty66Y1RJMVwzbzynNsSaV6DTlzoA2HF+XobIPuAqTWvR5vzDkNRbCshXcYZQoohKTRcSWfj3JlsENMhYX8WlwtmSdWWxJOTi40cnz/lj6fmS3u3yctWagrz/auKdW+9hScWk2EHRjKy4sXxvj+bJOm5hgUjdkJDukloDAphQY+joS/3gocdb1nVTeZy9YbrIqbeQYf7V6fg8DFO2H5Ow9e/sduT7g2fqfLo9RkSaG8hEPFmwMFPvncQvSkYrIFgYCNxeSkYppPYYNDVCOAhRvp3kvz1g5mODGMlHD7Zh/apAirOZfiTbUCY/ifJj17Xesk+ZTj7H259V3mYHwhhqR37ZJSL+0N05BqXNasSMyBXbDbQQQnue3qCRmB1TWNY1APOHzhxA79UrMo4V+SO+21ohu3fVXDCBNkGRpx+/sto6S0aAKKnm4lZ27iEo9cvG2ELGuQG4UzbJ3itI1JCIGrVwVbdshPGu4lBcxx1O0S7q68TYF4zn4IyubO3MsCkwurHC8FNyhHkffHSfwR03E9A8zKRek0W/LRRL4T1iJxF30qeMOuUiCE1DT3mCYz7d7wKX6BRNiObAR89IEPOz+IRPcUscNaV5OidRoGiR725WkSHEDSBav5F34Z71OEzWQSSCZG7JtGokRpCpSepRq9IimNHoFemo7qXFx/fjVW2oX0yjghPx4Q5887apE5+kuZoWXhmkr8CtIqC7AkFKGDC0DbH5xLoxiyxL/7IjaxyiRB+ixwu5F+zbseV5qltv+zFQoEu/d/+4HqLXC+/zKuUIidH643N5Mwyj8AUBSVhF94xnHzRxdCRvFWPNpSWCcwEolJuTra+VqE9+6+14mVg93krpyAOK3KD6LgCPXIHZvRVYm9EkT0SP9rJ+iPGciWr0wf 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:(13230031)(82310400017)(1800799015)(376005)(36860700004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9067 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509EE.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1692f0e6-9ad7-47d9-55db-08dc7e0ad12b X-Microsoft-Antispam: BCL:0; ARA:13230031|1800799015|82310400017|376005|36860700004|35042699013; X-Microsoft-Antispam-Message-Info: ebQuAIMopIID4jrm/fEEdR0Op2Aosv9F3LzEm588FKkRoOSsrcEXDJI3+oz6Xo7u4+Xbsvn4VUvf0oF5sRqHlWMSUJXjRDch4aCSpF3ptivVKo64rJB8gvbyPybct4XFuZQ4hHYX9TvXtjRmSRYzjwUh6rMBCSE92JFZfDpsSUwZpPMOmW53n3uGHHcT83nfSjd47zCffXX4WQn3PRqzHGBmC6aOaEsFD70eITgXpSLPRDbMIrBAZJNP3AkK7S40YHxMViOFBPNGomqeDx25Bm+o4JFS5WuWnIehx58+tUprhwwN9Rjl2chGSMNQAC/3AYadnWjxZ18a+6xCtHgcEVFnwiKGAoXuyvxrIcXLrnHSEMj09e6aRKXCsdSvCI2iZ5ooY0mhI7QhF/W2Q3cphPP71kAgCwRbA+nWZsKBqRmWOFq+rI51esAfqMrv+SJqx4pWB7oiZBVIPj5CU7ci0KACuyb6JexX2f4FpbLNlVbdVF2JVOLnlNs4UN0XWbm1/qFXaQgBHAyk/IcprIe3dQOXP+c8eNQwO1JHmETGYlsUdmxzQclH32e52snSk5bjBYICBJZS5+4Drmv6zDZrCw+82DJNmZvdOKZx7cnoRdB+mg40Mk5PGplZQroglBIuCBODfeijRscPJnhFapBQj/2MITeXQgmgS2NDt7J3aAjBaWrRjoTz9o+J1ozNQ7iiF2gzny1mNGupoH5tBdia4hMfNVw7bu12eCw/vGKvWpPlVJXy4ZCeYF/JEtmgGlq+NdTWY65BePX4FZPerVgjRTG2LMUAFfMV/0vpbZy7i7XoAxSZnp3czet21eoGd6SKLyfW84P5+oqDfCA8KFtwnburoIvdLbUgwi+ZHfHMlyXKyzwH4sC2LLikMgzndUtpK6/WxklHyftXzjrKP75L2C2+nElAWqduF4meOFRy3GSX4aaFS8UsYvSetjA6LVrjdqgEolN6wXn8Yl2Pt2mA8olpOWWcvNjl0pSGT6vNjElkdPFwXMB3kXL6x4W7NGe/LET28pO5bsoHsrkuegFaIY58ndDHwkUyMD9dyd3w5CZ/mfXX7wfKAVpXDlosqqgwQ4qswgbny5eRAJaVtMopvbXrOxTvkOLFOS+TnW0meF+U82Ovlw81qOga9FPSQN5SSFd1mulCGvcZ51PXTFPj2iwyHbfpESIkBtKOYKewSyic5PVjCBP/KFCvRXNNQunpiv+r149YNKJnZp7q9SZHLiRdV9nRnL7HFMMVAKadXups6Jkqx5khkJOZxRjkaLehoOiBany0RnW+l3E3bR8XjX2L40+icQ/qdhKzlLXhirlyGn2GoMb8vjz2aqfXIDG9 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)(1800799015)(82310400017)(376005)(36860700004)(35042699013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:06:58.3922 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac134ea0-bb64-419c-9fb8-08dc7e0ad5f1 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: DB1PEPF000509EE.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6536 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, T_SCC_BODY_TEXT_LINE, 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 This patch tests various OpenMP lastprivate clause with SVE object types in various construct contexts. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sve/omp/lastprivate.c: New test. --- .../gcc.target/aarch64/sve/omp/lastprivate.c | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/lastprivate.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/lastprivate.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/lastprivate.c new file mode 100644 index 00000000000..e4ecc58a9c4 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/lastprivate.c @@ -0,0 +1,121 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 8 + +#ifndef CONSTRUCT +#define CONSTRUCT +#endif + +svint32_t __attribute__ ((noinline)) +omp_lastprivate_sections () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +/* This worksharing construct binds to an implicit outer parallel region in + whose scope va is declared and therefore is default private. This causes + the lastprivate clause list item va to be diagnosed as private in the outer + context. Similarly for constructs for and distribute. */ +#pragma omp sections lastprivate (va) /* { dg-error {lastprivate variable 'va' is private in outer context} } */ + { + #pragma omp section + vb = svld1_s32 (svptrue_b32 (), b); + #pragma omp section + vc = svld1_s32 (svptrue_b32 (), c); + #pragma omp section + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + + +svint32_t __attribute__ ((noinline)) +omp_lastprivate_for () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp for lastprivate (va) /* { dg-error {lastprivate variable 'va' is private in outer context} } */ + for (i = 0; i < 1; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t __attribute__ ((noinline)) +omp_lastprivate_simd () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp simd lastprivate (va) + for (i = 0; i < 1; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} + +svint32_t __attribute__ ((noinline)) +omp_lastprivate_distribute () +{ + + int a[N], b[N], c[N]; + svint32_t va, vb, vc; + int i; + +#pragma omp parallel for + for (i = 0; i < N; i++) + { + b[i] = i; + c[i] = i + 1; + } + +#pragma omp distribute lastprivate (va) /* { dg-error {lastprivate variable 'va' is private in outer context} } */ + for (i = 0; i < 1; i++) + { + vb = svld1_s32 (svptrue_b32 (), b); + vc = svld1_s32 (svptrue_b32 (), c); + va = svadd_s32_z (svptrue_b32 (), vb, vc); + } + + return va; +} From patchwork Mon May 27 05:06:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939607 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=M5+DQV/b; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=M5+DQV/b; 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 4VnkDH1RtPz20Pq for ; Mon, 27 May 2024 15:07:43 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 816593865C10 for ; Mon, 27 May 2024 05:07:41 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2055.outbound.protection.outlook.com [40.107.13.55]) by sourceware.org (Postfix) with ESMTPS id C2177385840D for ; Mon, 27 May 2024 05:07:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C2177385840D 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 C2177385840D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.13.55 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786429; cv=pass; b=ZhwDEbI88395vPElww+Y448KfZ0dZkVsXMDPDaAtjKb27H7a9diNFHHoQ6l8IsqcdFB/hf9YP6no+SzfphLYK+hLkkv5Un9tSTgCfI4yfcUs7kwuxP5hrv6BpgsmzftfR7EnnLQ7w0+BfK32RZC/pVUQPL6fKvdj5B38A+7EV5I= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786429; c=relaxed/simple; bh=wE3/jONPY2laiXOHE0DHEtg7fofd+Ey23FAXpdSnoiM=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=WpzVJcmmE9syqmbgL6UtJOaDXwZnBmDmSO5IxpXjAZITvASeoACzVciW+XNMTALstRN8wm1mkBI5Mp8oUfe5MFMp5BWzkIUn5wnDCIgco3AA1qBDWmT5CrRWsmTDdeAcQ2wHHzh5C7KfV1/6x33SplrR2h0opmlwFu2s50+vke0= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=EGrASzQgDAO/3GuIY5++/Wk+8pCnrEv+fmrLbL53wCO/BUMPAJKmv44z8CjeqEOgeav4Qp6WGN12YHqPd5e+s9y5yPkyWs3PNcMvNYQKqDQkdtTLBLr3+ka/O1cnMGTBLPX4gvUv2ghHJP1PymXnUgfYNoVst8rN4dZROnZ8vXrbnHgK4r3eNi3cFG9FHqvaFp8GYWZ5Y2JglP2hL2GWGm19keBxcrSbAOMBZcenglxpSsSI++n5l5b2RsnPaA2RdfXOzsz9HOgMFh5gRRBnlQzjVQa9qBG2sGwcHqOeXDPYPvyTElDvLvdRtHLWCZyGQJ7rs8sVop3VK3lUbJvYpg== 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=slJXIiOPbBTmBPOBW4XW25VrpEtD8gama73Tcxs+MBo=; b=KsIe9kjthvpWles0yBBtWHIRrAGpqZU+hJH/SIqH0K+5zBzJgNdN4Xtj9NUc6J0V9/H4JDIllY6TsofERS3x3uvuD40jnOaGem9C0P+ay8TjCBtBIq56vmKS/4u9+F3nROws8qEcK1LsG2ChWmGZZ7fDV83AGJ/LVF02qnTLEZ6kVQtFNNic3fH1f2iH0zlHWIbZ3xFc0vMZRy+EfCIUKDTWDkTrI0heQQn5VdUOufbJGB1XlwlFYCO1zvCJj86HoKjMo5J2Azu7juapYhbubWbopnJcWKYBUAhT64cqNBF2mkaXiJ2LvAgqh+JookCqTG5I4igvpADgHjt2l15jGQ== 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=slJXIiOPbBTmBPOBW4XW25VrpEtD8gama73Tcxs+MBo=; b=M5+DQV/bdgmMgpZXnt6Ip/pNidk6HC+52rHJMurH0navD5IpJzAQyqNGHhXQk9Uq3u6ZA/Ghg9W/r5rZ07BnlY82LmMLtRxBIvdW34kyLo2qQ4auhEv4OTiZdwvSQ4j+Z7mXPNiUMS4iaOriQTfk97aMLTc//jJ3l3wvvU0GRIs= Received: from DUZPR01CA0121.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bc::11) by PAWPR08MB11144.eurprd08.prod.outlook.com (2603:10a6:102:46a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:01 +0000 Received: from DU2PEPF00028D00.eurprd03.prod.outlook.com (2603:10a6:10:4bc:cafe::b9) by DUZPR01CA0121.outlook.office365.com (2603:10a6:10:4bc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07:01 +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 DU2PEPF00028D00.mail.protection.outlook.com (10.167.242.184) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 27 May 2024 05:07:01 +0000 Received: ("Tessian outbound fffbb209f6c2:v327"); Mon, 27 May 2024 05:07:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8f5436e345c87743 X-CR-MTA-TID: 64aa7808 Received: from 123d60e59741.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 47058D3E-8611-434D-8F0A-6E7140ADDE2B.1; Mon, 27 May 2024 05:06:54 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 123d60e59741.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YEp4plohmT2YZhY/T4JFZmpX4EVJC4ys0rFq1nB0Q9kWUASe8cRkXPDkuGR/a7YlswMO0CvxrUpyz/rBjsvCbvP9KwU49SsOaMx061O7JqeouaKODItp0DLS96rAHCKqv/JnWAYGKRYIejZQd6ml8cBCAvAoFpYnwfKRap1CS3JZTlGudh6/n4hnD7csujkETFqdQqRgt2xXRqbqXYLbd3RxGaYp4yvbct9d+NG5SRAVO9bPZEDJ92zAEkjfYC0mx1gXPy08B5Qk2QF9IkOoMQPulyfaaQAl5E4TF0rQQgFwAf/zwxG+Q5X2XqUqm0z8tiCBu8sPlwunVcWOlG/2Vw== 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=slJXIiOPbBTmBPOBW4XW25VrpEtD8gama73Tcxs+MBo=; b=dBK6Xz1GXhWdO89qR+RrzCibm9d/mEYuJASTPOWh4jfar27vLgNEkxPGk2SYIH8OwWBbwAN3cwLgTftSxGEd6SU8fxxC8lwbO4bzSx0lDG3ui/j+CnKLoEdwYuZGelXCxAF4u7kmJloi9x5k4YdL8BkeWCQ52zNAvU7ByBMyM/aYxpUXXnuWJU0Nrr9KqVQkon+/yQH7zKaON5blB1bfzvoY49BoPLuu9pUqWreca/R+OHLMyWv21drXFK848mu7yuN2gSncJ44ofKvTOduAXCt/Ez3QSta3/Q/zgQYjXnW4VirO2+suVvjF1Hc0wLK8hRIdBgXdti1UFPQSqTm2bg== 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=slJXIiOPbBTmBPOBW4XW25VrpEtD8gama73Tcxs+MBo=; b=M5+DQV/bdgmMgpZXnt6Ip/pNidk6HC+52rHJMurH0navD5IpJzAQyqNGHhXQk9Uq3u6ZA/Ghg9W/r5rZ07BnlY82LmMLtRxBIvdW34kyLo2qQ4auhEv4OTiZdwvSQ4j+Z7mXPNiUMS4iaOriQTfk97aMLTc//jJ3l3wvvU0GRIs= Received: from AM0PR02CA0080.eurprd02.prod.outlook.com (2603:10a6:208:154::21) by DU0PR08MB8687.eurprd08.prod.outlook.com (2603:10a6:10:401::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:52 +0000 Received: from AM3PEPF00009B9B.eurprd04.prod.outlook.com (2603:10a6:208:154:cafe::78) by AM0PR02CA0080.outlook.office365.com (2603:10a6:208:154::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:51 +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 AM3PEPF00009B9B.mail.protection.outlook.com (10.167.16.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:51 +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; Mon, 27 May 2024 05:06:50 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:50 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 05/11] AArch64: Test OpenMP threadprivate clause on SVE type. Date: Mon, 27 May 2024 10:36:20 +0530 Message-ID: <20240527050626.3769230-6-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM3PEPF00009B9B:EE_|DU0PR08MB8687:EE_|DU2PEPF00028D00:EE_|PAWPR08MB11144:EE_ X-MS-Office365-Filtering-Correlation-Id: 40712b5e-c313-4eb0-a1d4-08dc7e0ad7a5 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|1800799015|36860700004|376005|82310400017; X-Microsoft-Antispam-Message-Info-Original: 60/TYd8GzIQzKg5ukHrzwJ0X22QmphQhNrgrThyoH3V7yow6NSNSeIyiZicJwV8B5TwwquE9leD6+Eg9urffnewjTVkMgZkrru+5g2W3yKi/UU5LnqQrk5cd5urzqpSfzRC3eRZbC+LDuhHzwI/H9OhKGtdx+gegEHRtDi29m2qEPv1SnlkLO6yxoT/gT/MSa3MiNpgsP1Fx6B/+ik6bxIgTGxH2VQMOcbeydiFgAA4FPhHuJOT9wpT/HWs0Z/xJhSxUayvvE537dtisqLoDygGp3NSjVLMa3k9EYnll1/cxMbkcJiYHlAIBfrxBFBdJG7zy8q2tFE+e6ySNuS2P14z61Do63VubasNPg/BsW9JAxJRgfpVbZ5Y8SAmxy3nsNEXtW1EsbBFJ5fa77h366XVw5M9PWS7N3A2il1nTscCWpQ41axOxxTkfxdUJhWmLxbzDqUSxZGAXbvZLAehxJd6v6r4BreTItXoBJGpGAealLkqD5d8HA7C3ZBHfftlw/AmBH0zMUMBxYykiW2KuI+ix9+n9iy1coo2xedsRSeLNEg7C6igGz6ob8XRDmxOvJIQzWxt+RFfzSmt34xtujyf7bKT6ad9Jca+m+Wc5OTvXo9gy3hycOhyME2UcMUiW6qXEQ8EwRuKSaNzroNi50tF8Rn9hkY91o4Wu61r8CL3MfGxyDL3CtcJ7peSo34jr1DSTWYE+Umo3KJRZyM6N8Ze3RlA3HAr4m0XyzFgPdl8QZSE3P3/oU03a/J7kwe2R6otuhGS5rnzecfMngwG2CnSLs4iBBw8dm7Xp18nu0r0u3RLlJ1awkFivN7pgyoIP6ZkhOsh5JbwcyzR+7Ljp4XC1wrtO6JGUw/dr84NaXt/e79qFgS3DaShiBqT0D1N7XJO2mtftVlQ3PxHfQ74oHfvB5u3y0Ug/HtpeBGlOfRLUHIAxBpo8xuTHUMSYWeXMlBTlxEdN8SOzn5CaWpFEOwllsntI/ofrveYjctuHycL6RTE4fOQk4+1rssrowcQ+s0G2akJbx6w2QhvkoU6CudYBuVjqoOJPA6SHP8Af7pciZ5GF4ZjkVXbUfNpSk4ii50Dy4XdP1ShWBm8PL6aTsFwwn0rxmWKB/YRSqloHHvY9dVREsS9m1S3HsgRAuz4GpXTVsJdIGIjipTSXJiFDITHr1wNaxu8IGwdlAaYbRQsagihtrLs0aEhKLTbzqtEJ/rbEnofhJhSzj4JK+YLHU+4ZtQvMaXLx77J/nmSEbqYvhol+vEja9mPVzdcurd9AU7NNvQlIYKtLUwibkctrjnvpo3BvN0RM9EoCB4UFZ73iyUVgEwmZiSv+J1MEu4d5 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:(13230031)(1800799015)(36860700004)(376005)(82310400017); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8687 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D00.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8282eacf-6a6f-4c33-ba11-08dc7e0ad21c X-Microsoft-Antispam: BCL:0; ARA:13230031|376005|36860700004|35042699013|82310400017|1800799015; X-Microsoft-Antispam-Message-Info: FejgBdKOy/vBIyJUiaw98aFDFq+0CuD+ioBdF/6BHdNXUPo53LQDK3NIYGr8C4P0Sw0XnLnub9l+9tpMA2eBr0a9ihSQeuZxtScHKv9esByqgu6g6CsDGeFYA1KdcvSSa0DSfbv3863DtxTNLB+4WjcQ7Pm4VvShsQZQMSxcFtk8uEmtyix1PmHEG9OZ642bsFWX4JGrPvmJGzBsExRLhOAT5IIfmI2tf7Kk9T5A8q4n+ztsD/vzXq5blzvBRdKocPtIOcIFQd2fMoehnPQFgDyilyBeTIs0sRSvGgFej07aVPZL9tO9J+cIsO8idDgXyzVEgN/u3SsIlAcj9GeBRd41hkuShaLXXrGkkiWDHC5yDAnQrRPCiAKc++Nw7PJ5ZWBrYzVdtv1+idARZUZnfqDfK2PmYReHIuuDKfdGC0JO8P6WYz2wbMgcU3x3n1hNkeE5b3i+NO6RjYeA6tIMC8BQPyQVEdJ/TB339Ekq5Os0jWNpvlYVKMfmQ/H3TQYVPqIX0qfBwOesHE9X68Ml9R1sAR4DQFy+pUcI9Df4rpkwnY7I0sTiKmFoAL/2Xx5PsGSzkn4AiwMQmpy2Ex37F4f3vqM5INMvXE6azgBfbb/ZW/qaOGvSn/fYrFTWWIZ0/4n249gc/0joATh6czT2jeG95prKdHLl5828f6SgC2yrwG5VV24h3gDifBv1zgiTqoHJR/2fV3WNbO/JC+URpdiWFVlad/dh6X3yzcmrPLvR2UYcd/F+9tBt7yJ4rWgNfB8FWRrK5sS1NDvmBoI5Sc3zuaXTWj4PLI3Y1CRiYSRGGTPm3pG/tN5t8a6Ald8zQ0dJaNmO9IkBmPNvJlnuAW41rhVWSlo4lY4g3AmMv2KJL5ZdGLJnS4ZrkCS+4ZM8a4kSMcQzvdx6iXUVQSNasoVhd04TTVlytPbr9/Uwpo5dXGjMtcxHm54dv9HWUP0jkD1f0nId0bZLyIH6on6NRNnEjsIJ30g8+Cbe9QJOdkeBxgEa2PD1HXgBjgfnZ9jtW1gq9LS5Y/ybq1jE4Vdsl4muLWtp2QnjE+vwB4BbYkG5uLfiHtW2xLEBWExNdRC5GuIA7y124iEELv6e6SW3VOZjvXSPNfJLZENyxjSK1GE4X9IOX8w2FFb3yawTmun+zu1fmiTZ9vuQUOgP3CbHrVuC0uosxceBRvcfzOJoU8gNQtXc3t4CCMrqhN/lFk3MvSNwyU9WPQKz/Qzum9MuOpSfyHLPR574p4CB3s2xr0pgmfm4WhoTROE/0FVygs0rZfpTpQs6fsKDcko3DQlJc6/3FDFQ5oGLFRv5/SZUSHJzfaBehjNRUA1kBkxeyOOH 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)(376005)(36860700004)(35042699013)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:01.2496 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 40712b5e-c313-4eb0-a1d4-08dc7e0ad7a5 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: DU2PEPF00028D00.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB11144 X-Spam-Status: No, score=-12.4 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, T_SCC_BODY_TEXT_LINE, 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 This patch adds a test for ensuring threadprivate clause works for SVE type objects. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/threadprivate.c: New test. --- .../aarch64/sve/omp/threadprivate.c | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/threadprivate.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/threadprivate.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/threadprivate.c new file mode 100644 index 00000000000..0a46b0a7770 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/threadprivate.c @@ -0,0 +1,44 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +typedef __SVInt32_t v8si __attribute__((arm_sve_vector_bits(256))); + +v8si vec1; +#pragma omp threadprivate (vec1) + +int main() +{ + int64_t res = 0; + +#pragma omp parallel firstprivate (res) num_threads(10) + { + vec1 = svindex_s32 (1, 0); + res = svaddv_s32 (svptrue_b32 (), vec1); + +#pragma omp barrier + if (res != 8LL) + __builtin_abort (); + } + + return 0; +} + +int foo () +{ + int64_t res = 0; + + vec1 = svindex_s32 (1, 0); + +#pragma omp parallel copyin (vec1) firstprivate (res) num_threads(10) + { + res = svaddv_s32 (svptrue_b32 (), vec1); + +#pragma omp barrier + if (res != 8LL) + __builtin_abort (); + } + + return 0; +} From patchwork Mon May 27 05:06:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939613 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=rXilWpFR; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=rXilWpFR; 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 4VnkGW1Qslz20Pq for ; Mon, 27 May 2024 15:09:39 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 763BC3858403 for ; Mon, 27 May 2024 05:09:37 +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-am7eur03on2080.outbound.protection.outlook.com [40.107.105.80]) by sourceware.org (Postfix) with ESMTPS id A088C3858D28 for ; Mon, 27 May 2024 05:07:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A088C3858D28 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 A088C3858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.105.80 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786432; cv=pass; b=VUzGB2qe1plZrIRc5oW1BpVVagbWLtb1LR97UJuWNpZvrDbUIAApeo1ssl6z5NyTRQGp5ERtdTkvueRNfp9a0mCMXV5JymcUyLlgF3Wo85SYiuJhXBacapw3PjLoz7Bb/rRonoJnbyJVSXMcJwbotC270egtCvb+1tM2GUdq0os= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786432; c=relaxed/simple; bh=LRVBYmr534dgxTg3Fs0rvHt8I8cvKAKP5wIrd2+wCdE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=e3LJ7EJm/dngmjXOsGFyawpSYqMnubtSMkhCAxivOyqfuASgJxPORz66Ul5SZc9EOqpmbI8RAI4nM1fxKCNGy61kbG6TbLqhUz4eMzCzTshhpY2c3UdXsc3kpdwxAXpIrSxQS9KA056Yldabu0P/Yph5XZi+tQ7oRKfG0J1s5cg= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=j3XtJhdXRe14SXFaMZno/VyGejoVpB393X87+bmQ/PzLw6xycfEtwEOBUb+8YmlNQPKCd46olmcd7LuKHI3w/oWwAGnDkLcQtvcj39zLSDsPpwigzT9XxxgEG4Smu556DGNdRpXetmQrYo+lzdnV3aimphfq55bDHFRP+utKC6DQGt86J1htvfBZuFO6pGW9Vlswdpri5LmeEi4eDV/lonSbpghKzfdFFC+RxDTwjC36TfXMFre4NKwVtIt3blsDIAv1yVwsOQX3iPZ9qt1zDX1Azz0Uhh8sMNzpUXsMnb4QJHSVXeCYoAwqsZehlLEFGoaeKxACDhirQbp4eLiZAg== 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=KeMsXKolM5CEqejntj57iln85+ZAsHpHOlGVYVYbsaI=; b=m6V6+54MBj1zUurquPB/sXlyDmFKsdYmBtYrp78eQMtYqikxYjGTveUS9mI4+pBvF99zkwh3BbTe1+jP19e3xwinft34cccSeZoJ1y91MwCR2jZntVfMEz7EKH0iswVc5mh6YGkyafp+y1rQYUC2FtRi8PbpkCE+LofI1EKEGaSt44uEKhE3MHUaCo75fZaZpeY/Yxtdhvq0gIgu+Om0plhRzxljM04BClTGZW2GjyLQ37mc6x2ewH8RWR+vQsPifTiKNuQBGfsSZch5APGobczuNCPU2Wxgj3Qu2ADEl2FRpUhfqPlTaBX8HuraC+KcDsnoaC0p6LPAuCW/5k2yPw== 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=KeMsXKolM5CEqejntj57iln85+ZAsHpHOlGVYVYbsaI=; b=rXilWpFRPKpLckm/Px1c/ZWunimCeJ6gk0lLrX+qHJge5cfbsngJcPlLhX7uB2EOq0NJlyyFO6VeggYaTnN496qStWXPdS//2OcElg2QaNR8uZOG7n9+5CiudDPIQBO+JiJSz81fTzbmWvSCSHz71vyMCVR+qWqCr4e8s+PWo/8= Received: from DB7PR05CA0068.eurprd05.prod.outlook.com (2603:10a6:10:2e::45) by DB8PR08MB5482.eurprd08.prod.outlook.com (2603:10a6:10:116::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Mon, 27 May 2024 05:07:04 +0000 Received: from DU2PEPF0001E9BF.eurprd03.prod.outlook.com (2603:10a6:10:2e:cafe::56) by DB7PR05CA0068.outlook.office365.com (2603:10a6:10:2e::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07: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 DU2PEPF0001E9BF.mail.protection.outlook.com (10.167.8.68) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:04 +0000 Received: ("Tessian outbound 781e14b418de:v327"); Mon, 27 May 2024 05:07:04 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 2a196e5e631da3bd X-CR-MTA-TID: 64aa7808 Received: from d840bbc6b93e.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 19534386-20A8-4ACE-B49D-A63DBC7F5534.1; Mon, 27 May 2024 05:06:58 +0000 Received: from EUR02-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d840bbc6b93e.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B6BJnf/DiGSK/x94gf2nWoWlyt/8+owXFcXV1gdZM1XWP2+Cm4Rk+pyew35NtWbJvczFCYOjUTIPuB3wFWCclonu8gMifuOMbg+oT3lQ2qfGNtmKcMqnJAFtr7dfcDoniyQcc3ojRe4nPkkTS/qMMGnFLml2BGoNf9q5kEiMABxhdPUuRjVO1YESUv64zoES6OlJ1bCZNNyHNeOrjBDhcc/Tb0peIBtBzyuN1detkZQszmgRMy/GRRX9D6GgZXn0mKD8klKDKre4ajXdDzJU+RA2tg1njkQW3e0xuWEuDpcnv/1VJbJMvKqRu00oNa5xrazatDWP1STdaDd6SRVTyw== 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=KeMsXKolM5CEqejntj57iln85+ZAsHpHOlGVYVYbsaI=; b=b+npV4bqRrYDX6jiegga4ToE+MRh/3fIHgukgqJ7xYteKxj7UyZI5EsxOz378ILlqnR6hFIj7zqpRLdPPDvPG+/e9j2oQJFs92xWApfQXg+YgMobXLjav57fQxZ3zIXAoulfWAu3JLL60DxFNkTVwaI4wgdpsvVSfrU2WrnnV1k2G6xxLs/JbIGyZC6BBNMHnWRwRVgpX1C5W/3Z+hMus5I9QEi8sQu1mA4bfuMwZHW5sYhj61/MUoDk2sn5/lpuovF/x/6kFyyPp7L3ZjKws0dJEpcgGzx/BgQEOx4ZAtAoE6GWNZ3ZbHT5Xr2jS2zbYyjW0UMQURO7fNLO8f7YPQ== 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=KeMsXKolM5CEqejntj57iln85+ZAsHpHOlGVYVYbsaI=; b=rXilWpFRPKpLckm/Px1c/ZWunimCeJ6gk0lLrX+qHJge5cfbsngJcPlLhX7uB2EOq0NJlyyFO6VeggYaTnN496qStWXPdS//2OcElg2QaNR8uZOG7n9+5CiudDPIQBO+JiJSz81fTzbmWvSCSHz71vyMCVR+qWqCr4e8s+PWo/8= Received: from DU2PR04CA0052.eurprd04.prod.outlook.com (2603:10a6:10:234::27) by GV2PR08MB9421.eurprd08.prod.outlook.com (2603:10a6:150:dd::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.22; Mon, 27 May 2024 05:06:54 +0000 Received: from DU6PEPF00009527.eurprd02.prod.outlook.com (2603:10a6:10:234:cafe::46) by DU2PR04CA0052.outlook.office365.com (2603:10a6:10:234::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:53 +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 DU6PEPF00009527.mail.protection.outlook.com (10.167.8.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:53 +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; Mon, 27 May 2024 05:06:52 +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; Mon, 27 May 2024 05:06:52 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:51 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 06/11] AArch64: Test OpenMP user-defined reductions with SVE types. Date: Mon, 27 May 2024 10:36:21 +0530 Message-ID: <20240527050626.3769230-7-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009527:EE_|GV2PR08MB9421:EE_|DU2PEPF0001E9BF:EE_|DB8PR08MB5482:EE_ X-MS-Office365-Filtering-Correlation-Id: 117e6cae-1295-4eb4-e789-08dc7e0ad97b x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|82310400017|1800799015|36860700004|376005; X-Microsoft-Antispam-Message-Info-Original: LOVdBmw6kv9yC2fjKtFdwd7juEhrAH4gihLsIWvWYoePXAZ6PMOZUy8QDZtbACK6nOw0h8iIhgYYbWL9XFKtrhtbz1WzTiWTU8uZSn1rcHJHwRn+lkYRUmMRc5usUbwS7S8StqMal9eGNN7NsEZFdY2y8n9KWsNc+5l3sM00+q2MlqTNvs4yLAgbaSWT3VJ7LtghhFdBSOrwg3gjXIEEKp5zqAQeyTeeVP0Yu2x5mlw+tZeCF+IfEMd/IKDKqoby30GjfmmeoJknaFjKEwKoEJwMOfDUZngUZwMTSIIsUk7RxYayZL4+YSUYRiDokKQPQcd3VGKLWQR11RMJf98OJKj1ijkRQmvznITpSNk9S1mTTTx8bqGsfdFZViUog4gugSsEUGqGepROePqg2tbc1kjQu9YxNbG8nB3uoC3H7yxejji8i+ml+vbK/nJXMUAET4A+xFVU7CQ8OgKzCbUaYiNlvKpgvON2cNQ3vy2j+5nx9wFo4xcepO9q0IIw9imK+vhrszL1KoMhW9ucZl9kCL3dllaQ145FzmA6z4JichKBA5hVdSM6jtXwyHtZVAa6UUrUVcX70E9lwO/rbEkkKLqgvs+YpZAEzwC/3nGfiOwrLFoPprIefdF/VH6DM+AflYW50KApQoGsfCeJNRjjo/VJVZXSYAdkeXnI4uj4jlyS0Yi9pLHa2tTdlGFDs7T77qBGyidS+Ffh7PhlHTdGIR2b82CVbJ87nEKGLdYA0EpmdNk4Q6xVnYI2Ga1sbz8xEjH4VJdezOdQ7mBQKWiVuVivhy5LeihsDzF39+kj+mpJlMfVYms5jf6njVh1K2HRa+5BTG5OzttV73nF8SXtyKDn+hUmnjNI0S3mOqgIih3b/wgP9qwKpmn73ixovXmnjkT9PVb7cDuxG2nIb7D5JqA7G0qndJDBBcFu7XzzR/p5umOVtuwr/7W0mDXZyVQlt9AwL0i7LcuaEITnzHoCrHyGyreFxBN2NEj0BtjNKlZHueW1g884JTITrjmxUH3ESYCwWbxvhwmnYDCWzHPHku90SzFWucSvjL8dTlswoV5BesAZiBlWDpi+pZ5sY0LC88wUcvg+SjTSw/ARMXULmXGGdWyWjMmOIQh8WZsx5RfNM2wNf7G5/mbxLR99Nsn7uxVyjTzlLoH+IWVwnA6jES0EsWQzzd/SVeTBcVs2xLH8RydoW2o0JXEC+6R12GU7YAMtwdu2gBojlsF9S2rbGnyDNiIOANR6SiAQFhXWxwpfpXtPrK1dYuImr/V1VdASrd+CDvWxRwYMEptF320rnZ6y7CKR8d+P7gHyOktR8i0jQNxSc/2zu+gMC6SCgicQ 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:(13230031)(82310400017)(1800799015)(36860700004)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9421 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9BF.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3a80e20e-b409-4d7b-29a9-08dc7e0ad315 X-Microsoft-Antispam: BCL:0; ARA:13230031|1800799015|82310400017|36860700004|35042699013|376005; X-Microsoft-Antispam-Message-Info: K1ZdGYofWdx0RralLb8tZY8sPIX3RMYqk2gNyUN16O3WTGpll0QxdVeIjofidMGYiGJ3babXw242FTGbFdzcPY67pKP2AfERL+DrAgJa9qKs4bq8oBOPq/h2xdac5JDkMS7m6zH1AiC9BJOoPhqHogJW8adX4zvxnS/a8sMAH+lnJ13OrK5boHltQn8nQJ9P4JxqUne+7BQXpcJd0sY8OYTkz1pkxcAFZxFZgu/UORDsE76eTJeGMicMjND3d4DiYSNPBedHgT65ViO23p71gLEoBO927G9neZyILWuU+a5mQk+YQO8Wv/gN1EfxNADmWC0S4UQw1mdGBcSG9aeznnlQplKjByC2/ZcXVs6hvCJFRA1DZiMZkSoIXWAmOsCyDDVXyjIIPhSdIXO1FCR2klyoXm+Ez0fSxfn5sdaNile0iB+I35JoFuLMWklCpOQe2Xhlaf6mXzqFCNac5bD0L5ULAfMdY5a+hnhJK5zPNrWX47vdpmd0T2Xdj8Joi5X16EQZWXEcplA3cIc8B6RjfcXvagZyr2MwSVmeQdinTaaTWTY3Nvj0PEMjc1vuI1+d5Ofj6lRIAEJCBHlOmHkmVcZwe8Caw95r7bFw/lGrwDZck3xBwP17y91DxlBNR91qBxSsnveAytFN0QDY8PjEHOp5nNAQdBZmETKxjlEpGrM0WdHz2HkW2kX5/dswI1pCYJFoQLGreXoXOo+5CFGPHDb5JPqf9cJSWu3RBYJ/8qJnSD+mfKcd2P5JQ75kF1OXM8xkDMXfvdJd8CAkxO+m5fZy7yCN3dcdPTCAvl25GHLpD0prFfK6rYPE95M9m+Aw1fkyYiLIa4eBRPG27XzI+I8Ih3y0t4G5Sa5dmaQ1BiXI5a4ONwnIcKFy2mWGz+lA4LfbZe7xzZ7QxGf0lRvT0GI25zDFCjqVZBe3gflDLFtjzmD4pgSJVSnDHUzZMif6x0IEmm9/AepsOvUTpcdh0kP1O4ag2RH5Ik3NdXZpB7rlurfJ/8CKaa3Sqq6Y4N1rM/ATSsEuldB+Czm6K5YJdVArMkzquyQXIkmzR90Adw3xFN6OfYgi0klQXl+nUfiSa6DhwCpCJrOI5QOWiXoSVw9PvgPsiAiVMzcDI0tkgkI7icmRjsNxC5Bqhy2ukLwwl4ryrZjdq+HyOuV0hhGs5qBhIX1QRuY4s8uGIxTEf1MsALUJBJbwg4SGrEBu5dzqf80OWuc0AYhZCU5JFCC28Zi0DeELL64/Ph8WHDfGwFcfE/g5OrCP/vSVKyk4DMAqZWQAaXaKcVDP2rvyHr6uGrGEUOLNmsWyCE0bzygq6pbpiHRQfuGsZvoVp8voykgG 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)(1800799015)(82310400017)(36860700004)(35042699013)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:04.3160 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 117e6cae-1295-4eb4-e789-08dc7e0ad97b 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: DU2PEPF0001E9BF.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5482 X-Spam-Status: No, score=-12.6 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, T_SCC_BODY_TEXT_LINE, 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 This patch tests user-defined reductions on various constructs with objects of SVE type. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/udr-sve.c: New test. --- .../gcc.target/aarch64/sve/omp/udr-sve.c | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/udr-sve.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/udr-sve.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/udr-sve.c new file mode 100644 index 00000000000..049fbee9056 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/udr-sve.c @@ -0,0 +1,166 @@ +/* { dg-do run } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#pragma omp declare reduction (+:svint32_t: omp_out = svadd_s32_z (svptrue_b32(), omp_in, omp_out)) + +int parallel_reduction () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int i = 0; + int64_t res; + + #pragma omp parallel reduction (+:va, i) + { + va = svld1_s32 (svptrue_b32 (), a); + i++; + } + + res = svaddv_s32 (svptrue_b32 (), va); + + if (res != i * 8) + __builtin_abort (); + + return 0; +} + +int for_reduction () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int i = 0; + int j; + int64_t res; + + #pragma omp parallel for reduction (+:va, i) + for (j = 0; j < 8; j++) + { + va = svld1_s32 (svptrue_b32 (), a); + i++; + } + + res = svaddv_s32 (svptrue_b32 (), va); + + if (res != i * 8) + __builtin_abort (); + + return 0; +} + +int simd_reduction () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int i = 0; + int j; + int64_t res; + + /* The list includes va that is already vectorized, so the only impact here + is on the scalar variable i. OMP spec says only scalar variables are + allowed in the list. Should non-scalars be diagnosed? */ + #pragma omp simd reduction (+:va, i) + for (j = 0; j < 8; j++) + { + va = svld1_s32 (svptrue_b32 (), a); + i++; + } + + res = svaddv_s32 (svptrue_b32 (), va); + + if (res != i) + __builtin_abort (); + + return 0; +} + +int taskloop_reduction () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int i = 0; + int j; + int64_t res; + + #pragma omp taskloop reduction (+:va, i) + for (j = 0; j < 8; j++) + { + svint32_t tva = svld1_s32 (svptrue_b32 (), a); + #pragma omp in_reduction (+: va) + va = svadd_s32_z (svptrue_b32 (), tva, va); + i++; + } + + res = svaddv_s32 (svptrue_b32 (), va); + + if (res != i * 8) + __builtin_abort (); + + return 0; +} + +int task_reduction () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int i = 0; + int j; + int64_t res; + + #pragma omp parallel reduction (task,+:va) + { + va = svadd_s32_z (svptrue_b32 (), svld1_s32 (svptrue_b32 (), a), va); + i++; + } + + res = svaddv_s32 (svptrue_b32 (), va); + + if (res != i * 8) + __builtin_abort (); + + return 0; +} + +int inscan_reduction_incl () +{ + int a[8] = {1 ,1, 1, 1, 1, 1, 1, 1}; + int b[8] = {0 ,0, 0, 0, 0, 0, 0, 0}; + svint32_t va = svld1_s32 (svptrue_b32 (), b); + int j; + int i = 0; + int64_t res = 0; + + #pragma omp parallel + #pragma omp for reduction (inscan,+:va, i) + for (j = 0; j < 8; j++) + { + va = svld1_s32 (svptrue_b32 (), a); + i++; + #pragma omp scan inclusive (va, i) + res += svaddv_s32 (svptrue_b32 (), va); + } + + if (res != i * 8) + __builtin_abort (); + + return 0; +} + +int +main() +{ + parallel_reduction (); + task_reduction (); + inscan_reduction_incl (); + taskloop_reduction (); + simd_reduction (); + for_reduction (); + + return 0; +} From patchwork Mon May 27 05:06:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939610 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=lFE9iNx4; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=lFE9iNx4; 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 4VnkFN4tb8z20Pq for ; Mon, 27 May 2024 15:08:40 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F30DD385ED69 for ; Mon, 27 May 2024 05:08:38 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2088.outbound.protection.outlook.com [40.107.22.88]) by sourceware.org (Postfix) with ESMTPS id 9513A3858404 for ; Mon, 27 May 2024 05:07:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9513A3858404 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 9513A3858404 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.88 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; cv=pass; b=gv1kSaW6ea3iSBtgw2TChENAH5LsfS29t1VKVGaFjUXxWWBSHk2IS3noAJppIXWvPfo8jiO4yKIQlNZiw6JvXR0bVuOdBnCW8kXJcg3j8S/rVFHGuT/49x2ZIDAWxT0pC2stxTHJWcrIW6VeuVlyAz/0UEMOWBwlDHmq/ISWA0A= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; c=relaxed/simple; bh=RLbJMC1UetmKfaPcK2vrhn19uK5AukQnVRWC4wJlZn8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=HFjJo6foaT/lOdQH2zad3tCZ70OEnUFaoCP86OOxxLyjS6PeoUY4Sd5Zn5y5LzDAKZxkQwhYSU4l+FlRn5Fh2EPNN4WxRW/CvXNyUMLDeJYrK8hgiFjMpESkISuRyE3X9FYWngDrAYu/6HaCximTmMpOE7IhvXJq9jBtZSvN3GI= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ePMqQe+9XawI6UqCMDuJHJYQHHs+yLuXzGZhPdnJ2O+BawUDbuTY0NIIjOhcJSwXSuWameWXenEcF8K8G+A2nmqMGve+gIq5ZJ9P+k+UyOG7BeH9jWTFXeGSWQnp+hpbT51sy3PrCSilYUIH0caUy9DmHA/Mp3jRy+cnWO1UNb/2RjulJI8/WVeLk1XdxiV9JTlRcQUPdfqcYzj6hQFzROxEV2Dy9AmbyE4KPSp4jKWyBA55Qchf1Y3tolC00ZWb+ZYIesdXlBGwHfJxTugADeq8BZINDd8EBZ1p5dI1dOv8HP9Www3KIwBnkk4fR4WmYTXrGLd9MkiA8bM87few2Q== 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=v9pbzBxXEDysCNsUsKt/qMUK5klQq7z4HodXPLx1acg=; b=n3XBitsv9y+74leVDwi/hIwBNCHShe3rFfhiRyyclh+S27GkvH/PShv/dN5D5mq5T1YwO+/0dr7l8WSkf4zC57XRd1rEzaYzfJCRbh4ygbDzou/0Q+rfOlRA9xLNhwLkY0ibvhVE+GljG0RfeXskez26ly9gjhmPQU/N0lj0ePlkRBpZXJXfEeVXm321FmNDij0RXbCjiEDH2vaHXHs/P+brSgladEqL6QFoWCZfkg3PB4YbuANiO9iyk5hiVu1ksCU34gNcYaaG8qZbUjkBZrhB8dpkhZjgenOzMlnefrbUS6khpFJoZNNEgiI9ozlZeA2Se9YMvT65eK0eskMBaA== 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=v9pbzBxXEDysCNsUsKt/qMUK5klQq7z4HodXPLx1acg=; b=lFE9iNx47hjTTpQGH/PQC/kkctM1AJ9g0jH9Sb5K22T8nbl0YQcmJLkjYydK7YWCKaccB2owTb20hdfPjJPkjMvEMLwt6WfMphM8gY7EwFybb65/8G3Yq8MCFpXZmkZpSdgkJEfLlYxoXzmRPCwRoRuAH04GJ+9mUMMRImDzxrY= Received: from DU2PR04CA0338.eurprd04.prod.outlook.com (2603:10a6:10:2b4::8) by AS2PR08MB8669.eurprd08.prod.outlook.com (2603:10a6:20b:55c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Mon, 27 May 2024 05:07:04 +0000 Received: from DU2PEPF00028CFE.eurprd03.prod.outlook.com (2603:10a6:10:2b4:cafe::f7) by DU2PR04CA0338.outlook.office365.com (2603:10a6:10:2b4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07: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 DU2PEPF00028CFE.mail.protection.outlook.com (10.167.242.182) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 27 May 2024 05:07:04 +0000 Received: ("Tessian outbound 57d5075de207:v327"); Mon, 27 May 2024 05:07:04 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d0b2f69af13abe70 X-CR-MTA-TID: 64aa7808 Received: from 27638e023dca.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DA53FA16-ACB0-4E62-84AE-881289DB3088.1; Mon, 27 May 2024 05:06:57 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 27638e023dca.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ay6pHHrikyW+50XX/B4uAlNwQqGCQeS6P5YdZobNNOz3ejggW3MnoG3LS7lFRBmKyUwyzC+Mhz8oY+lg6DzbPyH4MOKwVpRFfePhw5GrXgiW24kz04/SG3vkk9hQ1gSq3zNhMGnokFGRzjZThER2rAA7qMLMKgSe0+VfXB7j57vlYTsINwW9eBidjmJe+TbN8mjZ1gSd4/GYm+P8udBvRbQAOwSnzqy12csJassK8YiBhWkLNJry+DkbGqt5EIKC11xRIBGOiompMQIQYCyOARjEdEiVNVXTpUcBczvdCKDrdm+97X4wmR6PfRCP6I60KWC/3QAkL90Fpu9lLqszbA== 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=v9pbzBxXEDysCNsUsKt/qMUK5klQq7z4HodXPLx1acg=; b=DJ7yzJAPIXgtQBFNH1zEIt/gHaRUTAOvqNTP4nZYjd22LoxUWYHchENo+ke6CYcwrYnSQ5ermuQmkjhy9gRHMTFW7TqqF9Xb6LB4k7jGu4jiwUUnbtoNW60lc6I2E/KQ0sLjeZ8RtYB4qZOwxlqpDmJJ2nKn7qxYoJ+s9X9yovtZo6jzF7Mw66yYGSx3Bgbku190BD7BGM5qi5v4NsdTXZbua8o+4hKDe919zvCdc3K9ymFRkD14KZkuwabaMDtSwGPTkmwYWghaIiA5dZRDblLb+o9GOHC/OhzrvHbkuqUPIRV3Oq6gAPNwqYoFVQEf5UXh5xRxM4qqmz2zVgStkw== 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=v9pbzBxXEDysCNsUsKt/qMUK5klQq7z4HodXPLx1acg=; b=lFE9iNx47hjTTpQGH/PQC/kkctM1AJ9g0jH9Sb5K22T8nbl0YQcmJLkjYydK7YWCKaccB2owTb20hdfPjJPkjMvEMLwt6WfMphM8gY7EwFybb65/8G3Yq8MCFpXZmkZpSdgkJEfLlYxoXzmRPCwRoRuAH04GJ+9mUMMRImDzxrY= Received: from AM5PR0301CA0019.eurprd03.prod.outlook.com (2603:10a6:206:14::32) by AS2PR08MB9073.eurprd08.prod.outlook.com (2603:10a6:20b:5fd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:55 +0000 Received: from AMS1EPF00000040.eurprd04.prod.outlook.com (2603:10a6:206:14:cafe::d0) by AM5PR0301CA0019.outlook.office365.com (2603:10a6:206:14::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.22 via Frontend Transport; Mon, 27 May 2024 05:06:55 +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 AMS1EPF00000040.mail.protection.outlook.com (10.167.16.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:54 +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; Mon, 27 May 2024 05:06:53 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:52 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 07/11] AArch64: Test OpenMP uniform clause on SVE types. Date: Mon, 27 May 2024 10:36:22 +0530 Message-ID: <20240527050626.3769230-8-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS1EPF00000040:EE_|AS2PR08MB9073:EE_|DU2PEPF00028CFE:EE_|AS2PR08MB8669:EE_ X-MS-Office365-Filtering-Correlation-Id: 3dabc004-d22c-4de0-d73c-08dc7e0ad997 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|36860700004|376005|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: L2DHqwqZAbSIlqwOdYLcj6MM2xFl4a/wNfQp+MqpuswomrJolKAaHTksRnGZ92gyCviCqdWSOz4YWt50EfueiNrog5HpVhJT6Ce8ay72jx1vuH+NvorFUebibkC219sI4nSsX8vWJsOdhhpcTfmH1rOaSuR5DwugLLIestLlmvX3asbuaWZdOanhSWxXp/XyWITO1bO8dwpjRo0QZNiaXrbAT/pFArv4UC021bZX0gGlia1PDMvc9SwpoX/4CX212b8f7+sROUXJe2MIKLWA1udx5JWFPxNdkhRiIZlYc5FmWCUE/Wra/I/0Sc+CbEkW5rUNjWn9qI26nldj9qqFQB82WidpyEemxCM36TkKkiPDIvxV+qh8Q0iiwHTghjVwntHbrFTRD+njUCTecaDoLjq5bt9FYRIlcwltMbNsdy6hucaq+I6X5xMZZB+leoSlRiGLOOwCkn+6qDf4SJopFj/aFNjSfQrmeDbiAJpFOQFSRM+JvJEpaHGf3wKuX72iTksC0YCa7ZfSTQibtwJmTDQCsfdJCd+/PyyFGkc9PIAGFhQFhdygYKxkugnVNhh9ca+pTCtWQELaX9gH+HytBFlKp/6wEfBurFHZi/W1aQjWZZY6yJ8nEtVTQRR6GqmsnOL7+cuLDSk7swq1C7sFxZfxNhrF5ye0liGujhdtBtxGbrTOz7aJnjVFtFjLukDsfoxhbIxT8bAY62ufUDaOrdZdq773cWBDKSNd/7sMUltPDMj+rLpC+99QvVYZIoo6hdxmT8abIQByPW6gRAvCivKMqxO6dPt/s+r7Gmpvp8K7fgo7l2RQln/o2VPt4mmw0WoiPzH6rvcGC+DkGlhWquumipO/0mxULv4HDBOyWxbrfFlnLoIb0snC/uWbqAFVNQSCnkSCqSdzLpfdYfaQxHQ1j3108DRaiah5QSn94WYFQ5i+AFA+BZBRQXlvaxRk4vTcQaNDd5rK6CANF32CkBss3NASbp+kcDdMtzcgjMAZQ5kQfFaaEpmMphYkgdz+z70Q/Vug/1WLqlG33eSu7x1sW91LdSEvu3BoKgiRSMAINZdkn3LOz/nUXnEoJ/zpqUZ+1x7ersXzgcjY0dq2Jfra0SwUQf01b/5FzqxzhskFb0ZlriX7k/fbSLA90SCoNLKg6uAz5rFaxUKlktkn60SJWwL1Zqid9OL2ZH2Ca4dzPxb7TBDG1zs2iCW/jMWc1Jy1F+ZK/3zhZS61g1O4h/9rH9K+ugrHqJQvCLACl20UaS4pIX6O1RpAIuNFtU0HXVFgPzBtEUO9fd6DM4BZY767BtPGLf8jWLe6drH2fh0UjFsOdR6U0jUmAGV/rrDf 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:(13230031)(36860700004)(376005)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9073 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028CFE.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5b21cddd-596f-4f17-bca9-08dc7e0ad3f2 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|35042699013|1800799015|82310400017; X-Microsoft-Antispam-Message-Info: 7vCo3s7SrvGrBosUC0g2dCW6yKvP45r1qfa3rR+XT8ColVS9jsvFV/H0Gfjlo6CmNLv+2I2vrMrtQwbac7f7E1P2S/7uMOxxwmQet9udR0ynG/lYZ40jNyzTQ/EuB75KZ4TkYxkrHlC3aNH09nOssKrzREk3L2CTGMnOVVctuybbdzP7N7FS70pXCi9xW62qKxSq9gLN6fHWYBApi2MEmweesdCoqnYyPXBGHJvoBgy6S/noJK75OsNg/XjpiunmxLQNNBNIjJnKOUNWVNu/ULjsFfUu4Td+zKnl8WjTflDsn222aQBJngOk9m2qiaWng6ainukBBFULwSKLZoyv7ofXdoQ21E0j2GH0qcgocudjC6mabvxKcKK2NUrOKd73SuM7RsSTAnGXG+PvVVSHz6qTZQ4oRK5DOwpnqep1LTXWJGnEPRPI9xP5M10yI3TvjecSxQurepdl8JjAG3jPnKpYp7oRqXmAKwo5mCN1xq8tbFYNqkXStLaR7bjPvPUQ3aymS6mV+m8/VW2eMdgObznU4FXVQg2JZdCQJd9xHA2+sAlkH6t8YYigt5ITkibIZlMjeT7+uB/2yqGt+YFsbYWTsXk9ViJccwcIq7zLj6dPChc/j01HoWmraEoV8KunwU0dO6fag4aYe8St92ORU6X+LuRKSNfT3AIoAy8JT6uYXl21q+qsijoNgNm/TybzxZYvc9Hpv14VSmtuevSEARzWulFFNNLTEmxWmYJ7rtZJ7PJ4Z8PM3O2BHdhe16/LR6Z6+R5TwOnOjZGuseRF0ap+Rm2O08z1Nm4Qrat6YL5qP0LY1Eo7WZAgmREgtUZQMios8zmcWVgo0l1mLW8tYXfa1lLs6GqvBmWxGCJgWcfd0K+wS6Un52m2Z30wvef7+ZRa1y1t2MmeT47kysGZcCf2SbD/puGKS3h7miocIgXeP6GV7FLtwiMHCan3WrwgjgSXLJFcCE5aKLEcxH1KJP3M0udzHrgHim30ZOg9ik64JbYrLp0Ps+mg2xpiZ8UmP1ogKS/jgqxDWQYs/vL8aRgeW09NfR0AcXcCaFa2X0P8mjouuYtzO1ta1rx9d4hsoq63MZd1WGgFDJhXuJatx7VNfr68enAH84KMgDF2r9kMOy5pS+ipqG4RdjJyQydWtZYEjBLUFamN8HjKSHXLuCpaue3msLiJOYlhzK7EfKxgmPk7HLkYnTrPVU1Mh6AolN9XhV45bWBZB1Se8LMlRbSli/ceiZKQqWGLKaSH0K6a6t8AT8QLCJ69UldiWQoBUJ1h18ewWEt4oy9wKwigLc3YXnec42TFwgjBDtQNW+9WzTJMfu/OfXGhN+BizXw9 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)(36860700004)(376005)(35042699013)(1800799015)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:04.5147 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3dabc004-d22c-4de0-d73c-08dc7e0ad997 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: DU2PEPF00028CFE.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8669 X-Spam-Status: No, score=-12.7 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, T_SCC_BODY_TEXT_LINE, 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 This patch tests if simd uniform clause works with SVE types in simd regions. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/simd-uniform.c: New test. --- .../gcc.target/aarch64/sve/omp/simd-uniform.c | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/simd-uniform.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-uniform.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-uniform.c new file mode 100644 index 00000000000..6256ce9fdc1 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-uniform.c @@ -0,0 +1,71 @@ +/* { dg-do run { target aarch64_sve256_hw } } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +#define N 256 + +void init(int *a, int *a_ref, int *b, int n) +{ + int i; + for ( i=0; i X-Patchwork-Id: 1939609 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=Z1dOE+p+; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=Z1dOE+p+; 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 4VnkFH2HcPz20Pq for ; Mon, 27 May 2024 15:08:35 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9966F384CB95 for ; Mon, 27 May 2024 05:08:33 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2054.outbound.protection.outlook.com [40.107.13.54]) by sourceware.org (Postfix) with ESMTPS id 13A333858283 for ; Mon, 27 May 2024 05:07:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 13A333858283 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 13A333858283 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.13.54 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786430; cv=pass; b=JIvrOqtnd4vcAnDctwoAD+xplFwash5b2QheQPOuYsnpGg4SBaz4hXkwE/nNelVTIUFed+CMz1rVOZuuGKsfsBjuwWwj6auLgmsLPRVouf1tGAXXHuiEbhAJt9AhMrwGmT+NPrFYLIsvFYswdUzy4EU2XW0MWiHxtWhEUn9t0Tk= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786430; c=relaxed/simple; bh=InG3eRz94u2L5sFj2kfKxFqaZSxre3NZl1sTk5ZdceU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=RSYSzdZBg0uKSu0xT7ekKR6LnpiewQVNedCwHVOSDVTQHEx4ylvrcxW7JJuzMBQvSfoQtynB54hcAfuqlkl7AHlc0rCRronv4k0sURdDlyvqmfzrpxbpYAnqF2RvxMQU4BsaZMVK5HZF2JDKbVNSNjPXqIhDEpmgGkd+0OvLJXI= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ZCJM/O4UGfqILcQReKMSiLxvqXQAXlq6a2mWNJUX3oF0Wwe2NZWH9UWHRj6Tp5zA7J2bmJ5WhjhqrU6ZIZ+HuO23tf2SzezZVMGHSMwlnUAZ+GRUJM84zymV6T98o0Uzhs+jjGjnp8CfXU9Do6LFb6XHW+B/CdBd/dhkp1HMmfZzCKUWYNEMrYcE4TpJVZW6cmFcyXf9xjarqtWtfVf7wA+z3wKE16d5xkxTkCpjlRMR2DeH+77BrFIuenUuc/UBIEcvBwCuXGEz/hP8/Vpc4OoXUW4lUlBPVoheWHtuDxVgBGhCx6WlE76u5GFSWBOiuRQ6vWccJuJ35n9LZ6XLTw== 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=DY1XwyQbT5z/A5t+c08Dp2EqT5Pvh/66BVXmD/UaFNU=; b=TbeRy60R7IvE5r+P9y2ukeJXi45FO5OogH4oNJvpBe1RLkYWdP8FmtXZOF03ExH3aRZKNHYtO2a26hwq4Ucdwdwmruk0V/ayl3AL2OngWUoz8sRpkgwMf7nHo+S9LPEBnAdhrnDTuf1GCitAw7dTANPRDRou9rhHfOKPMjZ+q+C+2YXYQyzwzqXSsuozfvOWtVcl8Fx6RBwS9kgB7QqDv3DYxt0XsMk+Ipv+tggvT2Q2fIMKPBN85jz3ozGXE+qYxjpQ/0b7wvsqCeq5Eeb1oWZRDcgSaFhUnEPtJTYHOx02Aucpm1ZVeebUm9xIthX++xoeQzQz382JseJMCTBbDg== 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=DY1XwyQbT5z/A5t+c08Dp2EqT5Pvh/66BVXmD/UaFNU=; b=Z1dOE+p+c1JhB4CnEOvigfmDGG94tq3F8niSqNVkcDc2UMjHhUSOlTMHb/7Aw9vLuB2ZUGwBV5EBLad6qX0TEzUrxJOuMqbszzhUkUeFvItEgEQIbm+3lTUSo725oE/xBq/pxmYl6iRCKV2CsBxN2briITKy10FHG3m2SVuof6k= Received: from AM6PR01CA0047.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::24) by PAXPR08MB7394.eurprd08.prod.outlook.com (2603:10a6:102:2bc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:04 +0000 Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com (2603:10a6:20b:e0:cafe::24) by AM6PR01CA0047.outlook.office365.com (2603:10a6:20b:e0::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07: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 AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:03 +0000 Received: ("Tessian outbound 88f9d942bd3d:v327"); Mon, 27 May 2024 05:07:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ec0fe66f4a8681dd X-CR-MTA-TID: 64aa7808 Received: from f35bc1f5179b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7DB9B799-24CE-4D41-984D-6F78203C6133.1; Mon, 27 May 2024 05:06:57 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f35bc1f5179b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:06:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gs4rxNO0IX/4WnbLiyEhN+SY4oAFa4p6jY3joJSkFhtfca1IJ1MPvZDRucp71yghEy09TZ/1nfXJ9qGuBCRjbXHBHltkTRO2sdrWFMnTFuS8Dcrxs0Cta6pG3FIZF8FYQn1pNYpf3t7aNQqRW2shc08IyjC4FqbE3i7+hz59kAX5KVEdY8gKOgq1G/L/mGmMXrHcJR6IUzSFJ09K/gOIhg0tLk25VuPxzBp2MQajsiuF8ac/MQi0rTE7wxRoN1NODEBf3bbCyif1bxFF27gQoM93KPRFpWraxjEJDDlKuPPdLrpoDlmTWA7FhlT7H0Iy4VeEJ9LlAi64OIgNkh48qA== 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=DY1XwyQbT5z/A5t+c08Dp2EqT5Pvh/66BVXmD/UaFNU=; b=GObHPrN5+DpaZUf2gS2ol85gwAGwhgeNo+YUwlHTfhzaacBhHAOh7KCjGY5ndLA/YzWc3YXBN8da6Ud3m4HW4FvjaISpDn5+DOdtFOih2NbuBJ+2TcdIX30CqR7YmksDPxRCFY1hO6C5s44yfR0FAkEhCQeOj0hTl6t5fCJA9GMLL2vbWNuIuss2ZO1amc3jc7SyHhQ0FGwIH7X75Yzlc6Kj0QA76N1tkPUPI5U+gplxQme3J5Vjbdgjgte2rj+T0DxyX69FNHiURHjhULKv5sTGE7M8dYeqZF6CHD+Wtp5fBbWasiTJ3PC/rVZa6NDs+xP8m98sfnPuPe49x65tWA== 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=DY1XwyQbT5z/A5t+c08Dp2EqT5Pvh/66BVXmD/UaFNU=; b=Z1dOE+p+c1JhB4CnEOvigfmDGG94tq3F8niSqNVkcDc2UMjHhUSOlTMHb/7Aw9vLuB2ZUGwBV5EBLad6qX0TEzUrxJOuMqbszzhUkUeFvItEgEQIbm+3lTUSo725oE/xBq/pxmYl6iRCKV2CsBxN2briITKy10FHG3m2SVuof6k= Received: from DU7PR01CA0042.eurprd01.prod.exchangelabs.com (2603:10a6:10:50e::26) by AS2PR08MB8288.eurprd08.prod.outlook.com (2603:10a6:20b:557::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.22; Mon, 27 May 2024 05:06:55 +0000 Received: from DU6PEPF00009528.eurprd02.prod.outlook.com (2603:10a6:10:50e:cafe::bd) by DU7PR01CA0042.outlook.office365.com (2603:10a6:10:50e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:55 +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 DU6PEPF00009528.mail.protection.outlook.com (10.167.8.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:55 +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; Mon, 27 May 2024 05:06:55 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:54 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 08/11] AArch64: Test OpenMP simd aligned clause with SVE types. Date: Mon, 27 May 2024 10:36:23 +0530 Message-ID: <20240527050626.3769230-9-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009528:EE_|AS2PR08MB8288:EE_|AMS0EPF0000019A:EE_|PAXPR08MB7394:EE_ X-MS-Office365-Filtering-Correlation-Id: e3271a29-0645-45f0-15fa-08dc7e0ad8e5 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|36860700004|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: D1/VBZstKnfKDFpytyHvypkIKRxeKKCtPCKftdeZ/b8Jdl5wyMHScb+pwhE2v2J3n9slwjaAOaws2JROjCHlmKTeNgMciyUQAU4Q4fameBOMuFDTXVmk5a8QML2FnjkLmItYGFpuO61guQyfwrbi77GUwmclHIuvEde9EX0MZ1vKv3FYb5qhFxr12+1saOdXfuBMeyQr77RNHSPGK8K4jQ9h5APNwydGnTIFi1VErMlXicxzQMsVxlZSRcc0VHa58RQxzUI/Tv4sS9/0NXC5fDtJNwgyEl0b8GBPo3/w5al6Q/isbUE7QNZw+hWIIbV3bAVHKF5aDzQr5rBf+fnf3s2YznRRX0ZlRrldMv8ErVnPqTjHiOYoPgH2EdjIHQ2fyV2udwwV+IR6yBWo1n/D3D3SYebAhP6bETI7kPCxdjVMTREzkVDZteqvmWsS6nkpFTfzwqI5UL52ffu3avkO24POPL7YyqPpoO/8mKTFVXAG0JiQPHlg64sX4ICmZKEuiyA/AjT90Xoc+zgkekN9HoQLsNCNIYYkXtlUSjAxKTSJIXPN2rOwdvxHjERlXdAWbs0CtiJP/imUYev0P17LhPxArmIJA1I8Ys2RRQ04MB4Jm3YxokisSTDFVMAlhAu7BzI5qJKA0PtTCB6ytyl//1TBtjJH5yAzXRiD+A+4AS4ogrIcqmzqZQvJrSG+R5xm4cZKOTERBZ43UH8oPmTqkHsn5+4DwuoaBl2Hbj/hTAiV+4z8/PTNORcAvRdYhjH65WVgdzrGiM9ZUKdLp4px+0Hsyh64jU1YP1ZE723JOd8eFCPvoI30ZCyhsUbEPQJ33tqZsgBGVJ4rdY7bFRtJZtpZ+zudVPQBYxRJcZHThCrr20G82WybHe1xh31uwBW7TBzeBhhJnkpMvJ7Ov18H+DK2HxMtFy2YaOnYgUaPxEj5U27FaAEfka3qN2a7rxD39aCwkujy6ikIFcm1TNb5Av/Pzk8fEnXV9HTC7cJK3O2b5gbaZyjYSf0HjmXZaw9M6KbqMdvrFg0dDJJ7axVpVe0s2u3rf2rfl3QtJKPo3iiTGA3Qc3DEO1Jo9C+ErLGgtAxEJcfOKhS/FTIftErEyIy0gqeAsQg/jNJQLxnVZstAPsPiNJEBrRf03TJO1MZjW8/cQDzBCXOf+7nb/Qs+JvIi7odyPeLmzdcakGDO31vx1dy6a6j0fgok9ttF1HuVmKCEjFhpECschPWkvhN7BmkTazuxItr1HZrSkS2N1n70Ke+Z1jMi+r5PTTfM+Zt9yqdrHQCiVDj0nVo5YrwfTM8tTMhvSyFxz48FhDgxNlHC8s1eR/kh/bwztmSOWw2H 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:(13230031)(376005)(36860700004)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8288 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF0000019A.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b9a9716d-7a8b-40b7-2e26-08dc7e0ad443 X-Microsoft-Antispam: BCL:0; ARA:13230031|1800799015|82310400017|35042699013|376005|36860700004; X-Microsoft-Antispam-Message-Info: a2GAiv8onkfrMAFkudziuQGPzT1rEn4HyiyPFDi947r1dlNJ5rQh4Ipi3/MdSVAw+10WfXTjgNVOLs514H8DMZPsNLhC/ThITGE7A7Wesd8sO+o591LWNI/urUPcoEDGuEo5iG2zY3szSnRlu5v26oiDC/3FyMq4vT9W2EzYqIyEGiGqcC8dS5ybzIDWMUwNc5l5zdCJEsdINUmIa9Ibv3KcFBa0kvZTcu8GWs4oKVL5FcqYXHCm4vGUrq/YOJ1tSEt3SnIZox9hSaaxN9cNnbu8ST3WTkKeI5gDXaw1oFsY3keb68JUNnz/glKNBFRtKeJpjsAAP6XkvQUxOPvDEZusNtEoN58bSHuw+NGJtPwEXgFxvbmWa5+jRrjKzSdiC70zdwbozpIbin98O+RKMiuQMcDp9Cfl5sbi7m6gc7Vky7Y8s6fePktZSMhk3boAcvdgut6/E1FIe1gOd15nLYDxx2I99L0y2z7CB7am8lDpponx7CZgYL1goa8KX9GSj29HP01rtPtOwHr8xPawxeyWiUSBgn1+O13MIvzeezjvmFz/AwV0rftUcs2emVxaIJoU7fbidKHQTvIfZdDf0bryyMCMJsYkuELVtry70i15LvsmUuaW6QGSS5NTNsbJEePwdk86yqfVuczsi/icznpdlUuWfwKFDUpZYdNpu+M+GFMsLmExPodJDTFN7fdHiziqXr5iAAndvFnVueYqy+i1238GvzhUzaR66cJb85ypC4thwfaPdj6Z6JJXk703ZaUofe7N+kXigLMdWsSL4gaODlQ1CFkYyJUUq539zvMxok35AHxU/QFy+A6Lj5r8WS+OTzyHhA67seZLm8SOZq7ZURhGA3dX6YlSVMt7tNF28odvTh2oYRxvki1xSWZEMO7B41jNUl8n8OXfIjoAhO3W1SFI0aC52qpdTAKY0V+3i9FVAR/SP0cuKg+5PN5gM/mIB25NjTCqkZMPj3FhgLbqbrtW2MooTpoHKdaix2sZKpK+iO3Ruw5zSgftgpF9ekg0W2nwgipqEPSLCvIHgtcsXHV2Ay6BNkjfrI7al1ECHcAFKjAfMN0PTXdF8GMFngCruJunLIlec2Lyq+j9MnXomIRpEnUhUR0WbcK7tzwFIf6r9BH0+ZGLRDXGo+xGYHY3I0rv+Ky81XRfHqXjJmgqaTjeJuug72NxBdldb6R46TVJGaz/WFA3YxWpNqZUfExuR7IV9xwrcS1KN1TOaPmegtFnKqTwEcNBAMy3YSq9WTfOA0GpSjO5r87sLDlh59fu0LT+uJg9vUOwn+CkDA5G2BsOT6en5acksr8sqjt6MQE1d2Rv+KT90JlSZLYd 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)(1800799015)(82310400017)(35042699013)(376005)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:03.2807 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e3271a29-0645-45f0-15fa-08dc7e0ad8e5 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: AMS0EPF0000019A.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7394 X-Spam-Status: No, score=-12.6 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, T_SCC_BODY_TEXT_LINE, 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 This patch tests simd aligned clause and their interaction with SVE types. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/simd-aligned.c: New test. --- .../gcc.target/aarch64/sve/omp/simd-aligned.c | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/simd-aligned.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-aligned.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-aligned.c new file mode 100644 index 00000000000..6c75bb5a714 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/simd-aligned.c @@ -0,0 +1,50 @@ +/* { dg-do run } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ +#include + +#define N 256 + +int a[N] __attribute__((aligned (64))); +int b[N] __attribute__((aligned (64))); + + +__attribute((noipa)) +void foo (int *p, int *q) +{ + svint32_t va, vb, vc; + int i; + uint64_t sz = svcntw (); + +#pragma omp simd aligned(p, q : 64) private (va, vb, vc) nontemporal (va, vb, vc) + for (i = 0; i < N; i++) + { + if (i % sz == 0) + { + va = svld1_s32 (svptrue_b32 (), p); + vb = svindex_s32 (1, 0); + vc = svadd_s32_z (svptrue_b32 (), va, vb); + svst1_s32 (svptrue_b32 (), q, vc); + q += sz; + } + } + + return; +} + +int main () +{ + + for (int i = 0;i < N; i++) + { + a[i] = 1; + b[i] = 0; + } + + foo (a, b); + + for (int i = 0;i < N; i++) + if (b[i] != 2) + __builtin_abort (); + + return 0; +} From patchwork Mon May 27 05:06:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939608 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=HWRj1ZcQ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=HWRj1ZcQ; 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 4VnkFF6xxxz20Pq for ; Mon, 27 May 2024 15:08:33 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 447C13858C39 for ; Mon, 27 May 2024 05:08:32 +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-dbaeur03on2081.outbound.protection.outlook.com [40.107.104.81]) by sourceware.org (Postfix) with ESMTPS id 1ABA9385EC56 for ; Mon, 27 May 2024 05:07:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1ABA9385EC56 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 1ABA9385EC56 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.104.81 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; cv=pass; b=NYtKd61jbEeqILfjfRWBButR1okieoxRhpqNCBIPohCR73mjkOzGPfZpHPiaATqxaASJ2P9x6D+b/G2pIr+g9RP7EoS7grFf7jajRZS2SeDGvA3gOj7drWyBdzdxYmkxGZZdnqs8nOKK3ZpGRU144VirnqzNlAQR23cBzpZUWZU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; c=relaxed/simple; bh=PKG3/W5VLP28PmnGGjuy9SVCEMQzORoCa1P67xhk504=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Fqf1/aHvsWCbgN8XEFcSW/tZp7UHo4uWalbtpsLxdgtxjWxao5bSbaniLSETYoBTQTQB45eLCMitEqmPj1tKWvJ0TH/gh5QH7XibUGiAAKEJFg3BtuCs4Eh8hjgfKUN9CDNhCdXjZS6aIcCwAfpS9f1Zl1QVQLiyJSRkMwKegVE= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=dgmOIFWbQcCNkWsQSSeDA/0kO2m9Zv1G5MNQttuxTXFAx+ihnOoaPhFSZSlTd6G9h9d7xl4jwUF+/t08AGxGXi7VBewX93Ra4dgYUJt9k1NiTRC67m5cTUP7oHweRa8frkLtaMwbCZ9N/sduKxVBNiL7gigpszCBEjTZtfEyAR/Y4ypIfXL4X0VjcYEVmNYsMWzJmrhLQA6G5qgkkvPHmvFFRFxPgeMJxHt9T1ggeD4ibMI6A0GlD6QiFn57i5bqE6vApLk+4Bt/p6ueN2lsx0PBFLcos4eY0O/PPwyt57n5BYOTpm8fQTt/Y5nqhqI+y8eUGCuujIYDSsN3NJA2Bw== 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=GqQwCPeJJiO1faMOkd13Wg4wZxkTBVrAPLnmxKm7WrA=; b=l4A5P05islX5OMlc7ejccQlwnwqcW3prJxF+KnFNxpUDfFvIG6G7W6znHlP2aV1qqMfy8otcKK9OYJTtRL3fwP/EwXMa306mON5aUMn0co2vNTkwQoblVTDbUDl3naSQTT0LXphtLjnq7LBeqaSgwdOUE6/mPQvUute3PFwx/BgP1qbs52o+GwE67hjIipxa4Q9IO9+ajcCPKfYZcpgPhuIqBTfi5rQFUwwcD/dEd473d1a5Ogz1IHPfeV8MAPFZwnOXDMqdm+VWIDhOfjh4MmSyYGm4KAmSwgrc9cAC2cNVrUoBjwg4hui2ur5gu/1umDf94hU9X1fqop06fv0aJQ== 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=GqQwCPeJJiO1faMOkd13Wg4wZxkTBVrAPLnmxKm7WrA=; b=HWRj1ZcQsBm5+jjkODv+4BmD5csvnOjP/UDPF4/w/gTMV6XOREOKyFvQWh3Wj9mHm7mr+lqEd66uLyCRaECIWHWkKxgDadj5OqBHssmNJ9CFVejyHl46uxXgP3cGmbDempmkXNMpmAclGHiyn2MvK6G5eNlzRrzOOsak6ZD4BUA= Received: from AM6P195CA0019.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::32) by DB8PR08MB5417.eurprd08.prod.outlook.com (2603:10a6:10:117::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.19; Mon, 27 May 2024 05:07:09 +0000 Received: from AMS0EPF00000190.eurprd05.prod.outlook.com (2603:10a6:209:81:cafe::dd) by AM6P195CA0019.outlook.office365.com (2603:10a6:209:81::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07:08 +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 AMS0EPF00000190.mail.protection.outlook.com (10.167.16.213) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:08 +0000 Received: ("Tessian outbound 57d5075de207:v327"); Mon, 27 May 2024 05:07:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0e92914977f321e1 X-CR-MTA-TID: 64aa7808 Received: from fc0df476ba39.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4F08F96A-9756-4CC9-95DD-E47C08DA39E7.1; Mon, 27 May 2024 05:07:01 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fc0df476ba39.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:07:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A/U6fQrXIocpg0SOZxLjNDE1w/AxyB2+5AU2K/Y4lydeWUNTx/lJvVtJzkNkWTL/h8xS5ygNN6TT4xSKTprz4naqO/wOTLqLpyiDbWGb+uKSpjf3nc1oI7p3g/mTmSTBdnYjREd1YbOfl0Tfd/bqHwMURB6C0V4P5W1gqhFRgatZQ8Dwn/YI9AAXIWR6Z+wLg5wQE/PqEL+AvVnUiYqhZPxBV6crNXminGBCtKVwVOqxzt4ThAWvHHz92/4P/5KVnBn0ECSqf4t0RKkmV6Q1ME+P+OPV8tXj+uWO8i62oI4ehnILkje+o3QqqHlC5pReejSpzcDtCeaCAf59gM7PEA== 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=GqQwCPeJJiO1faMOkd13Wg4wZxkTBVrAPLnmxKm7WrA=; b=mH5m8dIaGU7HclEhBDjHqr1n5f2MAwpINwPZ4oKPv2kcIYqqyh/EQwvIbCpoIW3uLUVGylZoSz/4nLkU+Nf1iOmHGdCLy1M0uTU8xv7YD4Njc0oUDv6JslnJdP5xc19UtmdPH4GQeT6SVTCdhsELyV3WCsnldq+VxmAxqzcuwIn3/zhM0jvO5QRUbAl8VevsL/RrfwADrZ2dlPifvCR52PbBEjJkqOWB2z9DGNqLObBW58nkUuJ6E/hhNfOyyOm5fzGPY/bpHwp5ZjHRhOYuo2HVazf6BhFh1KRerlukjhxhCrLWzHJadWi92L4YEJPyq2Bdo2JlQU+yDP5gnFSOsQ== 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=GqQwCPeJJiO1faMOkd13Wg4wZxkTBVrAPLnmxKm7WrA=; b=HWRj1ZcQsBm5+jjkODv+4BmD5csvnOjP/UDPF4/w/gTMV6XOREOKyFvQWh3Wj9mHm7mr+lqEd66uLyCRaECIWHWkKxgDadj5OqBHssmNJ9CFVejyHl46uxXgP3cGmbDempmkXNMpmAclGHiyn2MvK6G5eNlzRrzOOsak6ZD4BUA= Received: from DB9PR06CA0007.eurprd06.prod.outlook.com (2603:10a6:10:1db::12) by PAWPR08MB9993.eurprd08.prod.outlook.com (2603:10a6:102:359::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:59 +0000 Received: from DU6PEPF00009529.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::a4) by DB9PR06CA0007.outlook.office365.com (2603:10a6:10:1db::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.28 via Frontend Transport; Mon, 27 May 2024 05:06:59 +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 DU6PEPF00009529.mail.protection.outlook.com (10.167.8.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:59 +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; Mon, 27 May 2024 05:06:56 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:55 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 09/11] AArch64: Diagnose OpenMP linear clause for SVE type objects. Date: Mon, 27 May 2024 10:36:24 +0530 Message-ID: <20240527050626.3769230-10-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009529:EE_|PAWPR08MB9993:EE_|AMS0EPF00000190:EE_|DB8PR08MB5417:EE_ X-MS-Office365-Filtering-Correlation-Id: d63e3e15-fbca-48b8-1a6f-08dc7e0adc1c x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230031|36860700004|376005|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: nuFeTAQWJlhBEp/Qh/mNTJKJ6HVPLI6Fa+wLbdWg0aXacXifGX+cqfzIQ5/pskNGk/QlC3SqFp+whRJXuABAkt/MjpqZm0w2WcWroma5eXBaqOgQe0LGWi5VsK5NchA7tvY3aIMOLUgwC6BJLP/yKT6A3zTmNCwtUqF+NvkMEzaYQLYk34aG/y8oO9rRZCGGbenxg7wiO3JHk62Aj+bnBQVGaGFBBCtj3ld5jxPURDze+uJ96fpcwvo46OhnJCku+umPlPoz2Ek6YpV3UcoqXai7BNP1iG5FEFyFy6kZASDk57ZVc68T3hsxdfmsTLesX2l3Xmub6EfZE9UM21laW7vYsIGI4lZq22IZ+7NocfypOaAlBO18xXQ5KiSxfNaTMaPe5hxHNfii7a7K9rah4NY0EEvJSqCwIU+WTgjEZiC1W/SvjTdnXv29Gn2cy/irIMt9yTu/df+1yE+c9yEniZLblqnXrZP6ZeL9tdl9rla2LSwjiNJBnds7EMvzrOR8sUbR1u5N+jf7xlEbnKvMM0ICA07kM12DSKLh3JzvuoYHZzLqeb2dRIl/wTeH7e9Uzs/6uvC0Um7CGRmtlwXo5O9+sabaBbgWSM528/E3VDACsUq2r2lx18Dazi88Lnio0x1QuLY81lzRMlz6gqqHVr6GTsFclgy9iWWn2od0oaM3jPtfe2qOJr5TrL7TIpR8Ju1P+HRyzZ9KnZL16/t7aXLCJEi5GWq0ZpQ06ZMwpGeJEV9nvZzcmOjuJMR6j/EpxMDjYcsDDScDCRrZ/n4lAOuSxMDNSdrd4v73jpHAfgaShJFpp+k/+iotE0ykxgmQAXY+k6xFYBoSDEK3hq+u+IPRB16ABqo+sD42+sDb2BilWiWc+zND5I2F6XJYct0rEDaHta27FnPNBSZIjYBkHA4dItLE3weBdB74IsfEoGaUR/wKnfp+Uf9p/Th76NFFB1b4RwiYgtzzgvvXVyncUrUpHce2g/uoNgBj0RWy+8PvdFQ8T4eVWKLwlQuoMFeUnH/HoMMa3db7S01J/4bny98HcwltzkJms/iuaQj86TFwbxbKSRKllWrPLl5ZL1dVTqF9TRPtwhF4acsBnw9LW7UmaY3ztQiblGuj82qwjy52Mqgdl1Lp9LfQyQXdh8EUqy4u/9x48L5gQOHN5IoHzLZYDdrST9kyZqIV880uShhlPZUSEUKS/9uajraYrCR8UyHfifwCCEIeiUJr3Chgf2g8//ULzYPPr+S7TDsRzNoNEDPIHUHxkapyKZDUKsZipCysvAlRIZ3ZJZhQX1PTvo04c7rtqBfeypLuhVceZkyWzfZ/dStYMfLYB3WlBB2S 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:(13230031)(36860700004)(376005)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9993 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 987275d7-beed-467e-e498-08dc7e0ad655 X-Microsoft-Antispam: BCL:0; ARA:13230031|82310400017|376005|1800799015|36860700004|35042699013; X-Microsoft-Antispam-Message-Info: NBKfaXli6TDu4BDje/vmUt22BB4n5Wa6kcne5FNUrpRY4uYIGRxAI69IQfDFwO1YvGysyc7v6GSBm+iCa1BN9Jm65ejS6kEpkRZYmzj1SiRHOZ1xTwL5pkDM4Y4fkdtBG0To6NqOTX3ccWdXBtI75IK3ISrdIkaD53atHq7S1smB3Wbh046qvRoSmBKcaQOwRYCsi8mgg4FiIq4DOqfUV37s6irTseFf0rUT40LipxqluUxsumjBEuw0a8qkDwF9qDeNenvfs72UpdiA+5rNJqFtOPllAiOW55/pxTY8p9Odq1AnU2+ykk1ObIeBFtcUWSYImFR4UDYYsSD6zFou3NRXJ40GYELNIOH8XQCiUZKvKuQ58HoBQrJ6ni9FuH/Rpyx/VgCkiBKZEAqc76kpKpltnzqhgudm9SGZJ4tO+xMIN3bu11i96tc+1hDRiN7KBMDgNt9OPcqsHQuLPnD96DQsJkyj0g3jB0h+iauehYsU1qa+XIVQBe6e+9RhPUsTpQe3rALVH516UcTof6RbqlkxVA0PUdvvZ6OdfvatwPi13NWyj0nXNAcGL0ZbDMQycfNIlEhPvkqRPcI1XLAwUOS3DmytmxFFN7IIY4GCYwc1b7dhWx8xDyaD22ZS9iwEVAtsAQyt4eCegr4xZtRxiAIHMB3gU+auWdyrrdeea2n+CETXLiaVi4uz5aqk1hBr/QDNujKV7OMPrTibEsIPEAhLeEfdW4EICpm+rrxMrdHyt8XfhcEPgrtQFhkIyYldH/UkRfA2fsBoa67IBW1EW+tzQtVW/AcOWUjKijvoMW0Otq+RttpsqnYogHJRi1sLfAoW8woC36x1Tii0QIStGVS98lNX5XT+rd4Dp19M5RBZeoCozdC717aAU5dsU2TFEBzPiLuDBG4WwerJlJA8UK/mItCSTBwGPSbpWdYrFg2oObOW2u3hJfy7hEss96vSavBYjLrsLcDBPSOj8ks7tIGgqN2/yZ11JbwZmdbOMHpGS+PTfAz+6f55mRKsUD5Mbcq1tKRuRzsksAB+Y1nLKxOL9fBLIkD9YUlpoRlagqCp139MUU4Bj1e3jDmuCJqsb1AXTXWAqjjYTe+3uiCXZsVxjpxCXmLqyRMGcQQpoqSFdoHZfKGz0AiyLnU7ViaScHG2xKHI6ML5aPrImlx3JhV6dPpkgfqc1e73dFMZ/w+Rcj6nEZHhM0LbG9YmCAQxkKlqOej5AWGiO5V9bwT1lg0fDkLQ2nFFg0AEjD/DfS4C0WkbeJyOiAm3a3BM1TmqCxIURMXt1XhJB3WvWh0W43XfSFLbQ3A5WSuAOrxTCKpQNuK8t84xezsQ/TNzXIHU 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)(36860700004)(35042699013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:08.6901 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d63e3e15-fbca-48b8-1a6f-08dc7e0adc1c 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: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5417 X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, 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 This patch tests if SVE object types if applied to linear clause is diagnosed as expected. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/linear.c: New test. --- .../gcc.target/aarch64/sve/omp/linear.c | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/linear.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/linear.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/linear.c new file mode 100644 index 00000000000..77b823a73d4 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/linear.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +int a[256]; + +__attribute__((noinline, noclone)) int +f1 (svint32_t va, int i) +{ + #pragma omp parallel for linear (va: 8) linear (i: 4) /* { dg-error {linear clause applied to non-integral non-pointer variable with type 'svint32_t'} } */ + for (int j = 16; j < 64; j++) + { + a[i] = j; + i += 4; + va = svindex_s32 (0,1); + } + return i; +} + +__attribute__((noinline, noclone)) int +f2 (svbool_t p, int i) +{ + #pragma omp parallel for linear (p: 0) linear (i: 4) /* { dg-error {linear clause applied to non-integral non-pointer variable with type 'svbool_t'} } */ + for (int j = 16; j < 64; j++) + { + a[i] = j; + i += 4; + p = svptrue_b32 (); + } + return i; +} + From patchwork Mon May 27 05:06:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939612 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=dpre4Qb3; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=dpre4Qb3; 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 4VnkFj3RD0z20Pq for ; Mon, 27 May 2024 15:08:57 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B29633858D34 for ; Mon, 27 May 2024 05:08:55 +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-db5eur02on2041.outbound.protection.outlook.com [40.107.249.41]) by sourceware.org (Postfix) with ESMTPS id B73AA3858C53 for ; Mon, 27 May 2024 05:07:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B73AA3858C53 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 B73AA3858C53 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.249.41 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; cv=pass; b=TqRfJSfU5qheja3cMN/lPC6EFJNF5uhlhIzH0Cbx5QwsjLKQuVsdFSPDE5vtS6eV7OsmBsUjvDmso9RYw6eeVvwEf1koz5jzsNZ1mHTSfqWhJEFSSXA6OsOHra41dB9YCDsL/WZF8R916VUT1Nrk0r08zUF03a06MD8I2mWbqkE= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786433; c=relaxed/simple; bh=VrVIOw126S5GQFzkmDihUyvju92DwnVEzAzBIX/pHjU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=nm8AZt3C/nASXETJoyX+hWMlbTj1geLwJyPnJPECka2mRl8WnxJ+4xMVby45Sv2jFKaP/6ZBPkHhGis2WR1w863mnKjNSp73LtGDlbUyTx3AjT675f22t30jL7oK15UIo757WtGTHqWeLQpTKc478FKh5ZiUENwJkNIoifeZZyo= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=YS//M1IbvDvXTWu2aCmLIdRZR+dNSeZsXWAdzSIAkatU2dHsnbThL/4odWeuU1PJ9AZuPvgrhzG4I1Lzlle/geeB8AQkiCYRA5A36eibT5rHIsCW6/q1mGZli9eqWAzhrpN7w6lXdPM71ljrzYscve8wHj/C8pDt4h61zHV5uhcm5yeNWO1QqZ9Jvd+HBY9Gluz91A8DMN1nUJY7xNN2rvtmk8UOnfxmxmMrKe5z7che2VWEFqaUhv409a6SAPBibfLBpePPGp07Y9wZov+HT4e4KQkoWz5J9Gxzig45yMPbfXmQf2/JUjpYw4qUZ+05lQ9Ji2LAqjLeKWjQxUnljw== 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=WuMRi4ZjgT8BQ1PlPZ0ZqhWy3LDQhJlh83xMdOdrERk=; b=hHTkdY1rEDUdlnGZjwzTf6y01tie5tO9fhVbTpKmEWM1X7y5aE0LNMD+cKbp1Htd7wkxHIHozA7DO1XsCeoZkgzKYBoz44IfVwMfn7lx7bvcle3/ALwx0WkfS/PNiGGIY40c5yNUkaVau3hIPcTdZaKWEAVi//mYPElv5E0nIrEfOyb9hSS+kQZRX+l9hRgpQ/YHw3VWHDz7FgTOEJTCT8dbnWV0VhyMEurFCDX1FQ3NsS7rHxGwjcEDG64VD4HvvvdkKrM3n2717HIBWmgTUzSEHkLcYTATUzXRvz/iQxnyXw1f2IrdfKF2k76eNpw7Nl7RWOXpuYwOBbFbg6czAQ== 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=WuMRi4ZjgT8BQ1PlPZ0ZqhWy3LDQhJlh83xMdOdrERk=; b=dpre4Qb3vxXMmRcDUHRy04BuQFqGTHs0ohq/E8YkHOx9/rawBv3TW63IZPLGlQeOtWLzsNrnpNJBkFOgJl8jdUP0exL8DsR4Bmcecogu6DBNowuuapeUlIsosM3THe0LGCrzJpp2T62XEBTkoyAOyufSr4h17M49W2clg/qSe2A= Received: from DUZP191CA0048.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::8) by AS4PR08MB8046.eurprd08.prod.outlook.com (2603:10a6:20b:586::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:08 +0000 Received: from DU6PEPF0000A7DF.eurprd02.prod.outlook.com (2603:10a6:10:4f8:cafe::34) by DUZP191CA0048.outlook.office365.com (2603:10a6:10:4f8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07:08 +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 DU6PEPF0000A7DF.mail.protection.outlook.com (10.167.8.36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:07 +0000 Received: ("Tessian outbound 2fd40f2ccfd7:v327"); Mon, 27 May 2024 05:07:07 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3ff26c6107193c06 X-CR-MTA-TID: 64aa7808 Received: from d2888d69f3af.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C2921FC7-2DAC-4868-8D0F-13F95D272CE2.1; Mon, 27 May 2024 05:07:00 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d2888d69f3af.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:07:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m0F2piNnhL8pccm9cr4fZhWluGDEF8CPp4a7OCxenZUMY74sCnaQei9F7Bbvjiv4HcmMVgGPXxJy77uETL3EjS0h6esbynOuTG4USCdoftshFH94kv5Uye5eT0w+Kq6ZZnsgddwLFdIBgh+UsDL/lDmmgVSoTIxhyNUJ2nK5Gzh8YiyuEkMeTt+/vn7u2Grkxl0FjL9+HLtW+f0qanwsLRGz/E7kebzvDO2Y1bXsD52zisPaEyL8yer7ASn2rmrOkEmijxn4BaXCJF14cc4qO5pZyT8ck4lq8ACKxGrHdxxdLYOB8G05ZWpB69P+Tak3tgKWZiLD1brs+JTr0xnWDg== 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=WuMRi4ZjgT8BQ1PlPZ0ZqhWy3LDQhJlh83xMdOdrERk=; b=bZk+VXnOSm5daIMhuYHtLlABQuskVKe8C2zAsE8z94jwZKnxX0vS9lYhtLuR2DLUfgfd5rSO/zC4C3amKJoEZTJfDfYKF09fqhYSR3UbhDonWtRNHZsRw7IKjL9C8HLvwbsOri4xeOfv7vHFDtgWjIvt2ddNrWboKtIflbx5TG9pI+3UKCmcrS9UGP/uf/f4J1GjWKgEtGuVi8UWodsxO4uFGTsWBCRK5JGfhkWdGZ+h5zid3ERn0M1KAJl7fdWv6pmkjWgwC3eN5wo7BDLcgtx0GtTBpJqE+RFmRMjMRp9XQjat5Q2hqcMkKaKYL7P/Eb+0quqis3NcQzybin+BIA== 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=WuMRi4ZjgT8BQ1PlPZ0ZqhWy3LDQhJlh83xMdOdrERk=; b=dpre4Qb3vxXMmRcDUHRy04BuQFqGTHs0ohq/E8YkHOx9/rawBv3TW63IZPLGlQeOtWLzsNrnpNJBkFOgJl8jdUP0exL8DsR4Bmcecogu6DBNowuuapeUlIsosM3THe0LGCrzJpp2T62XEBTkoyAOyufSr4h17M49W2clg/qSe2A= Received: from DB9PR06CA0019.eurprd06.prod.outlook.com (2603:10a6:10:1db::24) by AS2PR08MB9739.eurprd08.prod.outlook.com (2603:10a6:20b:605::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:06:59 +0000 Received: from DU6PEPF00009529.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::dc) by DB9PR06CA0019.outlook.office365.com (2603:10a6:10:1db::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:06:59 +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 DU6PEPF00009529.mail.protection.outlook.com (10.167.8.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:06:59 +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; Mon, 27 May 2024 05:06:57 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:56 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 10/11] AArch64: Test OpenMP depend clause and its variations on SVE types Date: Mon, 27 May 2024 10:36:25 +0530 Message-ID: <20240527050626.3769230-11-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009529:EE_|AS2PR08MB9739:EE_|DU6PEPF0000A7DF:EE_|AS4PR08MB8046:EE_ X-MS-Office365-Filtering-Correlation-Id: 4a6d471f-e7a8-4230-a1d1-08dc7e0adb40 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|36860700004|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: hJfkzu7jCSN4GE+NWVZ/zLmINqDzd7j0G3ohRuklJvlRXhl39kbsvp6sxVJEnMYnN+elEKIiQMbZLSSqN6E2fGO67Byh/ceyserM3rnjZ0iJfa78Ij9r71x7ULCHGq411zeDDevOfgVmjxtKzvm+ou21wjY4TknUBAvveEdUbv2Pd2hLcm2MpfzpOf6bnJGzsScFXPldXCfpDqwAc1Upi+uliI0VA2gJdeg7huBwrEPTk2TRvc+9aclO6SSYTM6CLFECJpo/XzmAbXcC6uUb32fu7ZIIlnJyxeJU4091hYkyp9TynatFJJM0+/uKGSsfdW+9vX0MWLK5vufyN3U0UPQYO8Gy6VjDn6rJgCq4Yl0pbpetmULOvAiq37YbpqpeSjJXJl2FjgEkcLFSr0oN+qJ76Pq1nrevbNMvacDSBZ+oa8BTPfrAw/sA1pOZUuoObJI1Gyz0TkJyfuB8kXmnLrz/W0HtskyJPhAx8TEcKfmmKy2YSCWnHRW0wZFi4ADoFNcr5LUmnp67InUn6j0zuvOZ6uB0uAiFHc4AMzjn6O8UrDWY8P8QjwvlVkPWMuOCr4oRzfhI3BMdRgNdqnoA8YSfgtHZD5p/509mVGqSRioQIY1wMPNyAlmaB6S21TwivEWy939YlG6OCJ23W0P3QDbqMw6q/OdKt+ZWBI50wYy4xejtCnAWo9cAYi95KCQsy/dUFt11Ey52hUDmiJSwI5pxcfWQPBrWX+3lX7s1eChQxNsed1wJ8xFY1JsfmWuxiOsUikv5mEx7yH0UpwlOtbk2DCl3yPt9qWXD4GS/996WGjW5J19gVtPlcYiQUwDnA2zrCnHd6NXNk9T8jzopQnFg/9YN0U3FwcDmjED6eJRmMpxSh0ZYRl5mtvPdXkczjUaYX2EyIvLXYQxd6PCBusGXE+7SthnNTHvOfE59r/3r/tEsOWjFCgbcPQ1jZJuUm5lP/jWj77Ns5ETkAmXZRwf8UJwjuyagtIjAtTXWwZNh095Wtz1tRtVuBGrfmiO+El1pXRCOVz/dct905lFmqIwIeJi+eDSrwTLAQ3/r1QwJ7oOo0STIAb1Akq2tFYHN3GInt0k5/rFA29TwlLxHJsOlEAAN1y+eq8bbJREVKWJKfbIFOkFULFQgHNZni1vt34bCNEsArLjrVGThUjxyqwSBkOy6SLmal9r5EUTeB1scB49uiPXWhjBsDY/NmF4lVcGFnTT27RaHIfT5jHekwS+9/bM5tLqRonUpBqTqPGQBm1Z98I1LflwuFbEo/df1tHErLuMSQiajE15aQNtoxmlOYNMrHJNB9NjeuVB1+HYpfmW8h7v3dixf/tUuz0Zg 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:(13230031)(376005)(36860700004)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9739 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000A7DF.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1385b9e0-8057-46b7-e191-08dc7e0ad693 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|35042699013|82310400017|1800799015; X-Microsoft-Antispam-Message-Info: ECqB08ghLi5Cjb3uU9CJs9zAb0tfqPycR6or7BjL/uylLc9IQ52Tnw6gpfiMSFSJPAEQncXRfU4m0e6RWN5Lu/QkkA6dq5zU39mASGig7iEeyerD8MPUcTm2e4oSsmW/sHKJe4SyN1Q8TbyAryhbRKqvlMHAF82nfKAOOzyIPRL8mhm/xen/KSDPAUsIzVqxyA6vWQl+0zDdqGI88wnlkkv67/p7OdoclDIPfZ725eT5kiebcmoP79O//ODPqu/uVV41j8jsqAtss0Q6wo51gU6gSAdVfWCa9mQabuT2Oja2PN/D3G9gIkKjtjnDs91nIrLIPBsBJHj9P5C8+wqc9ZdF6jukjJVIHwaHKnTVdRcqXCTOjm2YaAdOZItDJXvckKc4JjulOy7V+uRt7Nid1mAci2HK6po5eMULmque4dW6V0zo/I562pEbcnMbZUofkcYZdxuMYBGuDs7zKUF1MasxLhoAOp3talozpx4L9sG4aWH7PfcStsaLBqAtyaiuHlKkekQWiqExbsXFpL+aH5Ce9XeP3HQyXNmyXiL/Y0UsKtBcYxl0ui3YTNMMeci1+8YtO88ECP9V7b5AqecbbijxjhegNpdbAH97ooprwDK/urshvRlNhqzS98C7Kq9tRHIYt7LW4PY6bZugF6oDx4NEiylYpQcV93R46TLeSiUZ69J8DyuOiB0HzNxyF0qTr07mMcsokIjj/t+zDVTBJnjvU4ZEj8oXu0tJRhJx6pw24pIieE/do8rFOhR9bw3BNod4WP1gRKn7gIVM1dJbDqeg4uW8UQQ46KoERXu37+BtbpRTiqSnC5l+fL6VUru23DE5dlegljBxMm7nCM5AFGZM7f3ZhIb26Inx4gadYZqlM8m+n+F3rD0ysfy5dC8lFg5QuxUmg4Nkx5b1eK+4jWnDGWh0sQNblHYH+fI5COJCZXYz+kyp2Dyz1glRDvt4aHETYmQgPfFQkiOETpguRrVfvjHo9oT8uHuXwvhMbE3ydZaZ+E1t11E2/PgRNrskqea9z+yX7DRGh8MpEQaIKy3qHGtNmUZlmwq7gt7Txb9sh7biHIVAmXNVIy7mgt9S5O4XqB87BjFAHeH9QeR5oJSfmkaFaY35Abml583/yIobobDSkB0iBj2rZtJHORaKaNcW38pDp5WLyEXVc0jmUYDRNWJ3sX5BSJGkoEOM8hkjl5MiXZNZPYxmdnKFOxEJIOh+g51ul5Z/A0Ga0Q4aeqfYFFZ8lTycDrjJIy1o+bBQn5+m6wjUq8w5Vl6FQraCb8oQHEXl72qzf2cbEe0tV2i+zgjXbbFUyMXj1cYS1dFLT/HD4wdwFD0k0BY7Qrz3 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)(36860700004)(376005)(35042699013)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:07.2986 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a6d471f-e7a8-4230-a1d1-08dc7e0adb40 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: DU6PEPF0000A7DF.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8046 X-Spam-Status: No, score=-12.9 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, T_SCC_BODY_TEXT_LINE, 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 This patch adds a test to test depend clause and its various dependency variations with SVE type objects. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/depend-1.c: New test. --- .../gcc.target/aarch64/sve/omp/depend-1.c | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/depend-1.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/depend-1.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/depend-1.c new file mode 100644 index 00000000000..734c20fb9ae --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/depend-1.c @@ -0,0 +1,223 @@ +/* { dg-do run { target aarch64_sve256_hw } } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +int zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0}; +int ones[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; +int twos[8] = { 2, 2, 2, 2, 2, 2, 2, 2 }; + +void +dep (void) +{ + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + + #pragma omp parallel + #pragma omp single + { + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + } +} + +void +dep2 (void) +{ + #pragma omp parallel + #pragma omp single + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp taskwait + } +} + +void +dep3 (void) +{ + #pragma omp parallel + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp single + { + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + } + } +} + +void +firstpriv (void) +{ + #pragma omp parallel + #pragma omp single + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp task depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 1))) + __builtin_abort (); + } +} + +void +antidep (void) +{ + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp parallel + #pragma omp single + { + #pragma omp task shared(x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 1))) + __builtin_abort (); + #pragma omp task shared(x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + } +} + +void +antidep2 (void) +{ + #pragma omp parallel + #pragma omp single + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp taskgroup + { + #pragma omp task shared(x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 1))) + __builtin_abort (); + #pragma omp task shared(x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + } + } +} + +void +antidep3 (void) +{ + #pragma omp parallel + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp single + { + #pragma omp task shared(x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 1))) + __builtin_abort (); + #pragma omp task shared(x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + } + } +} + + +void +outdep (void) +{ + #pragma omp parallel + #pragma omp single + { + svint32_t x = svld1_s32 (svptrue_b32 (), zeros); + #pragma omp task shared(x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp task shared(x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp taskwait + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + } +} + +void +concurrent (void) +{ + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp parallel + #pragma omp single + { + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + } +} + +void +concurrent2 (void) +{ + #pragma omp parallel + #pragma omp single + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp taskwait + } +} + +void +concurrent3 (void) +{ + #pragma omp parallel + { + svint32_t x = svld1_s32 (svptrue_b32 (), ones); + #pragma omp single + { + #pragma omp task shared (x) depend(out: x) + x = svld1_s32 (svptrue_b32 (), twos); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + #pragma omp task shared (x) depend(in: x) + if (svptest_any (svptrue_b32(), svcmpne_n_s32 (svptrue_b32 (), x, 2))) + __builtin_abort (); + } + } +} + +int +main () +{ + dep (); + dep2 (); + dep3 (); + firstpriv (); + antidep (); + antidep2 (); + antidep3 (); + outdep (); + concurrent (); + concurrent2 (); + concurrent3 (); + return 0; +} From patchwork Mon May 27 05:06:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejas Belagod X-Patchwork-Id: 1939614 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=D8uJUPoL; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=D8uJUPoL; 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 4VnkGx39l8z20Pq for ; Mon, 27 May 2024 15:10:01 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A33453858C35 for ; Mon, 27 May 2024 05:09:59 +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-db8eur05on2074.outbound.protection.outlook.com [40.107.20.74]) by sourceware.org (Postfix) with ESMTPS id 2E0783858D34 for ; Mon, 27 May 2024 05:07:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2E0783858D34 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 2E0783858D34 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.74 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786434; cv=pass; b=ZsCahB3KhIkZt1wUo7nY2ra8Irk17Wz6Bzp5KBDITY1kfBJ4lbuJYo3qlCwTDv3LV5LOcO/LGQc7LDVg915XqLPF9TCiwenEcNNY7kYUB8Ef6oXJ5IoIemBkiAbrM7que9tn4T5PW2FDD8wShtBGee2gaMRtOJxcFFkti0cstq8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716786434; c=relaxed/simple; bh=ZkOkeuLqmKInp7QbddGqwYjNi5xngHsISQOZxynPdbo=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=GZ9FJ6il5XHHAtT8aFEGH06uqj6gLRj8zOqf6reJyrUl2MUUPErAy6ZrrnbryftChUfBF5k5EIw/HZVPcQjN10AZxlj+JDfEeadXKwy81oJQUMlnpxRTYQn3s1OHmzRTW1cbjuOJqCYJ8qNEi496EMM89gLh6D0ewjX9pjZHSkE= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=eB6Mmjz5X0xPeAWTc0eC9OCR2ToRzUE69tCA7Qi3i4vRZWHaa+09CnJkxKFkxN4gouBL/6i+0P9TRDW2B/EiTM5A7o+81uylNwjvxSJuREfXqK6AgU8URQWFR52UeDT1XWUhJl7xpDUTjcft4L1j5VgZ4MiZ0oWT1G9kGN2jTFCNk8oOo6Aio0tL4lfIZ0oGByoQhTHWcifOFC6TI6WFR/yFA4okiQpLvbpMy+0PXbFSDZ68DPJeyjc0C14MTZ+2ZotzEHrYGmAQrJiy7VrFkJbK0Z2JfUkC+od1/jQ7gtM9cJHPXWxY8dnrlTMbSjKBeFUusJKzkhS6FoAo92LcJA== 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=kE49kFRoVwAkrbEUMB6c0cldIfbCeuL3uG62tmXiUVk=; b=cGrvBPeGgQcco2L1TtoQMPVzAuBP06dXETgvo0x2KS7TYveL747fAEbLBawrhFcHflXfA3QC2qdy9ng3PFiaB3s46yZOb+YE2EKDympp8cTDX876WWXZkm2t2U0uz5oSyCydqbO2rqlOdYhkmUONcO88mY1Lik3CNQOVKGree3HUxCbxUrgOakAAaik9jZDQqxqjqSYTKs7UyGOISzLNpg48mV4HyqG9/yjutu/9GqJu1btjebeUzp3kFDuROLWuQ8egidtlThDm7PagYPBoQ75JugkrpDiaaTrGDvgsyti4YFq+RxR1Z+VyjylkBCKxfJkojwDhVOd2zdWwa0B1Zw== 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=kE49kFRoVwAkrbEUMB6c0cldIfbCeuL3uG62tmXiUVk=; b=D8uJUPoLkS19DdkIuRIepe0IOBuQzYKA5UlgQgaawPyVUOzm8fVR0rzSi6n85rbvq5OuKGMVUKOWWwZYZRhZYB9VIqImBqmKkKyTSa/pCOOnLMg7sHKrANguxU5A6U4Bw3tc8xdkNG0Kd4G2PJtES/dD3CecDAzZHF51Ige88Ec= Received: from AM8P191CA0012.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::17) by AS8PR08MB8441.eurprd08.prod.outlook.com (2603:10a6:20b:569::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:10 +0000 Received: from AMS0EPF000001B4.eurprd05.prod.outlook.com (2603:10a6:20b:21a:cafe::26) by AM8P191CA0012.outlook.office365.com (2603:10a6:20b:21a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29 via Frontend Transport; Mon, 27 May 2024 05:07:10 +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 AMS0EPF000001B4.mail.protection.outlook.com (10.167.16.168) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:09 +0000 Received: ("Tessian outbound 57d5075de207:v327"); Mon, 27 May 2024 05:07:09 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3671e4031622ddda X-CR-MTA-TID: 64aa7808 Received: from 4b561f86264d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EF17FF34-7134-41BE-9026-3E93013815CF.1; Mon, 27 May 2024 05:07:03 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4b561f86264d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 May 2024 05:07:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VVRQuGpzZh4d3lBTHtI1Bo8ALvMPtD7hutrT3dklIQ1sI3V0ts6eq2VgREGFVMsU1662Wegj1u3AnFkhy/a4Lh6FIrmx9cBktFYpzv5ibL6iGPTpyR0TRB0CoyMxm/ixoJxYB7lDSLWzZqxyCCDDZVBL/4L+fwV2CEA3KZDxanpX4VnP35X49IRnDWJInzeF1XeHftp2D9De/S3mSqLQJHn3+XdHhBlZcR4g94sl5htM0dSFJMJRSvgvY8HgdJqr3jb82kiElasgr+YXzV5j8Y75FeMo14NbVZmIhYSFc38aMcMrRJIbTdWedLfZDyqeCYicV0lQcHhP1yfhb1Okag== 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=kE49kFRoVwAkrbEUMB6c0cldIfbCeuL3uG62tmXiUVk=; b=I1Ch7CTruEQ46jr4e5M4Ebl8e7aMMbWvE9wLbv/xgNvrtYTRxmYKVfaTX7WYze4XMqerV4C7BIyAmbH+rLy4OuvyNycpY4A7DcNCEzVNLzeWCYAGHmpnoXxnHT1ACulQ8ZvpzqC5S3u0NPeab3J/cE51OtTXQIor1i4sehWV3/Nxx3WWBAfUclACDBUjq4no5uAX+smj5ztVdQp0C/uxQx2y0YfykiOmPdWZSf0lcIqBslKJBw1flULxdvGxJF0KLfBAeF1zHX8CGV4ti4Qch/nlZJj8KV58th8sl8VqbyK5cg+hOBQ08daHc+Vg2Vh6xP0krUyZVL9i1IUeANIHUA== 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=kE49kFRoVwAkrbEUMB6c0cldIfbCeuL3uG62tmXiUVk=; b=D8uJUPoLkS19DdkIuRIepe0IOBuQzYKA5UlgQgaawPyVUOzm8fVR0rzSi6n85rbvq5OuKGMVUKOWWwZYZRhZYB9VIqImBqmKkKyTSa/pCOOnLMg7sHKrANguxU5A6U4Bw3tc8xdkNG0Kd4G2PJtES/dD3CecDAzZHF51Ige88Ec= Received: from AS9PR05CA0143.eurprd05.prod.outlook.com (2603:10a6:20b:497::27) by PAWPR08MB10976.eurprd08.prod.outlook.com (2603:10a6:102:46f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Mon, 27 May 2024 05:07:00 +0000 Received: from AMS1EPF00000041.eurprd04.prod.outlook.com (2603:10a6:20b:497:cafe::18) by AS9PR05CA0143.outlook.office365.com (2603:10a6:20b:497::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.28 via Frontend Transport; Mon, 27 May 2024 05:07:00 +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 AMS1EPF00000041.mail.protection.outlook.com (10.167.16.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7633.15 via Frontend Transport; Mon, 27 May 2024 05:07:00 +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; Mon, 27 May 2024 05:06:59 +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; Mon, 27 May 2024 05:06:58 +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.35 via Frontend Transport; Mon, 27 May 2024 05:06:57 +0000 From: Tejas Belagod To: CC: Tejas Belagod , , Subject: [PATCH 11/11] AArch64: Diagnose SVE type objects when applied to OpenMP doacross clause. Date: Mon, 27 May 2024 10:36:26 +0530 Message-ID: <20240527050626.3769230-12-tejas.belagod@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240527050626.3769230-1-tejas.belagod@arm.com> References: <20240527050626.3769230-1-tejas.belagod@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS1EPF00000041:EE_|PAWPR08MB10976:EE_|AMS0EPF000001B4:EE_|AS8PR08MB8441:EE_ X-MS-Office365-Filtering-Correlation-Id: 52250546-9caa-4d83-5c82-08dc7e0adcc4 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|36860700004|82310400017|1800799015; X-Microsoft-Antispam-Message-Info-Original: 5yUdsTs29vEx5e8RtmqwJZbEfhP60dFJcTwRNeKoBg31fwhgtSpx5FTqwm4cgl2zQ0Gl6VUeb6ts6MGeUkJKTcaOeBz9plfEJockztrEg5NUi3vV6fsVaKfJKh8oY3Qt29csETEPNsiajLWCiR4EetAraHvYL5JPS5HOKh01hoFPhrevk3IMAdF3jEbkKrtuzj05qC8Ypj8KUUbhNJuffNlErO+Oq847Gmj8d5xyudK8K2hgcjIenzNA8S309qNUqUF1s1nx5PLOjaHt/VeneFLeSWInYHFKHzst3CZ43i09yQnbkEvo/C+FFUKHUCbz4BwmTUn0j9Bn5YVb9V8f+d7COWPCs1BeKxmyME6nisN0Uj6xYp3CZfeD16SaGiFykzGhqM0oDyYE18w0702c4cuy4bpnvN1ZhFq5VTGP8IGSsX5YUt8aMpBojUyZh1hwzjcVtN1eelmXos+0Lsmeo6mn+jggfAX7yvpiprswTPmZaekUYwv5cPDDtb1iaRJlAGSZzNAWdeumf7TEf9rgMSmC4GLHUuML3KfEmlnxTgYRL/jSMQDayK6evOORTsN6PMAqQJin9+VGRLornEfJJl04thjCjYT22w1frWdpxhbAM1tpkjnm3lQv89tmTj1hNHG0Ef74R/rvlN8hIVusSMzKnvxNPJ+tebRa7k0ao5IffrIyxL1YmA70PvRKOY/7iqeXXf+B/2S3inMifCjTWS2o+5WQct99RAEQV0a3qOot3uP4zjMNbA+yqY5mRiRtBywdENvzJFhCgedRP0voRXdgOQbbLsnED2Z+MY01uAZJOfzGcRqYQHBx6lptD3ucY2zEZuBg9t3GGTgHtWbJKFPagZvubc0XRfGn54xhjBYfODG2bpKEE4gg4whfr6btHnCyo0Q78f+3WqN1CHLjONGyf9t4iqHiWUNfV8ULr4ruAgw6Y2H4mai1ouSYU3LGaAuU/FDQYGiEy+3vB4pt9EsROhHQlg8+xQAT4ZiOWD/IDezn29f/IX56KI5Nr4xWfLEY4V2tZ+hVT5L3bEtAZcaTZL9JJEcbi35nZ9jGKdyLo+8oXZIgxPzsJFPny7nmSjmunQWSEt2gcIJVFuzMya/E3BfKw+9n5H6G27S5/C1z4OGQCwy7WEsEGgcEwU1M6rYwW9QiHIpgTXx9628gKiFJnrPzGysePpUVYbPR2Y2HbLMtaIbHvZj2GDNtRTQ/9N3NBM4SbmCVa/7Ra4q2PoifllgxaSOBkdTF2HvyMFFmLyZSbEeu9UTffdajG3fONX0mYYIy1swCvfxl//jBQ0cc32+e80YdJWV4gFSZLR8LzVzMNLs+E68cwWr8kHI5 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:(13230031)(376005)(36860700004)(82310400017)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10976 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001B4.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: bc174c23-4991-4605-c8c2-08dc7e0ad72a X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|1800799015|35042699013|82310400017; X-Microsoft-Antispam-Message-Info: iWFleNDg5dFTDKvUPNr9ClfSgZ6LqZ4eW/8M2oieI0MstRCaTFYb5vinwrRg/iPAK9E6elaiSVf8ZkYlfEcG0ufU7dAPovMMTJakCB2MSer5HFnFgNZ9f7dBIK7NZAnRBTFed0cg8dTgWU5J+CeuZNvhQzzNqE+5jyDkpHkuAbYunOE8aL27MdUzyVdscIIx5jN8MzGVS6+pIY09y5sxdrk+TBbeylWu9BRZzi5oAaWxecwgIFNwCJnf0DW9Qm3Ska8P+jc6Q6z+6NYC6OX2og1X7wpvxvLrCnHOthjGsMIlpDi1JeH6XPGpR6dw0JWRV25j9U1DPYNMxVXNNnaC9wAXEOvNh4lwl2gxvYC7MGF9FaFCTpljisycfT4fpDwPVLWV6704FO+BRoSL5YRBwtbB0LrY86eWdAG0+o8a6E41/wehWO97Ht0tKRIJQ1IYFeiy8KNH9Y/nT5/UkyxBGih8u1JNCFYYokzMkHgTmijmyp51je7tQbxMtQBh/Lh/U0gNOxV/VpW0l4itA7tesOx8nWoFzAv7VX4YjuxmF00vj+4U2SWnYLc1AbCyCcldpgYJdMcGJhP/X1uKQnAYGeZhLMHGOmCUGdCy/xVCP/vvlBr2Z13OOKeU9Izb1mcp4tdwDtSoXvnl3gEVACah8aXcVN0p25reNop4FSf/rfW03AHu1Jz+bh1ElN8sloC+F+Cttn3lmQDBUF17xVabk7cuNkkgOO+74nGuWMVv7mFYI5pWak07u/aGLntlRIc+MeQOicVRmrP1KLHICHLIuYHdS2vxdz1r418seC9bPqO5M5KKZVCoa0djRPlps+JB/fwIylPd9MJwDC8bTeTQoFkDhH6uzlyDWQcsXXbz2iaCl2FSMd7XKW1xCrgga5Ao6A26MPYCHmFYKEDUv5iHxzN3sWgrg10aUGEu4OjcAp02oekKXC9/gR1LvbeArzENZj1W/b5MTY/KcbPQfWK5k40rx1k60O1gmtfV4SEajA5kO8qliVFaOpWuhYhXNPtuwC2zGYcHLElYDT9VvYrheWj29kYCtcd0Fj66hBWnTgBbvQ05u263cm2vX5JtH///xY3eDdljoH6eyWSvordrB2z42RkdbMFyjsMi2QL96mBvr88DUaROz9c9V3Ul+iPWP6xl290YrUczHVm6tHbtcuFe2G0koD95mtHol1j/r+YPyyv7FlhxdbO6G84mAoXzCzMMEUKdISFwU9qk7OCSJpnNOMM47FJa09Mb5uDpEgiIpo1FI4QrY3ja1inUVf/9V7FomN4vb9uh/n6OZSmVASUejIYnHLv+1v8Pacu5xYWNu0ZWIhWNBbr6/GNOyq8N 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)(36860700004)(376005)(1800799015)(35042699013)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2024 05:07:09.7928 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 52250546-9caa-4d83-5c82-08dc7e0adcc4 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: AMS0EPF000001B4.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8441 X-Spam-Status: No, score=-12.9 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, T_SCC_BODY_TEXT_LINE, 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 This patch tests if SVE type objects when applied to doacross clause are correctly diagnosed. gcc/testsuite/ChangeLog * gcc.target/aarch64/sve/omp/doacross.c: New test. --- .../gcc.target/aarch64/sve/omp/doacross.c | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c diff --git a/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c b/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c new file mode 100644 index 00000000000..a311887926b --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/omp/doacross.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-msve-vector-bits=256 -std=gnu99 -fopenmp -O2 -fdump-tree-ompexp" } */ + +#include + +int a[256]; + +__attribute__((noinline, noclone)) int +f1 (svint32_t va) +{ + int j; + #pragma omp for ordered (1) + for (j = 16; j < 64; j++) + { + #pragma omp ordered doacross(sink: va) /* { dg-error {variable 'va' is not an iteration of outermost loop 1, expected 'j'} } */ + a[j - 1] = j + svaddv_s32 (svptrue_b32 (), va); + #pragma omp ordered doacross(source: omp_cur_iteration) + j += 4; + va = svindex_s32 (0,1); + } + return j; +}