diff mbox

[testuite,AArch64] Make scan for 'br' more robust

Message ID CAKdteObQgHmHKzJQmhQcirE1LDMahPD=_M6KRN-G_4ZETXtByw@mail.gmail.com
State New
Headers show

Commit Message

Christophe Lyon May 4, 2016, 9:55 a.m. UTC
On 4 May 2016 at 10:43, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote:
>
> Hi Christophe,
>
>
> On 02/05/16 12:50, Christophe Lyon wrote:
>>
>> Hi,
>>
>> I've noticed a "regression" of AArch64's noplt_3.c in the gcc-6-branch
>> because my validation script adds the branch name to gcc/REVISION.
>>
>> As a result scan-assembler-times "br" also matched "gcc-6-branch",
>> hence the failure.
>>
>> The small attached patch replaces "br" by "br\t" to fix the problem.
>>
>> I've also made a similar change to tail_indirect_call_1 although the
>> problem did not happen for this test because it uses scan-assembler
>> instead of scan-assembler-times. I think it's better to make it more
>> robust too.
>>
>> OK?
>>
>> Christophe
>
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> index ef6e65d..a382618 100644
> --- a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> +++ b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> @@ -16,5 +16,5 @@ cal_novalue (int a)
>    dec (a);
>  }
>  -/* { dg-final { scan-assembler-times "br" 2 } } */
> +/* { dg-final { scan-assembler-times "br\t" 2 } } */
>  /* { dg-final { scan-assembler-not "b\t" } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> index 4759d20..e863323 100644
> --- a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> @@ -3,7 +3,7 @@
>   typedef void FP (int);
>  -/* { dg-final { scan-assembler "br" } } */
> +/* { dg-final { scan-assembler "br\t" } } */
>
> Did you mean to make this scan-assembler-times as well?
>

I kept the changes minimal, but you are right, it would be more robust
as attached.

OK for trunk and gcc-6 branch?

Thanks

Christophe

> Kyrill
>
>
>
2016-05-04  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/noplt_3.c: Scan for "br\t".
	* gcc.target/aarch64/tail_indirect_call_1.c: Scan for "br\t",
	"blr\t" and switch to scan-assembler-times.

Comments

James Greenhalgh May 13, 2016, 1:51 p.m. UTC | #1
On Wed, May 04, 2016 at 11:55:42AM +0200, Christophe Lyon wrote:
> On 4 May 2016 at 10:43, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote:
> >
> > Hi Christophe,
> >
> >
> > On 02/05/16 12:50, Christophe Lyon wrote:
> >>
> >> Hi,
> >>
> >> I've noticed a "regression" of AArch64's noplt_3.c in the gcc-6-branch
> >> because my validation script adds the branch name to gcc/REVISION.
> >>
> >> As a result scan-assembler-times "br" also matched "gcc-6-branch",
> >> hence the failure.
> >>
> >> The small attached patch replaces "br" by "br\t" to fix the problem.
> >>
> >> I've also made a similar change to tail_indirect_call_1 although the
> >> problem did not happen for this test because it uses scan-assembler
> >> instead of scan-assembler-times. I think it's better to make it more
> >> robust too.
> >>
> >> OK?
> >>
> >> Christophe
> >
> >
> > diff --git a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> > b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> > index ef6e65d..a382618 100644
> > --- a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> > +++ b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
> > @@ -16,5 +16,5 @@ cal_novalue (int a)
> >    dec (a);
> >  }
> >  -/* { dg-final { scan-assembler-times "br" 2 } } */
> > +/* { dg-final { scan-assembler-times "br\t" 2 } } */
> >  /* { dg-final { scan-assembler-not "b\t" } } */
> > diff --git a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> > b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> > index 4759d20..e863323 100644
> > --- a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> > +++ b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
> > @@ -3,7 +3,7 @@
> >   typedef void FP (int);
> >  -/* { dg-final { scan-assembler "br" } } */
> > +/* { dg-final { scan-assembler "br\t" } } */
> >
> > Did you mean to make this scan-assembler-times as well?
> >
> 
> I kept the changes minimal, but you are right, it would be more robust
> as attached.
> 
> OK for trunk and gcc-6 branch?

