From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rock.gnat.com (rock.gnat.com [IPv6:2620:20:4000:0:a9e:1ff:fe9b:1d1]) by sourceware.org (Postfix) with ESMTP id B0840388E81E for ; Thu, 11 Mar 2021 14:47:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B0840388E81E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oliva@adacore.com Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 87AC3117F91; Thu, 11 Mar 2021 09:47:16 -0500 (EST) X-Virus-Scanned: Debian amavisd-new at gnat.com Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 6mSAmnt6z7-s; Thu, 11 Mar 2021 09:47:16 -0500 (EST) Received: from free.home (tron.gnat.com [IPv6:2620:20:4000:0:46a8:42ff:fe0e:e294]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPS id 4C15B117F3E; Thu, 11 Mar 2021 09:47:16 -0500 (EST) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 12BEl7Oh145440 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 11 Mar 2021 11:47:10 -0300 From: Alexandre Oliva To: Richard Biener Cc: GCC Patches Subject: Re: [RFC] decay vect tests from run to link for pr95401 Organization: Free thinker, does not speak for AdaCore References: Errors-To: aoliva@lxoliva.fsfla.org Date: Thu, 11 Mar 2021 11:47:07 -0300 In-Reply-To: (Richard Biener's message of "Thu, 11 Mar 2021 10:48:09 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_NUMSUBJECT, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Mar 2021 14:47:18 -0000 On Mar 11, 2021, Richard Biener wrote: > I think that's OK. Cool, here's the patch I'm nearly done regstrapping on x86_64-linux-gnu and x-ppc64-vx7r2. Ok to install? > It's probably difficult to make the test UNSUPPORTED > when dg-additional-sources is discovered with a dg-do compile test? Well, first of all, I really don't like the idea of skipping a test if we can still get some useful information out of it. That said, I suppose we could test for additional_sources_used in ${langdriver}_target_compile proces in gcc.exp, g++.exp et al, between their calling dg-additional-files-options and target_compile, to conditionally skip the latter, or pass $type to the former in all $langdriver.exp, so that the extra files can be flagged and/or discarded in unsupported modes. I believe such changes would also require adjustments to library test infrastructures. decay vect tests from run to link for pr95401 When vect.exp finds our configuration disables altivec by default, it disables the execution of vectorization tests, assuming the test hardware doesn't support it. Tests become just compile tests, but compile tests won't work correctly when additional sources are named, e.g. pr95401.cc, because GCC refuses to compile multiple files into the same asm output. With this patch, the default for when execution is not possible becomes link. for gcc/testsuite/ChangeLog * lib/target-supports.exp (check_vect_support_and_set_flags): Decay to link rather than compile. --- gcc/testsuite/lib/target-supports.exp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 52d3d036d3c5c..f5b9b0578de37 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -9632,7 +9632,7 @@ proc check_vect_support_and_set_flags { } { if [check_750cl_hw_available] { set dg-do-what-default run } else { - set dg-do-what-default compile + set dg-do-what-default link } } elseif [istarget powerpc*-*-*] { # Skip targets not supporting -maltivec. @@ -9656,14 +9656,14 @@ proc check_vect_support_and_set_flags { } { # Specify a cpu that supports VMX for compile-only tests. lappend DEFAULT_VECTCFLAGS "-mcpu=970" } - set dg-do-what-default compile + set dg-do-what-default link } } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } { lappend DEFAULT_VECTCFLAGS "-msse2" if { [check_effective_target_sse2_runtime] } { set dg-do-what-default run } else { - set dg-do-what-default compile + set dg-do-what-default link } } elseif { [istarget mips*-*-*] && [check_effective_target_nomips16] } { @@ -9682,7 +9682,7 @@ proc check_vect_support_and_set_flags { } { if [check_effective_target_ultrasparc_hw] { set dg-do-what-default run } else { - set dg-do-what-default compile + set dg-do-what-default link } } elseif [istarget alpha*-*-*] { # Alpha's vectorization capabilities are extremely limited. @@ -9695,7 +9695,7 @@ proc check_vect_support_and_set_flags { } { if [check_alpha_max_hw_available] { set dg-do-what-default run } else { - set dg-do-what-default compile + set dg-do-what-default link } } elseif [istarget ia64-*-*] { set dg-do-what-default run @@ -9708,7 +9708,7 @@ proc check_vect_support_and_set_flags { } { if [is-effective-target arm_neon_hw] { set dg-do-what-default run } else { - set dg-do-what-default compile + set dg-do-what-default link } } elseif [istarget "aarch64*-*-*"] { set dg-do-what-default run @@ -9729,7 +9729,7 @@ proc check_vect_support_and_set_flags { } { set dg-do-what-default run } else { lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" - set dg-do-what-default compile + set dg-do-what-default link } } elseif [istarget amdgcn-*-*] { set dg-do-what-default run -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Vim, Vi, Voltei pro Emacs -- GNUlius Caesar