[og12] Fix 'libgomp.c/simd-math-1.c' configuration (was: [OG12] [committed] amdgcn: Enable SIMD vectorization of math library functions)

Message ID 87wn5h5m11.fsf@euler.schwinge.homeip.net
State Deferred
Headers
Series [og12] Fix 'libgomp.c/simd-math-1.c' configuration (was: [OG12] [committed] amdgcn: Enable SIMD vectorization of math library functions) |

Commit Message

Thomas Schwinge Jan. 20, 2023, 2:16 p.m. UTC
  Hi!

On 2022-11-02T00:50:40+0000, Kwok Cheung Yeung <kcy@codesourcery.com> wrote:
> I have committed the following patches onto the devel/omp/gcc-12
> development branch:
>
> 863579c4e30 amdgcn: Enable SIMD vectorization of math functions

I've pushed to devel/omp/gcc-12
commit e7d4bcb974915bfe95be6c385641fc66a4201581
"Fix 'libgomp.c/simd-math-1.c' configuration", see attached.


Grüße
 Thomas


> bd9a6106b95 amdgcn: Add SIMD versions of math routines to libgcc
> d3a2a1cc424 amdgcn: Add builtins for vector floor/floorf
> a3c04a367a9 amdgcn: Fix expansion of builtin for vector fabs operation
>
> These patches implement a vectorized version of most of the C math
> library for AMD GCN. These routines will be used when math functions are
> used in auto-vectorized code.
>
> Note that -fno-math-errno must be specified on the command line in most
> cases before the compiler will consider using these functions.
>
> Vectors smaller than the native 64 element ones are also supported (by
> masking off the unused lanes), which can be useful for SLP vectorized code.
>
> Kwok Yeung


-----------------
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
  

Patch

From e7d4bcb974915bfe95be6c385641fc66a4201581 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Sat, 14 Jan 2023 10:28:09 +0100
Subject: [PATCH] Fix 'libgomp.c/simd-math-1.c' configuration

If nvptx offloading is configured in addition to GCN, we see:

    FAIL: libgomp.c/simd-math-1.c (test for excess errors)
    UNRESOLVED: libgomp.c/simd-math-1.c compilation failed to produce executable

    x86_64-pc-linux-gnu-accel-nvptx-none-gcc: error: unrecognized command-line option '-mstack-size=3000000'

Thus, restrict that ooption to GCN offloading compilation, and on the other
hand, there's no reason to skip this test for non-GCN offloading execution:
even if not SIMD-vectorized there, we still benefit from correctness testing.

	libgomp/
	* testsuite/libgomp.c/simd-math-1.c: Fix configuration.
---
 libgomp/ChangeLog.omp                     | 4 ++++
 libgomp/testsuite/libgomp.c/simd-math-1.c | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index 629efbc5832..23e93495b62 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -1,3 +1,7 @@ 
+2023-01-20  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* testsuite/libgomp.c/simd-math-1.c: Fix configuration.
+
 2023-01-19  Tobias Burnus  <tobias@codesourcery.com>
 
 	Backported from master:
diff --git a/libgomp/testsuite/libgomp.c/simd-math-1.c b/libgomp/testsuite/libgomp.c/simd-math-1.c
index caf032a77ae..1ebdccccfeb 100644
--- a/libgomp/testsuite/libgomp.c/simd-math-1.c
+++ b/libgomp/testsuite/libgomp.c/simd-math-1.c
@@ -2,9 +2,9 @@ 
    sufficiently close) results as their scalar equivalents.  */
 
 /* { dg-do run } */
-/* { dg-skip-if "AMD GCN only" { ! amdgcn_offloading_enabled } } */
 /* { dg-options "-O2 -ftree-vectorize -fno-math-errno" } */
-/* { dg-additional-options "-foffload=-mstack-size=3000000 -foffload=-lm" } */
+/* { dg-additional-options -foffload-options=amdgcn-amdhsa=-mstack-size=3000000 } */
+/* { dg-additional-options -foffload-options=-lm } */
 
 #undef PRINT_RESULT
 #define VERBOSE 0
-- 
2.25.1