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)
 {