From patchwork Tue Dec 9 03:06:47 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Deqiang X-Patchwork-Id: 42028 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ee0-f69.google.com (mail-ee0-f69.google.com [74.125.83.69]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 0ADD5202E0 for ; Tue, 9 Dec 2014 03:07:18 +0000 (UTC) Received: by mail-ee0-f69.google.com with SMTP id d49sf127063eek.8 for ; Mon, 08 Dec 2014 19:07:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:mailing-list:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:sender :delivered-to:mime-version:in-reply-to:references:date:message-id :subject:from:to:content-type:x-original-sender :x-original-authentication-results; bh=2ZBnu5npgGXEgRFWGYt41iorX9qLAAI6XKvSvSUduS8=; b=FNq0Lga2kPKdoEJKyIQQW57Km8s+r3+VqFHRuW2PNTV0hDbvA9LDULrGage/ZmQEyT 54r8NcsGnaetgPdfohogdwv2gvuJWrH/VYZNJVimzUxqZzwCY2hah7ZU4T4BpcEqHL7I HQzxsfABH1Vz6RNZLhnZewedxagOQW0enYg6MKaUCzrGQasyN1Z1iVrIIAIIv0JtC6RY VoCwdHtjZhU0FhT84GieoU8p8+tYdpxrIHZoAdvLXgZ9RZE5lli5va3iXGvd8LzMhT6y qbPJDDo+30gMnfClWoTJzIzr5cIj8g4W6PHTBSIJ/+O8KXNXd9F3APgiZCVMYMXTewqW 9B8w== X-Gm-Message-State: ALoCoQnQlLzAyR7j7+t006EMfx1NdSQDudW2D4ZbmckZvFDmGIZHr0Sp6AmcK4EaRojEveP/kb9h X-Received: by 10.112.166.102 with SMTP id zf6mr3826lbb.12.1418094437245; Mon, 08 Dec 2014 19:07:17 -0800 (PST) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.10.7 with SMTP id e7ls606477lab.81.gmail; Mon, 08 Dec 2014 19:07:16 -0800 (PST) X-Received: by 10.112.180.198 with SMTP id dq6mr19044700lbc.56.1418094436849; Mon, 08 Dec 2014 19:07:16 -0800 (PST) Received: from mail-la0-x236.google.com (mail-la0-x236.google.com. [2a00:1450:4010:c03::236]) by mx.google.com with ESMTPS id xb8si17600778lbb.109.2014.12.08.19.07.16 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 08 Dec 2014 19:07:16 -0800 (PST) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c03::236 as permitted sender) client-ip=2a00:1450:4010:c03::236; Received: by mail-la0-f54.google.com with SMTP id pv20so4898035lab.41 for ; Mon, 08 Dec 2014 19:07:16 -0800 (PST) X-Received: by 10.112.52.37 with SMTP id q5mr19143694lbo.32.1418094436595; Mon, 08 Dec 2014 19:07:16 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.184.201 with SMTP id ew9csp703169lbc; Mon, 8 Dec 2014 19:07:15 -0800 (PST) X-Received: by 10.70.102.234 with SMTP id fr10mr26333719pdb.145.1418094434810; Mon, 08 Dec 2014 19:07:14 -0800 (PST) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id p1si3245057pdh.85.2014.12.08.19.07.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Dec 2014 19:07:14 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-386916-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 4422 invoked by alias); 9 Dec 2014 03:06:56 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list 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 4411 invoked by uid 89); 9 Dec 2014 03:06:54 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f49.google.com Received: from mail-wg0-f49.google.com (HELO mail-wg0-f49.google.com) (74.125.82.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 09 Dec 2014 03:06:50 +0000 Received: by mail-wg0-f49.google.com with SMTP id n12so7718842wgh.36 for ; Mon, 08 Dec 2014 19:06:47 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.180.97.195 with SMTP id ec3mr21226770wib.79.1418094407352; Mon, 08 Dec 2014 19:06:47 -0800 (PST) Received: by 10.194.72.8 with HTTP; Mon, 8 Dec 2014 19:06:47 -0800 (PST) In-Reply-To: <5439046e.28fc420a.4e32.18b5SMTPIN_ADDED_MISSING@mx.google.com> References: <5439046e.28fc420a.4e32.18b5SMTPIN_ADDED_MISSING@mx.google.com> Date: Tue, 9 Dec 2014 11:06:47 +0800 Message-ID: Subject: Fwd: failure notice From: Wang Deqiang To: "gcc-patches@gcc.gnu.org" X-Original-Sender: wang.deqiang@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c03::236 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@gcc.gnu.org X-Google-Group-Id: 836684582541 This is a ping for https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01049.html ---------- Forwarded message ---------- From: Date: 11 October 2014 at 18:20 Subject: failure notice To: wang.deqiang@linaro.org Hi. This is the qmail-send program at sourceware.org. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. : Invalid mime type "text/html" detected in message text or attachment. Please send plain text messages only. See http://sourceware.org/lists.html#sourceware-list-info for more information. Contact gcc-patches-owner@gcc.gnu.org if you have questions about this. (#5.7.2) --- Below this line is a copy of the message. Return-Path: Received: (qmail 10385 invoked by uid 89); 11 Oct 2014 10:20:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.98.4 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.4 required=5.0 tests=BAYES_00,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_00,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: ** X-HELO: mail-wg0-f41.google.com Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com) (74.125.82.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 11 Oct 2014 10:20:26 +0000 Received: by mail-wg0-f41.google.com with SMTP id b13so5673834wgh.24 for ; Sat, 11 Oct 2014 03:20:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=ZV+cn7M85SJAyC/lgKXSgq1FlZA4QHtJeE6odMvS8j4=; b=D4aA/49I8VWlV6gK96J+Gv6U8hN3IUq8HEzp94KaVcw+wluErKwW90VKc+zDPm6kpR R/mKLl1feMxtcUqmHz4BgmxRbGg+qKPmekcx2xXVGwB913kgY2YO6v5es0yuoVv6iMxC w+tNFTueNncxM17K7aZa4QcsqrRQYrz5sPZeEnw0E/d8r4YeV1la1DeBQo0KY6Zwxr3f GmUyLOeMaVkvhT3r4Ncfx2ScNsXQJAf5WwC8Z3DSbhtgAnm1IfDMXZikMnkHL9UpsvCL VXuj5b/GRHdTZvMeHgd3ubrHsM37gS8DWRCNf3OxtmP9WY6TwgCDRzzwR2KF4hV4YPOM UMuQ== X-Gm-Message-State: ALoCoQmGcsmcyFnMMvgfdvwabn/UfX5Ind+om2ZI3U/wCQ9pzo4ZlC7OQJPw4k1udvrKVN0h7IkL MIME-Version: 1.0 X-Received: by 10.180.91.170 with SMTP id cf10mr9622981wib.70.1413022823640; Sat, 11 Oct 2014 03:20:23 -0700 (PDT) Received: by 10.194.97.12 with HTTP; Sat, 11 Oct 2014 03:20:23 -0700 (PDT) Date: Sat, 11 Oct 2014 11:20:23 +0100 Message-ID: Subject: [testsuite patch] avoid test when compile options is conflict with default mthumb From: Wang Deqiang To: gcc-patches@gcc.gnu.org Content-Type: multipart/alternative; boundary=f46d043c7fac76a54a05052303b1 --f46d043c7fac76a54a05052303b1 Content-Type: text/plain; charset=UTF-8 When testing arm-linux-gnueabihf triple with configure options --with-mode=thumb(that makes -mthumb option default). some testcase is failed with error message "sorry, unimplemented: Thumb-1 hard-float VFP ABI". I found gcc compiler show this error message when : 1. -mthumb is used with -march=armv6 (or armv5e) and -mcpu=xscale 2. the test source have function body. And when -mthumb is the default option of compiler, the dg-skip-if functions can not detect it, There is no xscale check function in target-supports.exp in. so we need to add it . And there are only macros in the test program in check_effective_target_arm* function . no function body, we need to add it too. Here is my patch: 2014-10-08 Wangdeqiang * lib/target-supports.exp (check_effective_target_arm_xscale_ok): New function. (check_effective_target_arm_arch_FUNC_ok): Add test function body. * gcc.target/arm/pr40887.c (dg-require-effective-target): add arm_arch_v5te_ok check * gcc.target/arm/scd42-1.c (dg-require-effective-target): add arm_xscale_ok check * gcc.target/arm/scd42-2.c : Likewise * gcc.target/arm/scd42-3.c : Likewise * gcc.target/arm/g2.c : Likewise * gcc.target/arm/xor-and.c (dg-require-effective-target): add arm_arch_v6_ok check --f46d043c7fac76a54a05052303b1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
When testing arm-linux-gnueabihf triple with configure opt= ions --with-mode=3Dthumb(that makes -mthumb option default).
some testca= se is failed with error message "sorry, unimplemented: Thumb-1 hard-fl= oat VFP ABI".
I found gcc compiler show this error message when :1. -mthumb is used with -march=3Darmv6 (or armv5e) and -mcpu=3Dxscale
= 2. the test source have function body.

And when -mthumb is the defau= lt option of compiler, the dg-skip-if functions can not detect it,
There= is no xscale check function in target-supports.exp in. so we need to add i= t .
And there are only macros in the test program in check_effective_tar= get_arm* function . no function body, we need to add it too.

Here is= my patch:

2014-10-08=C2=A0 Wangdeqiang=C2=A0 <Wangdeqiang@linaro.org>
=C2=A0=C2=A0=C2= =A0 * lib/target-supports.exp (check_effective_target_arm_xscale_ok): New f= unction.
=C2=A0=C2=A0=C2=A0 (check_effective_target_arm_arch_FUNC_ok): A= dd test function body.
=C2=A0=C2=A0=C2=A0 * gcc.target/arm/pr40887.c (dg= -require-effective-target): add arm_arch_v5te_ok check
=C2=A0=C2=A0=C2= =A0 * gcc.target/arm/scd42-1.c (dg-require-effective-target): add arm_xscal= e_ok check
=C2=A0=C2=A0=C2=A0 * gcc.target/arm/scd42-2.c : Likewise
= =C2=A0=C2=A0=C2=A0 * gcc.target/arm/scd42-3.c : Likewise
=C2=A0=C2=A0=C2= =A0 * gcc.target/arm/g2.c : Likewise
=C2=A0=C2=A0=C2=A0 * gcc.target/arm= /xor-and.c (dg-require-effective-target): add arm_arch_v6_ok check

I= ndex: gcc/testsuite/gcc.target/arm/pr40887.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
--- gcc/testsuite/gcc.target/arm/pr40887.c=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (revision 216115)
+++ gcc/testsuite/gcc.targ= et/arm/pr40887.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (working copy)
@@ -1,6 +1= ,7 @@
=C2=A0/* { dg-skip-if "need at least armv5" { *-*-* } { = "-march=3Darmv[234]*" } { "" } } */
=C2=A0/* { dg-op= tions "-O2 -march=3Darmv5te" }=C2=A0 */
=C2=A0/* { dg-final { = scan-assembler "blx" } } */
+/* { dg-require-effective-target = arm_arch_v5te_ok } */
=C2=A0
=C2=A0int (*indirect_func)(int x);
= =C2=A0
Index: gcc/testsuite/gcc.target/arm/scd42-2.c
=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- gcc/testsuite/gcc.target/arm/sc= d42-2.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (revision 216115)
+++ gcc/testsuit= e/gcc.target/arm/scd42-2.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (working copy)
= @@ -5,6 +5,7 @@
=C2=A0/* { dg-skip-if "Test is specific to the Xsca= le" { arm*-*-* } { "-mcpu=3D*" } { "-mcpu=3Dxscale"= ; } } */
=C2=A0/* { dg-skip-if "Test is specific to ARM mode" = { arm*-*-* } { "-mthumb" } { "" } } */
=C2=A0/* { dg= -require-effective-target arm32 } */
+/* { dg-require-effective-target a= rm_xscale_ok } */
=C2=A0
=C2=A0unsigned load2(void) __attribute__ ((n= aked));
=C2=A0unsigned load2(void)
Index: gcc/testsuite/gcc.target/ar= m/scd42-3.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- g= cc/testsuite/gcc.target/arm/scd42-3.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (revisi= on 216115)
+++ gcc/testsuite/gcc.target/arm/scd42-3.c=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 (working copy)
@@ -3,6 +3,7 @@
=C2=A0/* { dg-skip-if &qu= ot;Test is specific to Xscale" { arm*-*-* } { "-march=3D*" }= { "-march=3Dxscale" } } */
=C2=A0/* { dg-skip-if "Test i= s specific to Xscale" { arm*-*-* } { "-mcpu=3D*" } { "-= mcpu=3Dxscale" } } */
=C2=A0/* { dg-options "-mcpu=3Dxscale -O= " } */
+/* { dg-require-effective-target arm_xscale_ok } */
=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0unsigned load= 4(void) __attribute__ ((naked));
=C2=A0unsigned load4(void)
Index: gc= c/testsuite/gcc.target/arm/g2.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
--- gcc/testsuite/gcc.target/arm/g2.c=C2=A0=C2=A0 (revision= 216115)
+++ gcc/testsuite/gcc.target/arm/g2.c=C2=A0=C2=A0 (working copy= )
@@ -5,6 +5,7 @@
=C2=A0/* { dg-skip-if "Test is specific to the= Xscale" { arm*-*-* } { "-mcpu=3D*" } { "-mcpu=3Dxscale= " } } */
=C2=A0/* { dg-skip-if "Test is specific to ARM mode&q= uot; { arm*-*-* } { "-mthumb" } { "" } } */
=C2=A0/*= { dg-require-effective-target arm32 } */
+/* { dg-require-effective-tar= get arm_xscale_ok } */
=C2=A0
=C2=A0/* Brett Gaines' test case. *= /
=C2=A0unsigned BCPL(unsigned) __attribute__ ((naked));
Index: gcc/t= estsuite/gcc.target/arm/xor-and.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D
--- gcc/testsuite/gcc.target/arm/xor-and.c=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 (revision 216115)
+++ gcc/testsuite/gcc.target/arm/xo= r-and.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (working copy)
@@ -1,6 +1,7 @@
= =C2=A0/* { dg-do compile } */
=C2=A0/* { dg-options "-O -march=3Dar= mv6" } */
=C2=A0/* { dg-prune-output "switch .* conflicts with= " } */
+/* { dg-require-effective-target arm_arch_v6_ok } */
=C2= =A0
=C2=A0unsigned short foo (unsigned short x)
=C2=A0{
Index: gcc= /testsuite/gcc.target/arm/scd42-1.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D
--- gcc/testsuite/gcc.target/arm/scd42-1.c=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 (revision 216115)
+++ gcc/testsuite/gcc.target/arm/sc= d42-1.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (working copy)
@@ -2,6 +2,7 @@
= =C2=A0/* { dg-do compile } */
=C2=A0/* { dg-skip-if "incompatible o= ptions" { arm*-*-* } { "-march=3D*" } { "" } } */<= br>=C2=A0/* { dg-options "-mcpu=3Dxscale -O" } */
+/* { dg-req= uire-effective-target arm_xscale_ok } */
=C2=A0
=C2=A0unsigned load1(= void) __attribute__ ((naked));
=C2=A0unsigned load1(void)
Index: gcc/= testsuite/lib/target-supports.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D
--- gcc/testsuite/lib/target-supports.exp=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (revision 216115)
+++ gcc/testsuite/lib/target-sup= ports.exp=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (working copy)
@@ -2721,6 = +2721,11 @@ foreach { armfunc armflag armdef } { v4
=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #i= f !defined (DEF)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #error !DEF
=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #endi= f
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 int
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 main (void)
+=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 return 0;
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } "FLAG" ]
=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
=C2=A0
@@ -2948,6 +2953,23 @@ = proc check_effective_target_arm_hf_eabi
=C2=A0=C2=A0=C2=A0=C2=A0 }]
= =C2=A0}
=C2=A0
+# Return 1 if this is an ARM target supporting -mcpu= =3Dxscale.
+# Some multilibs may be incompatible with this option.
+p= roc check_effective_target_arm_xscale_ok { } {
+=C2=A0=C2=A0=C2=A0 if { = [check_effective_target_arm32] } {
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 return [check_no_compiler_messages arm_xscale_ok object {
+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int dummy;
+=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int
+=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 main (void)
+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0= ;
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
+= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } "-mcpu=3Dxscale"]+=C2=A0=C2=A0=C2=A0 } else {
+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 return 0
+=C2=A0=C2=A0=C2=A0 }
+}
+
=C2=A0# Return 1 if thi= s is an ARM target supporting -mcpu=3Diwmmxt.
=C2=A0# Some multilibs may= be incompatible with this option.
--f46d043c7fac76a54a05052303b1-- Index: gcc/testsuite/gcc.target/arm/pr40887.c =================================================================== --- gcc/testsuite/gcc.target/arm/pr40887.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/pr40887.c (working copy) @@ -1,6 +1,7 @@ /* { dg-skip-if "need at least armv5" { *-*-* } { "-march=armv[234]*" } { "" } } */ /* { dg-options "-O2 -march=armv5te" } */ /* { dg-final { scan-assembler "blx" } } */ +/* { dg-require-effective-target arm_arch_v5te_ok } */ int (*indirect_func)(int x); Index: gcc/testsuite/gcc.target/arm/scd42-2.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-2.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-2.c (working copy) @@ -5,6 +5,7 @@ /* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-skip-if "Test is specific to ARM mode" { arm*-*-* } { "-mthumb" } { "" } } */ /* { dg-require-effective-target arm32 } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load2(void) __attribute__ ((naked)); unsigned load2(void) Index: gcc/testsuite/gcc.target/arm/scd42-3.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-3.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-3.c (working copy) @@ -3,6 +3,7 @@ /* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-march=*" } { "-march=xscale" } } */ /* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-options "-mcpu=xscale -O" } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load4(void) __attribute__ ((naked)); unsigned load4(void) Index: gcc/testsuite/gcc.target/arm/g2.c =================================================================== --- gcc/testsuite/gcc.target/arm/g2.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/g2.c (working copy) @@ -5,6 +5,7 @@ /* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-skip-if "Test is specific to ARM mode" { arm*-*-* } { "-mthumb" } { "" } } */ /* { dg-require-effective-target arm32 } */ +/* { dg-require-effective-target arm_xscale_ok } */ /* Brett Gaines' test case. */ unsigned BCPL(unsigned) __attribute__ ((naked)); Index: gcc/testsuite/gcc.target/arm/xor-and.c =================================================================== --- gcc/testsuite/gcc.target/arm/xor-and.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/xor-and.c (working copy) @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O -march=armv6" } */ /* { dg-prune-output "switch .* conflicts with" } */ +/* { dg-require-effective-target arm_arch_v6_ok } */ unsigned short foo (unsigned short x) { Index: gcc/testsuite/gcc.target/arm/scd42-1.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-1.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-1.c (working copy) @@ -2,6 +2,7 @@ /* { dg-do compile } */ /* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "" } } */ /* { dg-options "-mcpu=xscale -O" } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load1(void) __attribute__ ((naked)); unsigned load1(void) Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp (revision 216115) +++ gcc/testsuite/lib/target-supports.exp (working copy) @@ -2721,6 +2721,11 @@ foreach { armfunc armflag armdef } { v4 #if !defined (DEF) #error !DEF #endif + int + main (void) + { + return 0; + } } "FLAG" ] } @@ -2948,6 +2953,23 @@ proc check_effective_target_arm_hf_eabi }] } +# Return 1 if this is an ARM target supporting -mcpu=xscale. +# Some multilibs may be incompatible with this option. +proc check_effective_target_arm_xscale_ok { } { + if { [check_effective_target_arm32] } { + return [check_no_compiler_messages arm_xscale_ok object { + int dummy; + int + main (void) + { + return 0; + } + } "-mcpu=xscale"] + } else { + return 0 + } +} + # Return 1 if this is an ARM target supporting -mcpu=iwmmxt. # Some multilibs may be incompatible with this option.