-
- Downloads
aarch64: enable mixed-types for aarch64 simdclones
This patch enables the use of mixed-types for simd clones for AArch64, adds aarch64 as a target_vect_simd_clones and corrects the way the simdlen is chosen for non-specified simdlen clauses according to the 'Vector Function Application Binary Interface Specification for AArch64'. Additionally this patch also restricts combinations of simdlen and return/argument types that map to vectors larger than 128 bits as we currently do not have a way to represent these types in a way that is consistent internally and externally. gcc/ChangeLog: * config/aarch64/aarch64.cc (lane_size): New function. (aarch64_simd_clone_compute_vecsize_and_simdlen): Determine simdlen according to NDS rule and reject combination of simdlen and types that lead to vectors larger than 128bits. gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add aarch64 targets to vect_simd_clones. * c-c++-common/gomp/declare-variant-14.c: Adapt test for aarch64. * c-c++-common/gomp/pr60823-1.c: Likewise. * c-c++-common/gomp/pr60823-2.c: Likewise. * c-c++-common/gomp/pr60823-3.c: Likewise. * g++.dg/gomp/attrs-10.C: Likewise. * g++.dg/gomp/declare-simd-1.C: Likewise. * g++.dg/gomp/declare-simd-3.C: Likewise. * g++.dg/gomp/declare-simd-4.C: Likewise. * g++.dg/gomp/declare-simd-7.C: Likewise. * g++.dg/gomp/declare-simd-8.C: Likewise. * g++.dg/gomp/pr88182.C: Likewise. * gcc.dg/declare-simd.c: Likewise. * gcc.dg/gomp/declare-simd-1.c: Likewise. * gcc.dg/gomp/declare-simd-3.c: Likewise. * gcc.dg/gomp/pr87887-1.c: Likewise. * gcc.dg/gomp/pr87895-1.c: Likewise. * gcc.dg/gomp/pr89246-1.c: Likewise. * gcc.dg/gomp/pr99542.c: Likewise. * gcc.dg/gomp/simd-clones-2.c: Likewise. * gcc.dg/vect/vect-simd-clone-1.c: Likewise. * gcc.dg/vect/vect-simd-clone-2.c: Likewise. * gcc.dg/vect/vect-simd-clone-4.c: Likewise. * gcc.dg/vect/vect-simd-clone-5.c: Likewise. * gcc.dg/vect/vect-simd-clone-6.c: Likewise. * gcc.dg/vect/vect-simd-clone-7.c: Likewise. * gcc.dg/vect/vect-simd-clone-8.c: Likewise. * gfortran.dg/gomp/declare-simd-2.f90: Likewise. * gfortran.dg/gomp/declare-simd-coarray-lib.f90: Likewise. * gfortran.dg/gomp/declare-variant-14.f90: Likewise. * gfortran.dg/gomp/pr79154-1.f90: Likewise. * gfortran.dg/gomp/pr83977.f90: Likewise. libgomp/ChangeLog: * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64. * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
Showing
- gcc/config/aarch64/aarch64.cc 127 additions, 47 deletionsgcc/config/aarch64/aarch64.cc
- gcc/testsuite/c-c++-common/gomp/declare-variant-14.c 5 additions, 3 deletionsgcc/testsuite/c-c++-common/gomp/declare-variant-14.c
- gcc/testsuite/c-c++-common/gomp/pr60823-1.c 4 additions, 1 deletiongcc/testsuite/c-c++-common/gomp/pr60823-1.c
- gcc/testsuite/c-c++-common/gomp/pr60823-2.c 4 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/pr60823-2.c
- gcc/testsuite/c-c++-common/gomp/pr60823-3.c 4 additions, 2 deletionsgcc/testsuite/c-c++-common/gomp/pr60823-3.c
- gcc/testsuite/g++.dg/gomp/attrs-10.C 58 additions, 7 deletionsgcc/testsuite/g++.dg/gomp/attrs-10.C
- gcc/testsuite/g++.dg/gomp/declare-simd-1.C 132 additions, 5 deletionsgcc/testsuite/g++.dg/gomp/declare-simd-1.C
- gcc/testsuite/g++.dg/gomp/declare-simd-3.C 20 additions, 4 deletionsgcc/testsuite/g++.dg/gomp/declare-simd-3.C
- gcc/testsuite/g++.dg/gomp/declare-simd-4.C 16 additions, 3 deletionsgcc/testsuite/g++.dg/gomp/declare-simd-4.C
- gcc/testsuite/g++.dg/gomp/declare-simd-7.C 0 additions, 4 deletionsgcc/testsuite/g++.dg/gomp/declare-simd-7.C
- gcc/testsuite/g++.dg/gomp/declare-simd-8.C 0 additions, 1 deletiongcc/testsuite/g++.dg/gomp/declare-simd-8.C
- gcc/testsuite/g++.dg/gomp/pr88182.C 4 additions, 1 deletiongcc/testsuite/g++.dg/gomp/pr88182.C
- gcc/testsuite/gcc.dg/declare-simd.c 0 additions, 1 deletiongcc/testsuite/gcc.dg/declare-simd.c
- gcc/testsuite/gcc.dg/gomp/declare-simd-1.c 82 additions, 7 deletionsgcc/testsuite/gcc.dg/gomp/declare-simd-1.c
- gcc/testsuite/gcc.dg/gomp/declare-simd-3.c 7 additions, 3 deletionsgcc/testsuite/gcc.dg/gomp/declare-simd-3.c
- gcc/testsuite/gcc.dg/gomp/pr87887-1.c 2 additions, 0 deletionsgcc/testsuite/gcc.dg/gomp/pr87887-1.c
- gcc/testsuite/gcc.dg/gomp/pr87895-1.c 0 additions, 1 deletiongcc/testsuite/gcc.dg/gomp/pr87895-1.c
- gcc/testsuite/gcc.dg/gomp/pr89246-1.c 1 addition, 0 deletionsgcc/testsuite/gcc.dg/gomp/pr89246-1.c
- gcc/testsuite/gcc.dg/gomp/pr99542.c 2 additions, 2 deletionsgcc/testsuite/gcc.dg/gomp/pr99542.c
- gcc/testsuite/gcc.dg/gomp/simd-clones-2.c 7 additions, 1 deletiongcc/testsuite/gcc.dg/gomp/simd-clones-2.c
Loading
Please register or sign in to comment