From patchwork Wed Apr 22 17:36:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Lawrence X-Patchwork-Id: 463737 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 929BB1400A0 for ; Thu, 23 Apr 2015 03:36:32 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass reason="1024-bit key; unprotected key" header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=PElU7hBp; dkim-adsp=none (unprotected policy); dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:in-reply-to :content-type; q=dns; s=default; b=Av309RiYOcbxpONvV9g/8uSfRehYq eWtc9bSOHow1KbQjYkTf5hjAf4lFQXwsm2Hn+tEfiHK1vs4G8fpze9hHmu6Smo3r 5NyuN2ke1J1K6RFaRMzLdkwUrCnLhCFNSYEFGKqzuCvS3lG5DYrAKaxrGF0LxIhh CHoH9m/ihC5Y4g= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:in-reply-to :content-type; s=default; bh=HdFogn5JT9f076qguarBF/CA0hU=; b=PEl U7hBpNQ8kmZrsyAzttmdI+ZQpOOEa03GsY0F5HPZEHPh1S1AU0ZKn3VPM9Re2Prg akLbBgpBC//WZ4hYToNrRlD3gtFNzVYSFOVzT57dFStckbfdCDCptCjEhqgzBflW fRRgElopG6yr02wvD5XdOz5u5sqlnrmdtXJ5n9Oo= Received: (qmail 117433 invoked by alias); 22 Apr 2015 17:36:23 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 117421 invoked by uid 89); 22 Apr 2015 17:36:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, SPF_PASS autolearn=ham version=3.3.2 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (207.82.80.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Apr 2015 17:36:21 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by uk-mta-26.uk.mimecast.lan; Wed, 22 Apr 2015 18:36:19 +0100 Received: from [10.2.207.65] ([10.1.2.79]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 22 Apr 2015 18:36:19 +0100 Message-ID: <5537DC12.1050201@arm.com> Date: Wed, 22 Apr 2015 18:36:18 +0100 From: Alan Lawrence User-Agent: Thunderbird 2.0.0.24 (X11/20101213) MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" CC: Christophe Lyon Subject: [PATCH 13/14][ARM/AArch64 testsuite] Use gcc-dg-runtest in advsimd-intrinsics.exp In-Reply-To: <5537D241.1000606@arm.com> X-MC-Unique: bSEpao9iSe6Tbm_3k6rI4Q-1 X-IsSubscribed: yes In the first revision of Christophe Lyon's advsimd-intrinsics tests, https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00532.html , both gcc-dg-runtest (to assemble only) and c-torture-execute were used. In review the gcc-dg-runtest part was then dropped, and execution tests continued using c-torture-execute. However, c-torture-execute ignores e.g. dg-options directives in the individual test files, whereas gcc-dg-runtest does not. This patch switches to gcc-dg-runtest (with dg-do-what-default = "run") for all tests, allowing use of e.g. dg-options (in testsuite patch 3/3). This generally seems to work OK - indeed I also dropped the parallelization-disabling code - and the new advsimd-intrinsics.exp now follows gcc.c-torture/compile/compile.exp and gcc.c-torture/execute/execute.exp very closely. However, there are side effects, of which we should be aware, but with which I think we can live, specifically: (1) the lines in the test log change from... PASS: gcc.target/aarch64/advsimd-intrinsics/vcombine.c compilation, -O1 PASS: gcc.target/aarch64/advsimd-intrinsics/vcombine.c execution, -O1 ...to... PASS: gcc.target/aarch64/advsimd-intrinsics/vcombine.c -O1 execution test (that is, the compilation line disappears, but the (test for excess errors) remains unchanged) (2) The "-Og -g" variant is no longer tested; all of -O0, -O1, -O2, -O2 -flto -fno-use-linker-plugin -flto-partition=none, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects, -O3 -fomit-frame-pointer, -O3 -g, -Os still are. My feeling is that this set of options is exhaustive enough. Cross-tested arm-none-eabi, aarch64-none-elf, aarch64_be-none-elf; natively tested arm-none-linux-gnueabihf and aarch64-none-linux-gnu. gcc/testsuite/ChangeLog: * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Use gcc-dg-runtest. diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp index 551299ef5634b7fea68d2e2f813ab61270b59e35..aa5d4d5ec2f45fa745fac152125e1badc2f2df43 100644 --- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp @@ -26,10 +26,6 @@ if {![istarget arm*-*-*] load_lib gcc-dg.exp # Initialize `dg'. -load_lib c-torture.exp -load_lib target-supports.exp -load_lib torture-options.exp - dg-init if {[istarget arm*-*-*] @@ -37,29 +33,14 @@ if {[istarget arm*-*-*] return } -torture-init -set-torture-options $C_TORTURE_OPTIONS {{}} $LTO_TORTURE_OPTIONS - # Make sure Neon flags are provided, if necessary. -set additional_flags [add_options_for_arm_neon ""] +set additional_flags [add_options_for_arm_neon "-w"] # Main loop. -foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { - # If we're only testing specific files and this isn't one of them, skip it. - if ![runtest_file_p $runtests $src] then { - continue - } - - # runtest_file_p is already run above, and the code below can run - # runtest_file_p again, make sure everything for this test is - # performed if the above runtest_file_p decided this runtest - # instance should execute the test - gcc_parallel_test_enable 0 - c-torture-execute $src $additional_flags - gcc-dg-runtest $src "" $additional_flags - gcc_parallel_test_enable 1 -} +set saved-dg-do-what-default ${dg-do-what-default} +set dg-do-what-default "run" +gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" ${additional_flags} +set dg-do-what-default ${saved-dg-do-what-default} # All done. -torture-finish dg-finish