Fix tests for gomp

This is to fix testisms initially introduced by:
commit f5fc001a84
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date:   Mon Dec 11 14:24:41 2023 +0000

    aarch64: enable mixed-types for aarch64 simdclones

gcc/testsuite/ChangeLog:

	* gcc.dg/gomp/pr87887-1.c: Fixed test.
	* gcc.dg/gomp/pr89246-1.c: Likewise.
	* gcc.dg/gomp/simd-clones-2.c: Likewise.

libgomp/ChangeLog:

	* testsuite/libgomp.c/declare-variant-1.c: Fixed test.
	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
This commit is contained in:
Andre Vieira
2023-12-15 13:48:08 +00:00
parent 1d8ac2a74f
commit 863df360fb
5 changed files with 9 additions and 20 deletions

View File

@@ -10,7 +10,6 @@ foo (int x)
{
return (struct S) { x };
}
/* { dg-warning "unsupported return type struct S for simd functions" "" { target aarch64*-*-* } .-4 } */
#pragma omp declare simd
int
@@ -18,7 +17,6 @@ bar (struct S x)
{
return x.n;
}
/* { dg-warning "unsupported argument type struct S for simd functions" "" { target aarch64*-*-* } .-4 } */
#pragma omp declare simd uniform (x)
int

View File

@@ -8,7 +8,6 @@ int foo (__int128 x)
{
return x;
}
/* { dg-warning "unsupported argument type __int128 for simd functions" "" { target aarch64*-*-* } .-4 } */
#pragma omp declare simd
extern int bar (int x);

View File

@@ -19,7 +19,6 @@ float setArray(float *a, float x, int k)
/* { dg-final { scan-tree-dump "_ZGVnN2ua32vl_setArray" "optimized" { target aarch64*-*-* } } } */
/* { dg-final { scan-tree-dump "_ZGVnN4ua32vl_setArray" "optimized" { target aarch64*-*-* } } } */
/* { dg-final { scan-tree-dump "_ZGVnN2vvva32_addit" "optimized" { target aarch64*-*-* } } } */
/* { dg-final { scan-tree-dump "_ZGVnN4vvva32_addit" "optimized" { target aarch64*-*-* } } } */
/* { dg-final { scan-tree-dump "_ZGVnM2vl66u_addit" "optimized" { target aarch64*-*-* } } } */
/* { dg-final { scan-tree-dump "_ZGVnM4vl66u_addit" "optimized" { target aarch64*-*-* } } } */

View File

@@ -40,16 +40,17 @@ f04 (int a)
int
test1 (int x)
{
/* At gimplification time, we can't decide yet which function to call. */
/* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" } } */
/* At gimplification time, we can't decide yet which function to call for
x86_64 targets, given the f01 variant. */
/* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" { target x86_64-*-* } } } */
/* After simd clones are created, the original non-clone test1 shall
call f03 (score 6), the sse2/avx/avx2 clones too, but avx512f clones
shall call f01 with score 8. */
/* { dg-final { scan-ltrans-tree-dump-not "f04 \\\(x" "optimized" } } */
/* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 14 "optimized" { target { !aarch64*-*-* } } } } } */
/* { dg-final { scan-ltrans-tree-dump-times "f01 \\\(x" 4 "optimized" { target { !aarch64*-*-* } } } } } */
/* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 10 "optimized" { target { aarch64*-*-* } } } } } */
/* { dg-final { scan-ltrans-tree-dump-not "f01 \\\(x" "optimized" { target { aarch64*-*-* } } } } } */
/* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 14 "optimized" { target { !aarch64*-*-* } } } } */
/* { dg-final { scan-ltrans-tree-dump-times "f01 \\\(x" 4 "optimized" { target { !aarch64*-*-* } } } } */
/* { dg-final { scan-ltrans-tree-dump-times "f03 \\\(x" 10 "optimized" { target { aarch64*-*-* } } } } */
/* { dg-final { scan-ltrans-tree-dump-not "f01 \\\(x" "optimized" { target { aarch64*-*-* } } } } */
int a = f04 (x);
int b = f04 (x);
return a + b;

View File

@@ -1,5 +1,5 @@
! { dg-do run { target vect_simd_clones } }
! { dg-options "-fno-inline -cpp -D__aarch64__" }
! { dg-do run { target { vect_simd_clones && { x86_64-*-* || i?86-*-* } } } }
! { dg-options "-fno-inline" }
! { dg-additional-options "-msse2" { target sse2_runtime } }
! { dg-additional-options "-mavx" { target avx_runtime } }
@@ -75,11 +75,7 @@ end module declare_simd_1_mod
end do
contains
function baz (x, y, z)
#ifdef __aarch64__
!$omp declare simd (baz) simdlen (4) uniform (x, y)
#else
!$omp declare simd (baz) simdlen (8) uniform (x, y)
#endif
!$omp declare simd (baz)
integer, value :: y
real, value :: z
@@ -94,10 +90,6 @@ function bar (a, b, c)
real :: bar
double precision, value :: a
!$omp declare simd (bar)
#ifdef __aarch64__
!$omp declare simd (bar) simdlen (2) linear (b : 2)
#else
!$omp declare simd (bar) simdlen (4) linear (b : 2)
#endif
bar = a + b * c
end function bar