This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, AArch64] Fix duplication in test case.
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 4 Apr 2013 12:57:49 +0100
- Subject: Re: [Patch, AArch64] Fix duplication in test case.
- References: <515C3016 dot 2020802 at arm dot com>
OK /Marcus
On 3 April 2013 14:35, Tejas Belagod <tbelagod@arm.com> wrote:
> Hi,
>
> The attached patch fixes duplication in a test case for gcc.target/aarch64/.
>
> Tested on aarch64-none-elf. OK for trunk and branch?
>
> Thanks,
> Tejas Belagod
> ARM.
>
> 2013-04-03 Tejas Belagod <tejas.belagod@arm.com>
>
> testsuite/
> * gcc.target/aarch64/inc/asm-adder-clobber-lr.c: Remove duplication.
> * gcc.target/aarch64/inc/asm-adder-no-clobber-lr.c: Likewise.
> * gcc.target/aarch64/test-framepointer-1.c: Likewise.
> * gcc.target/aarch64/test-framepointer-2.c: Likewise.
> * gcc.target/aarch64/test-framepointer-3.c: Likewise.
> * gcc.target/aarch64/test-framepointer-4.c: Likewise.
> * gcc.target/aarch64/test-framepointer-5.c: Likewise.
> * gcc.target/aarch64/test-framepointer-6.c: Likewise.
> * gcc.target/aarch64/test-framepointer-7.c: Likewise.
> * gcc.target/aarch64/test-framepointer-8.c: Likewise.
> diff --git a/gcc/testsuite/gcc.target/aarch64/asm-adder-clobber-lr.c
> b/gcc/testsuite/gcc.target/aarch64/asm-adder-clobber-lr.c
> index 8a02abc..540c79b 100644
> --- a/gcc/testsuite/gcc.target/aarch64/asm-adder-clobber-lr.c
> +++ b/gcc/testsuite/gcc.target/aarch64/asm-adder-clobber-lr.c
> @@ -21,28 +21,3 @@ main (int argc, char** argv)
>
> return 0;
> }
> -
> -extern void abort (void);
> -
> -int
> -adder (int a, int b)
> -{
> - int result;
> - __asm__ ("add %w0,%w1,%w2" : "=r"(result) : "r"(a), "r"(b) : "x30");
> - return result;
> -}
> -
> -int
> -main (int argc, char** argv)
> -{
> - int i;
> - int total = argc;
> - for (i = 0; i < 20; i++)
> - total = adder (total, i);
> -
> - if (total != (190 + argc))
> - abort ();
> -
> - return 0;
> -}
> -
> diff --git a/gcc/testsuite/gcc.target/aarch64/asm-adder-no-clobber-lr.c
> b/gcc/testsuite/gcc.target/aarch64/asm-adder-no-clobber-lr.c
> index f60cfd3..2543d50 100644
> --- a/gcc/testsuite/gcc.target/aarch64/asm-adder-no-clobber-lr.c
> +++ b/gcc/testsuite/gcc.target/aarch64/asm-adder-no-clobber-lr.c
> @@ -21,28 +21,3 @@ main (int argc, char** argv)
>
> return 0;
> }
> -
> -extern void abort (void);
> -
> -int
> -adder (int a, int b)
> -{
> - int result;
> - __asm__ ("add %w0,%w1,%w2" : "=r"(result) : "r"(a), "r"(b) : );
> - return result;
> -}
> -
> -int
> -main (int argc, char** argv)
> -{
> - int i;
> - int total = argc;
> - for (i = 0; i < 20; i++)
> - total = adder (total, i);
> -
> - if (total != (190 + argc))
> - abort ();
> -
> - return 0;
> -}
> -
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-1.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-1.c
> index ae10959..e44ca6d 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-1.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-no-clobber-lr.c"
> -
> -/* omit-frame-pointer is FALSE.
> - omit-leaf-frame-pointer is FALSE.
> - LR is not being clobbered in the leaf.
> -
> - With no frame pointer omissions, we expect a frame record
> - for main and the leaf. */
> -
> -/* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-2.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-2.c
> index 71bc58d..40e4835 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-2.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer -mno-omit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-no-clobber-lr.c"
> -
> -/* omit-frame-pointer is TRUE.
> - omit-leaf-frame-pointer is false, but irrelevant due to
> omit-frame-pointer.
> - LR is not being clobbered in the leaf.
> -
> - Since we asked to have no frame pointers anywhere, we expect no frame
> - record in main or the leaf. */
> -
> -/* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-3.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-3.c
> index de1b32c..98cb2e0 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-3.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-3.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer -momit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-no-clobber-lr.c"
> -
> -/* omit-frame-pointer is TRUE.
> - omit-leaf-frame-pointer is true, but irrelevant due to
> omit-frame-pointer.
> - LR is not being clobbered in the leaf.
> -
> - Since we asked to have no frame pointers anywhere, we expect no frame
> - record in main or the leaf. */
> -
> -/* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-4.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-4.c
> index d339263..4143a7a 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-4.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-4.c
> @@ -14,19 +14,3 @@
> /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 1 } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-no-clobber-lr.c"
> -
> -/* omit-frame-pointer is FALSE.
> - omit-leaf-frame-pointer is TRUE.
> - LR is not being clobbered in the leaf.
> -
> - Unless we are removing all frame records, it's OK to remove the frame
> - record for a leaf where LR is not clobbered. Therefore, we expect a
> - frame record only in main. */
> -
> -/* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 1 } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-5.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-5.c
> index 4be297a..c22bdc3 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-5.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-clobber-lr.c"
> -
> -/* omit-frame-pointer is FALSE.
> - omit-leaf-frame-pointer is FALSE.
> - LR is being clobbered in the leaf.
> -
> - With no frame pointer omissions, we expect a frame record for main
> - and the leaf. */
> -
> -/* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-6.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-6.c
> index bf53962..e08ee43 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-6.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-6.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer -mno-omit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-clobber-lr.c"
> -
> -/* omit-frame-pointer is TRUE.
> - omit-leaf-frame-pointer is false, but irrelevant due to
> omit-frame-pointer.
> - LR is being clobbered in the leaf.
> -
> - Since we asked to have no frame pointers anywhere, we expect no frame
> - record in main or the leaf. */
> -
> -/* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-7.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-7.c
> index 9e88ae3..e8f7cab 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-7.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-7.c
> @@ -13,18 +13,3 @@
> /* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer -momit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-clobber-lr.c"
> -
> -/* omit-frame-pointer is TRUE.
> - omit-leaf-frame-pointer is true, but irrelevant due to
> omit-frame-pointer.
> - LR is being clobbered in the leaf.
> -
> - Since we asked to have no frame pointers anywhere, we expect no frame
> - record in main or the leaf. */
> -
> -/* { dg-final { scan-assembler-not "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!"
> } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/test-framepointer-8.c
> b/gcc/testsuite/gcc.target/aarch64/test-framepointer-8.c
> index 08d7667..c09b687 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test-framepointer-8.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test-framepointer-8.c
> @@ -14,19 +14,3 @@
> /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
>
> /* { dg-final { cleanup-saved-temps } } */
> -/* { dg-do run } */
> -/* { dg-options "-O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer
> -fno-inline --save-temps" } */
> -
> -#include "asm-adder-clobber-lr.c"
> -
> -/* omit-frame-pointer is FALSE.
> - omit-leaf-frame-pointer is TRUE.
> - LR is being clobbered in the leaf.
> -
> - Unless we are removing all frame records (which we aren't), it's
> - not OK to remove the frame record for a leaf where LR is clobbered.
> - Therefore, we expect a frame record in main and leaf. */
> -
> -/* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp,
> -\[0-9\]+\\\]!" 2 } } */
> -
> -/* { dg-final { cleanup-saved-temps } } */