From patchwork Wed Mar 18 11:17:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 1257425 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Received: from 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48j6wf0B0pz9sSd for ; Wed, 18 Mar 2020 22:18:23 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DF55A394441E; Wed, 18 Mar 2020 11:18:19 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 6A7E1381DCF6 for ; Wed, 18 Mar 2020 11:18:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6A7E1381DCF6 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Tobias_Burnus@mentor.com IronPort-SDR: +h9myi3iyJTcWVS5qlmznYri9Am0+C+qo6oHssVwusHdvVsYcHNMEzIkXFIrh2G9ovVo+J11Ao ci5gHMUueVEb7npcYiUXa/lE0kNb7KubYKdlfS42l/bylNzJuf7JCxXeXHbE/DQ8baPLw/7RGY y/fouCX9GRZXDPC+ru2EJaXuy3XYGVnu5U03XjUP7Y4JfmOuaGXRq167MHGFbKveTTo3g6PA7p jfnS+Qo4nGufj8U0d6l1TTchXF/JUa1ftV5QYQ7kmdMJhaW2mGK9wR5gfIQ+y8vyiNxtr+x4QU k28= X-IronPort-AV: E=Sophos;i="5.70,567,1574150400"; d="diff'?scan'208";a="46876411" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 18 Mar 2020 03:18:16 -0800 IronPort-SDR: +dsDy3K14ltwz6JUq9Jtsvu7Y7Pb71OnOufstFrSVRAm8RNFvKy5vDfO5TSbLbeoPfZeO4jKlm uozC/S5ZSL/349mks9aR9o3hLlBy3OPO/BHc0Yrf4BqQb49bmIqFD1yzi9EtgK5PO8/X3hC1pN UoLh16fIzy6jJAcdVGp1ygt3RhJ/X+qVm48dAx3urj+o1Y/gGxTwuiGB9F23YL0h3HfLLQXR+L nfwqT5VOO48ysHE45Qq4KFqTjMR5v4HOi0nJaluKzmnKTCIaJzixvHNqmmyLJ2OWTDhRCoCt7n aKs= From: Tobias Burnus Subject: [Patch, committed] libgomp testsuite - disable long double for AMDGCN To: gcc-patches , Andrew Stubbs Message-ID: Date: Wed, 18 Mar 2020 12:17:52 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 Content-Language: en-US X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-06.mgc.mentorg.com (139.181.222.6) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) X-Spam-Status: No, score=-24.7 required=5.0 tests=GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" The two OpenACC firstprivate-mappings-1.{c,C} testcases use long double, but not with nvidia – this also disables it for gcn. Additionally, it moves the '#define DO_LONG_DOUBLE 0' to the libgomp file (before it was in the included ../../gcc/testsuite file). Committed as r10-7238-g4da9288745d8f9c0d6918b685522e89c277020c7 Cheers, Tobias PS: Without that patch, it fails with: lto1: fatal error: amdgcn-amdhsa - 80-bit-precision floating-point numbers unsupported (mode 'XF') ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter 2020-03-18 Tobias Burnus * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn. * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise. * g++.dg/goacc/firstprivate-mappings-1.C: Only set DO_LONG_DOUBLE if not defined; update comments. * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise. gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c | 12 ++++-------- gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C | 12 ++++-------- libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C | 9 +++++++++ .../libgomp.oacc-c-c++-common/firstprivate-mappings-1.c | 9 +++++++++ 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c b/gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c index 33576c50eca..7987beaed9a 100644 --- a/gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c +++ b/gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c @@ -2,7 +2,9 @@ /* This file is also sourced from '../../../../libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c' - as an execution test. */ + as an execution test. + + 'long double' tests are compiled/used unless DO_LONG_DOUBLE is set to 0. */ /* See also '../../g++.dg/goacc/firstprivate-mappings-1.C'. */ @@ -24,13 +26,7 @@ # define HAVE_INT128 0 #endif - -/* The one is only relevant for offloading compilation; will always be enabled - when doing tree scanning. */ -#ifdef ACC_DEVICE_TYPE_nvidia -/* PR71064. */ -# define DO_LONG_DOUBLE 0 -#else +#ifndef DO_LONG_DOUBLE # define DO_LONG_DOUBLE 1 #endif diff --git a/gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C b/gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C index 639bf3f3299..1b1badb1a90 100644 --- a/gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C +++ b/gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C @@ -2,7 +2,9 @@ /* This file is also sourced from '../../../../libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C' - as an execution test. */ + as an execution test. + + 'long double' tests are compiled/used unless DO_LONG_DOUBLE is set to 0. */ /* See also '../../c-c++-common/goacc/firstprivate-mappings-1.c'. */ @@ -21,13 +23,7 @@ # define HAVE_INT128 0 #endif - -/* The one is only relevant for offloading compilation; will always be enabled - when doing tree scanning. */ -#ifdef ACC_DEVICE_TYPE_nvidia -/* PR71064. */ -# define DO_LONG_DOUBLE 0 -#else +#ifndef DO_LONG_DOUBLE # define DO_LONG_DOUBLE 1 #endif diff --git a/libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C b/libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C index c8dba9e5d1c..7b3e670073c 100644 --- a/libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C +++ b/libgomp/testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C @@ -1,3 +1,12 @@ /* Verify OpenACC 'firstprivate' mappings for C++ reference types. */ +/* PR middle-end/48591 */ +/* PR other/71064 */ +/* Set to 0 for offloading targets not supporting long double. */ +#if defined(ACC_DEVICE_TYPE_nvidia) || defined(ACC_DEVICE_TYPE_gcn) +# define DO_LONG_DOUBLE 0 +#else +# define DO_LONG_DOUBLE 1 +#endif + #include "../../../gcc/testsuite/g++.dg/goacc/firstprivate-mappings-1.C" diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c index 4a8b310414c..253f8bf0bd0 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c @@ -3,4 +3,13 @@ /* { dg-additional-options "-Wno-psabi" } as apparently we're doing funny things with vector arguments. */ +/* PR middle-end/48591 */ +/* PR other/71064 */ +/* Set to 0 for offloading targets not supporting long double. */ +#if defined(ACC_DEVICE_TYPE_nvidia) || defined(ACC_DEVICE_TYPE_gcn) +# define DO_LONG_DOUBLE 0 +#else +# define DO_LONG_DOUBLE 1 +#endif + #include "../../../gcc/testsuite/c-c++-common/goacc/firstprivate-mappings-1.c"