From patchwork Mon Jun 5 12:18:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 103219 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2642007vqr; Mon, 5 Jun 2023 05:19:42 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7GbnM+SepwdEplW/HsrP4xinEIVD4nR+oZDRHpbwpjmw8+vs1Z+2Rs5a8y927bR+SwQBW/ X-Received: by 2002:a17:906:fe0c:b0:96a:1ec1:2c9f with SMTP id wy12-20020a170906fe0c00b0096a1ec12c9fmr6247839ejb.12.1685967582080; Mon, 05 Jun 2023 05:19:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685967582; cv=none; d=google.com; s=arc-20160816; b=KusQAF9UGq/UGEJAAF/CkTitaO+JRVWi8gq3zvkD4mFqa9YgNWyUqiSE3gtQdR/ed4 dBAHanKahsHv0I9fH80GyQmela9qQIG9FROKarsF0irOhLxHIPp9ETiVzHPuHjAs0c36 zp4pwJpKNsHmekS4fpDRI5yvRqVFRp+MMYofi+xUsr+2c/PA3t+rlsJwKKheqBxj0WE1 P/Tree3ISqJ6JC7a0RwH2e/n6NZWs9ZD9xm1Uwhd9MnZTSniYehRPF3ha1p6vspYtoE6 f1ERc0P6tPDmP/ZR6tM8Z6fA+1fpz7FkjxxIlTjyjCoh1vkSoW7MWZkfpg4ZzFbeoSPz 6ScQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version:message-id:date :user-agent:subject:to:from:ironport-sdr:dmarc-filter:delivered-to; bh=kH9hKfwEcokGrbURssVbcGI+nv6TA9o+jxST8clRfmk=; b=lVZ2k1TGWxpdQqYUENel9oy3uzfRmYzbGVefA0EQQpIJ4K54AslbQjZHVecQgwL6QN E4VXHNQr58lJpF/q4x8fKiTq73KKSz7XKIgJCodin9ikRp38o9KyKu+yjrdj/SSkXUpa ahgjyLx22OBYPDJTrSyWb9gk1UN4iCiTkq6g7CAMADf7/wkUDP8xiFBJFXrJKjiWteYo Dgy+hv4ixG84NVG+uGqLS2neT8JyqnWk5GtNdRM9Wrphmr3Q+6Ty+m9pjSgDd0G6N5oi 6PejXG0az4kUV5xbeHpo1rZM5mbLK5i9yq/nn9mAEnfm9/PoKqIbZmpjdliMrPACJPHs ehzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from sourceware.org ([8.43.85.97]) by mx.google.com with ESMTPS id m24-20020a1709062ad800b0096f5b6bf80bsi4480646eje.644.2023.06.05.05.19.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 05:19:42 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DC48538323F8 for ; Mon, 5 Jun 2023 12:19:26 +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 38D3F38515FD; Mon, 5 Jun 2023 12:19:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 38D3F38515FD Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="6.00,217,1681200000"; d="scan'208,223";a="7689578" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 05 Jun 2023 04:18:55 -0800 IronPort-SDR: b80HqElBxCehGA8JtcipUa2OvZVYpNWAl3K+4qyYyv0XBeroWTqQ7VT+zHi+UiDAjae3lPvHZK 5D4Z6FmAZVNIhXd1SYZqd6iGcGG2hsreruvIWFsewYvjlJypS9bB8yu8ExTzsMucX2L2STlR+4 npHIZQtv892PTBLN6t4uW5kZuKkEgvrQ91S770NQjk1FjEvqDL+eevEyNDN5OVq9FKtJ43x6Ep u+lPvelcYuSM5L6CKcZm0cT3ZXPxL/BqezlcklIqk/bB5ANKbhutGdcRlm1teS47hdNdF22vmk vO8= From: Thomas Schwinge To: , Subject: Add 'libgomp.{,oacc-}fortran/fortran-torture_execute_math.f90' User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Mon, 5 Jun 2023 14:18:48 +0200 Message-ID: <87cz2aqezb.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-13.mgc.mentorg.com (139.181.222.13) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767865143030087431?= X-GMAIL-MSGID: =?utf-8?q?1767865143030087431?= Hi! OK to push the attached "Add 'libgomp.{,oacc-}fortran/fortran-torture_execute_math.f90'"? Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 From 0d5095d8cd2d68113890a39a7fdb649198e576c1 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 2 Jun 2023 23:11:00 +0200 Subject: [PATCH] Add 'libgomp.{,oacc-}fortran/fortran-torture_execute_math.f90' gcc/testsuite/ * gfortran.fortran-torture/execute/math.f90: Enhance for optional OpenACC, OpenMP 'target' usage. libgomp/ * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New. * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90: Likewise. --- .../gfortran.fortran-torture/execute/math.f90 | 23 +++++++++++++++++-- .../fortran-torture_execute_math.f90 | 4 ++++ .../fortran-torture_execute_math.f90 | 5 ++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90 diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 index 17cc78f7a10..e71f669304f 100644 --- a/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 +++ b/gcc/testsuite/gfortran.fortran-torture/execute/math.f90 @@ -1,9 +1,14 @@ ! Program to test mathematical intrinsics + +! See also 'libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90'; thus the '!$omp' directives. +! See also 'libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90'; thus the '!$acc' directives. + subroutine dotest (n, val4, val8, known) implicit none real(kind=4) val4, known real(kind=8) val8 integer n + !$acc routine seq if (abs (val4 - known) .gt. 0.001) STOP 1 if (abs (real (val8, kind=4) - known) .gt. 0.001) STOP 2 @@ -14,17 +19,20 @@ subroutine dotestc (n, val4, val8, known) complex(kind=4) val4, known complex(kind=8) val8 integer n + !$acc routine seq + if (abs (val4 - known) .gt. 0.001) STOP 3 if (abs (cmplx (val8, kind=4) - known) .gt. 0.001) STOP 4 end subroutine -program testmath +subroutine testmath implicit none real(kind=4) r, two4, half4 real(kind=8) q, two8, half8 complex(kind=4) cr complex(kind=8) cq external dotest, dotestc + !$acc routine seq two4 = 2.0 two8 = 2.0_8 @@ -96,5 +104,16 @@ program testmath cq = log ((-1.0_8, -1.0_8)) call dotestc (21, cr, cq, (0.3466, -2.3562)) -end program +end subroutine +program main + implicit none + external testmath + + !$acc serial + !$omp target + call testmath + !$acc end serial + !$omp end target + +end program diff --git a/libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90 b/libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90 new file mode 100644 index 00000000000..3348a0bb3ad --- /dev/null +++ b/libgomp/testsuite/libgomp.fortran/fortran-torture_execute_math.f90 @@ -0,0 +1,4 @@ +! { dg-do run } +! { dg-additional-options -foffload-options=-lm } + +include '../../../gcc/testsuite/gfortran.fortran-torture/execute/math.f90' diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90 b/libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90 new file mode 100644 index 00000000000..1b2ac440762 --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90 @@ -0,0 +1,5 @@ +! { dg-do run } +!TODO { dg-prune-output {using 'vector_length \(32\)', ignoring 1} } +! { dg-additional-options -foffload-options=-lm } + +include '../../../gcc/testsuite/gfortran.fortran-torture/execute/math.f90' -- 2.34.1