This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FW: [PATCH, ARM/testsuite] Fix thumb2-slow-flash-data.c failures



On 09/11/15 08:21, Thomas Preud'homme wrote:
[Forwarding to gcc-patches, doh!]
Best regards,

Thomas

[PATCH, ARM/testsuite] Fix thumb2-slow-flash-data.c failures.eml

Subject:
[PATCH, ARM/testsuite] Fix thumb2-slow-flash-data.c failures
From:
Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:
09/11/15 08:02

To:
Richard Earnshaw <Richard.Earnshaw@arm.com>, Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>, Kyrylo Tkachov <kyrylo.tkachov@arm.com>


Hi,

ARM-specific thumb2-slow-flash-data.c testcase shows 2 failures when running for arm-none-eabi with -mcpu=cortex-m7:

FAIL: gcc.target/arm/thumb2-slow-flash-data.c (test for excess errors)
FAIL: gcc.target/arm/thumb2-slow-flash-data.c scan-assembler-times movt 13

The first one is due to a missing type specifier in the declaration of labelref while the second one is due to different constant synthesis as a result of a different tuning for the CPU selected. This patch fixes these issues by adding the missing type specifier and checking for .word and similar directive instead of the number of movt.

The new test passes for all of -mcpu=cortex-m{3,4,7} but fail when removing the -mslow-flash-data switch.

ChangeLog entry is as follows:


*** gcc/testsuite/ChangeLog ***

2015-11-04  Thomas Preud'homme<thomas.preudhomme@arm.com>

         * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for
         labelref and check use of constant pool by looking for .word and
         similar directives.

Ok.
Thanks,
Kyrill



diff --git a/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data.c b/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data.c
index 9852ea5..089a72b 100644
--- a/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data.c
+++ b/gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data.c
@@ -50,7 +50,7 @@ int
  foo (int a, int b)
  {
    int i;
-  volatile *labelref = &&label1;
+  volatile int *labelref = &&label1;
if (a > b)
      {
@@ -70,5 +70,4 @@ label1:
    return a + b;
  }
-/* { dg-final { scan-assembler-times "movt" 13 } } */
-/* { dg-final { scan-assembler-times "movt.*LC0\\+4" 1 } } */
+/* { dg-final { scan-assembler-not "\\.(float|l\\?double|\d?byte|short|int|long|quad|word)\\s+\[^.\]" } } */


Is this ok for trunk?

Best regards,

Thomas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]