OK.

If you want completeness on this, the
gcc.target/aarch64/tail_indirect_call_1.c change should go back to the
gcc-5 branch too.

Cheers,
James
Christophe Lyon May 18, 2016, 12:42 p.m. UTC | #2
On 13 May 2016 at 15:51, James Greenhalgh <james.greenhalgh@arm.com> wrote:
> On Wed, May 04, 2016 at 11:55:42AM +0200, Christophe Lyon wrote:
>> On 4 May 2016 at 10:43, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote:
>> >
>> > Hi Christophe,
>> >
>> >
>> > On 02/05/16 12:50, Christophe Lyon wrote:
>> >>
>> >> Hi,
>> >>
>> >> I've noticed a "regression" of AArch64's noplt_3.c in the gcc-6-branch
>> >> because my validation script adds the branch name to gcc/REVISION.
>> >>
>> >> As a result scan-assembler-times "br" also matched "gcc-6-branch",
>> >> hence the failure.
>> >>
>> >> The small attached patch replaces "br" by "br\t" to fix the problem.
>> >>
>> >> I've also made a similar change to tail_indirect_call_1 although the
>> >> problem did not happen for this test because it uses scan-assembler
>> >> instead of scan-assembler-times. I think it's better to make it more
>> >> robust too.
>> >>
>> >> OK?
>> >>
>> >> Christophe
>> >
>> >
>> > diff --git a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
>> > b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
>> > index ef6e65d..a382618 100644
>> > --- a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
>> > +++ b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
>> > @@ -16,5 +16,5 @@ cal_novalue (int a)
>> >    dec (a);
>> >  }
>> >  -/* { dg-final { scan-assembler-times "br" 2 } } */
>> > +/* { dg-final { scan-assembler-times "br\t" 2 } } */
>> >  /* { dg-final { scan-assembler-not "b\t" } } */
>> > diff --git a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
>> > b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
>> > index 4759d20..e863323 100644
>> > --- a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
>> > +++ b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
>> > @@ -3,7 +3,7 @@
>> >   typedef void FP (int);
>> >  -/* { dg-final { scan-assembler "br" } } */
>> > +/* { dg-final { scan-assembler "br\t" } } */
>> >
>> > Did you mean to make this scan-assembler-times as well?
>> >
>>
>> I kept the changes minimal, but you are right, it would be more robust
>> as attached.
>>
>> OK for trunk and gcc-6 branch?
>
> OK.
>
> If you want completeness on this, the
> gcc.target/aarch64/tail_indirect_call_1.c change should go back to the
> gcc-5 branch too.
>

Thanks,  I've committed to trunk, backported to gcc-6,
and partially to gcc-5.

Christophe.


> Cheers,
> James
>
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.target/aarch64/noplt_3.c b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
index ef6e65d..a382618 100644
--- a/gcc/testsuite/gcc.target/aarch64/noplt_3.c
+++ b/gcc/testsuite/gcc.target/aarch64/noplt_3.c
@@ -16,5 +16,5 @@  cal_novalue (int a)
   dec (a);
 }
 
-/* { dg-final { scan-assembler-times "br" 2 } } */
+/* { dg-final { scan-assembler-times "br\t" 2 } } */
 /* { dg-final { scan-assembler-not "b\t" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
index 4759d20..de8f12d 100644
--- a/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/tail_indirect_call_1.c
@@ -3,8 +3,8 @@ 
 
 typedef void FP (int);
 
-/* { dg-final { scan-assembler "br" } } */
-/* { dg-final { scan-assembler-not "blr" } } */
+/* { dg-final { scan-assembler-times "br\t" 2 } } */
+/* { dg-final { scan-assembler-not "blr\t" } } */
 void
 f1 (FP fp, int n)
 {