From patchwork Sun Oct 3 14:49:34 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sofiane Naci X-Patchwork-Id: 66599 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]) by ozlabs.org (Postfix) with SMTP id 50616B70D2 for ; Mon, 4 Oct 2010 01:50:16 +1100 (EST) Received: (qmail 8257 invoked by alias); 3 Oct 2010 14:50:12 -0000 Received: (qmail 8222 invoked by uid 22791); 3 Oct 2010 14:50:07 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL, BAYES_00, MIME_QP_LONG_LINE, MSGID_MULTIPLE_AT, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cam-admin0.cambridge.arm.com (HELO cam-admin0.cambridge.arm.com) (217.140.96.50) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 03 Oct 2010 14:49:58 +0000 Received: from cam-owa2.Emea.Arm.com (cam-owa2.emea.arm.com [10.1.105.18]) by cam-admin0.cambridge.arm.com (8.12.6/8.12.6) with ESMTP id o93EkZF9014133 for ; Sun, 3 Oct 2010 15:46:35 +0100 (BST) Received: from e102113 ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Sun, 3 Oct 2010 15:49:54 +0100 From: "Sofiane Naci" To: Subject: [PATCH, ARM] Some Thumb-1 only tests can also be run on Thumb-2 targets Date: Sun, 3 Oct 2010 15:49:34 +0100 Message-ID: <000001cb630a$3bd5c800$b3815800$@Naci@arm.com> MIME-Version: 1.0 x-cr-hashedpuzzle: jUw= BLGU Bb2C B1MO CQy6 CojP C8Ad C/AM Dacc Dy4p EOM9 Gxw+ HFTE HFZZ HMnx Ih3m; 1; ZwBjAGMALQBwAGEAdABjAGgAZQBzAEAAZwBjAGMALgBnAG4AdQAuAG8AcgBnAA==; Sosha1_v1; 7; {DB061C54-F06F-4BB1-A0D4-0A4A4B3740E9}; cwBvAGYAaQBhAG4AZQAuAG4AYQBjAGkAQABhAHIAbQAuAGMAbwBtAA==; Sun, 03 Oct 2010 14:49:31 GMT; WwBQAEEAVABDAEgALAAgAEEAUgBNAF0AIABTAG8AbQBlACAAVABoAHUAbQBiAC0AMQAgAG8AbgBsAHkAIAB0AGUAcwB0AHMAIABjAGEAbgAgAGEAbABzAG8AIABiAGUAIAByAHUAbgAgAG8AbgAgAFQAaAB1AG0AYgAtADIAIAB0AGEAcgBnAGUAdABzAA== x-cr-puzzleid: {DB061C54-F06F-4BB1-A0D4-0A4A4B3740E9} X-IsSubscribed: yes 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 Hi, This patch enables 9 testcases that were believed to work on Thumb1 only to be run on Thumb2 targets as well. Thanks Sofiane gcc/testsuite 2010-09-28 Sofiane Naci * gcc.target/arm/pr40657-1.c: Test can be run on any Thumb1 or Thumb2 supporting target. * gcc.target/arm/pr40657-2.c: Likewise. * gcc.target/arm/pr40670.c: Likewise. * gcc.target/arm/pr40956.c: Likewise. * gcc.target/arm/pr42495.c: Likewise. * gcc.target/arm/pr42505.c: Likewise. * gcc.target/arm/thumb-comparisons.c: Likewise. * gcc.target/arm/thumb-stackframe.c: Likewise. * gcc.target/arm/thumb1-mul-moves.c: Likewise. * lib/target-supports.exp (check_effective_target_arm_any_thumb_ok): new procedure. Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-1.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-1.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-Os -march=armv5te -mthumb" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-final { scan-assembler "pop.*r1.*pc" } } */ /* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp" } } */ /* { dg-final { scan-assembler-not "add\[\\t \]*sp,\[\\t \]*sp" } } */ Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-2.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-2.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40657-2.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-Os -march=armv4t -mthumb" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp" } } */ /* { dg-final { scan-assembler-not "add\[\\t \]*sp,\[\\t \]*sp" } } */ Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40670.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40670.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40670.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-mthumb -O2" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-final { scan-assembler-not "ldr" } } */ float foo (void) Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40956.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40956.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr40956.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-mthumb -Os -fpic -march=armv5te" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-require-effective-target fpic } */ /* Make sure the constant "0" is loaded into register only once. */ /* { dg-final { scan-assembler-times "mov\[\\t \]*r., #0" 1 } } */ Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42505.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42505.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42505.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-mthumb -Os -march=armv5te" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */ struct A { Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-comparisons.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-comparisons.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-comparisons.c (working copy) @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mthumb -Os" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ int foo(char ch) { Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-stackframe.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-stackframe.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb-stackframe.c (working copy) @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mthumb -Os" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ extern void bar(int*); int foo() Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb1-mul-moves.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb1-mul-moves.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/thumb1-mul-moves.c (working copy) @@ -1,6 +1,6 @@ /* Check for unnecessary register moves. */ /* { dg-options "-mthumb -Os" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ int f(int x) { Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42495.c =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42495.c (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/gcc.target/arm/pr42495.c (working copy) @@ -1,5 +1,5 @@ /* { dg-options "-mthumb -Os -fpic -march=armv5te -fdump-rtl-hoist" } */ -/* { dg-require-effective-target arm_thumb1_ok } */ +/* { dg-require-effective-target arm_any_thumb_ok } */ /* { dg-require-effective-target fpic } */ /* Make sure all calculations of gObj's address get hoisted to one location. */ /* { dg-final { scan-rtl-dump "PRE/HOIST: end of bb .* copying expression" "hoist" } } */ Index: /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/lib/target-supports.exp =================================================================== --- /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/lib/target-supports.exp (revision 163954) +++ /home/sofnac01/work/sandboxes/devt/trunk/source/gcc/testsuite/lib/target-supports.exp (working copy) @@ -1905,6 +1905,17 @@ } "-mthumb"] } +# Return 1 if this is an ARM target where -mthumb causes either Thumb-1 +# or Thumb-2 to be used. + +proc check_effective_target_arm_any_thumb_ok { } { + return [check_no_compiler_messages arm_any_thumb_ok assembly { + #if !defined(__thumb__) + #error FOO + #endif + } "-mthumb"] +} + # Return 1 if the target supports executing NEON instructions, 0 # otherwise. Cache the result.