This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix omp declare simd cloning (PR tree-optimization/60823)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- Cc: Richard Biener <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 13 May 2014 19:50:50 +0200
- Subject: Re: [PATCH] Fix omp declare simd cloning (PR tree-optimization/60823)
- Authentication-results: sourceware.org; auth=none
- References: <20140418133047 dot GD1817 at tucnak dot redhat dot com> <ydd61la3vys dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <ydd4n0t1sur dot fsf at CeBiTec dot Uni-Bielefeld dot DE>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, May 13, 2014 at 07:38:52PM +0200, Rainer Orth wrote:
> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>
> > Jakub Jelinek <jakub@redhat.com> writes:
> >
> >> 2014-04-18 Jakub Jelinek <jakub@redhat.com>
> >>
> >> PR tree-optimization/60823
> >> * omp-low.c (ipa_simd_modify_function_body): Go through
> >> all SSA_NAMEs and for those refering to vector arguments
> >> which are going to be replaced adjust SSA_NAME_VAR and,
> >> if it is a default definition, change it into a non-default
> >> definition assigned at the beginning of function from new_decl.
> >> (ipa_simd_modify_stmt_ops): Rewritten.
> >> * tree-dfa.c (set_ssa_default_def): When removing default def,
> >> check for NULL loc instead of NULL *loc.
> >>
> >> * c-c++-common/gomp/pr60823-1.c: New test.
> >> * c-c++-common/gomp/pr60823-2.c: New test.
> >> * c-c++-common/gomp/pr60823-3.c: New test.
> >
> > The second test FAILs on Solaris/x86 with Sun as:
> >
> > ld.so.1: pr60823-2.exe: fatal: pr60823-2.exe: hardware capability (CA_SUNW_HW_1) unsupported: 0x20000000 [ AVX ]
> > FAIL: c-c++-common/gomp/pr60823-2.c execution test
> >
> > If this is expected, I can extend the code in gcc.target/i386/i386.exp
> > (or rather move it to a new lib/clearcap.exp) to handle that via linker
> > maps.
>
> Something else seems to be amiss here: the new
> libgomp.fortran/declare-simd-[12].f90 tests fail in just the same way,
> although avx_runtime is false and they are only compiled with -msse2.
If OpenMP declare simd doesn't work on Solaris/x86 (due to the bogus hw cap
stuff), then supposedly vect_simd_clones effective target should fail there.
OpenMP declare simd results in cloning of the functions for SSE2, AVX and
AVX2.
Jakub