From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1285 invoked by alias); 21 Nov 2018 01:01:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 1178 invoked by uid 89); 21 Nov 2018 01:00:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=ab, Force, AB X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 21 Nov 2018 01:00:55 +0000 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0FF53C074540; Wed, 21 Nov 2018 01:00:53 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-27.rdu2.redhat.com [10.10.112.27]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2B1F210021B6; Wed, 21 Nov 2018 01:00:51 +0000 (UTC) Subject: Re: [PATCH 10/10] Port testsuite to GCN To: Andrew Stubbs , gcc-patches@gcc.gnu.org References: <2d4f15916d3fd76c3c125eca60a86f5be5b807c0.1542381960.git.ams@codesourcery.com> From: Jeff Law Openpgp: preference=signencrypt Message-ID: Date: Wed, 21 Nov 2018 01:01:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 In-Reply-To: <2d4f15916d3fd76c3c125eca60a86f5be5b807c0.1542381960.git.ams@codesourcery.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-11/txt/msg01796.txt.bz2 On 11/16/18 9:29 AM, Andrew Stubbs wrote: > This collection of miscellaneous patches configures the testsuite to run on AMD > GCN in a standalone (i.e. not offloading) configuration. It assumes you have > your Dejagnu set up to run binaries via the gcn-run tool. > > 2018-11-16 Andrew Stubbs > Kwok Cheung Yeung > Julian Brown > Tom de Vries > > gcc/testsuite/ > * gcc.dg/20020312-2.c: Add amdgcn support. > * gcc.dg/Wno-frame-address.c: Disable on amdgcn. > * gcc.dg/builtin-apply2.c: Likewise. > * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. > * gcc.dg/gimplefe-28.c: Force -ffast-math. > * gcc.dg/intermod-1.c: Add -mlocal-symbol-id on amdgcn. > * gcc.dg/memcmp-1.c: Increase timeout factor. > * gcc.dg/pr59605-2.c: Addd -DMAX_COPY=1025 on amdgcn. > * gcc.dg/sibcall-10.c: xfail on amdgcn. > * gcc.dg/sibcall-9.c: Likewise. > * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise. > * gcc.dg/tree-ssa/pr84512.c: Likewise. > * gcc.dg/tree-ssa/loop-1.c: Adjust expectations for amdgcn. > * gfortran.dg/bind_c_array_params_2.f90: Likewise. > * gcc.dg/vect/tree-vect.h: Avoid signal on amdgcn. > * lib/target-supports.exp (check_effective_target_trampolines): > Configure amdgcn. > (check_profiling_available): Likewise. > (check_effective_target_global_constructor): Likewise. > (check_effective_target_return_address): Likewise. > (check_effective_target_fopenacc): Likewise. > (check_effective_target_fopenmp): Likewise. > (check_effective_target_vect_int): Likewise. > (check_effective_target_vect_intfloat_cvt): Likewise. > (check_effective_target_vect_uintfloat_cvt): Likewise. > (check_effective_target_vect_floatint_cvt): Likewise. > (check_effective_target_vect_floatuint_cvt): Likewise. > (check_effective_target_vect_simd_clones): Likewise. > (check_effective_target_vect_shift): Likewise. > (check_effective_target_whole_vector_shift): Likewise. > (check_effective_target_vect_bswap): Likewise. > (check_effective_target_vect_shift_char): Likewise. > (check_effective_target_vect_long): Likewise. > (check_effective_target_vect_float): Likewise. > (check_effective_target_vect_double): Likewise. > (check_effective_target_vect_perm): Likewise. > (check_effective_target_vect_perm_byte): Likewise. > (check_effective_target_vect_perm_short): Likewise. > (check_effective_target_vect_widen_mult_qi_to_hi): Likewise. > (check_effective_target_vect_widen_mult_hi_to_si): Likewise. > (check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise. > (check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise. > (check_effective_target_vect_natural_alignment): Likewise. > (check_effective_target_vect_fully_masked): Likewise. > (check_effective_target_vect_element_align): Likewise. > (check_effective_target_vect_masked_store): Likewise. > (check_effective_target_vect_scatter_store): Likewise. > (check_effective_target_vect_condition): Likewise. > (check_effective_target_vect_cond_mixed): Likewise. > (check_effective_target_vect_char_mult): Likewise. > (check_effective_target_vect_short_mult): Likewise. > (check_effective_target_vect_int_mult): Likewise. > (check_effective_target_sqrt_insn): Likewise. > (check_effective_target_vect_call_sqrtf): Likewise. > (check_effective_target_vect_call_btrunc): Likewise. > (check_effective_target_vect_call_btruncf): Likewise. > (check_effective_target_vect_call_ceil): Likewise. > (check_effective_target_vect_call_floorf): Likewise. > (check_effective_target_lto): Likewise. > (check_vect_support_and_set_flags): Likewise. > (check_effective_target_vect_stridedN): Enable when fully masked is > available. > --- > > diff --git a/gcc/testsuite/gcc.dg/gimplefe-28.c b/gcc/testsuite/gcc.dg/gimplefe-28.c > index 467172d..57b6e1f 100644 > --- a/gcc/testsuite/gcc.dg/gimplefe-28.c > +++ b/gcc/testsuite/gcc.dg/gimplefe-28.c > @@ -1,5 +1,5 @@ > /* { dg-do compile { target sqrt_insn } } */ > -/* { dg-options "-fgimple -O2" } */ > +/* { dg-options "-fgimple -O2 -ffast-math" } */ So why does the GCN need fast-math here? I'm not aware of any other target that needs that kind of handling to make this test work. > diff --git a/gcc/testsuite/gcc.dg/vect/tree-vect.h b/gcc/testsuite/gcc.dg/vect/tree-vect.h > index 69c93ac..2ddfa5e 100644 > --- a/gcc/testsuite/gcc.dg/vect/tree-vect.h > +++ b/gcc/testsuite/gcc.dg/vect/tree-vect.h > @@ -1,5 +1,9 @@ > /* Check if system supports SIMD */ > +#ifdef __AMDGCN__ > +#define signal(A,B) > +#else > #include > +#endif Presumably you don't have signals. Though one could make an argument that this really shouldn't be exposed in the testsuite. It kindof sets up a need to have this kind of ifdef in any test that wants to include signal.h. Is there no way to create a dummy signal.h with the magic #define in whatever fake library you're using? The rest seems pretty reasonable. jeff