mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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*-*-* } } } */
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user