On 07/09/15 04:03, Kugan wrote: > > > gcc/testsuite/ChangeLog: > > 2015-09-07 Kugan Vivekanandarajah <kug...@linaro.org> > > * gcc.target/arm/mla-2.c: Scan for wider mode operation. > * gcc.target/arm/wmul-1.c: Likewise. > * gcc.target/arm/wmul-2.c: Likewise. > * gcc.target/arm/wmul-3.c: Likewise. > * gcc.target/arm/wmul-9.c: Likewise. > >
This looks undesirable. These tests are supposed to be checking that widening multiplies can be generated. If your other changes mean that this no-longer happens then we should be asking, is this the correct behaviour now? If it is the correct behaviour for these cases, then the tests need enhancing so that they do still result in the correct widening multiply instructions being generated. R. > 0007-adjust-arm-testcases.patch > > > From 305c526b4019fc11260c474143f6829be2cc3f54 Mon Sep 17 00:00:00 2001 > From: Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> > Date: Wed, 2 Sep 2015 12:21:46 +1000 > Subject: [PATCH 7/8] adjust arm testcases > > --- > gcc/testsuite/gcc.target/arm/mla-2.c | 2 +- > gcc/testsuite/gcc.target/arm/wmul-1.c | 2 +- > gcc/testsuite/gcc.target/arm/wmul-2.c | 2 +- > gcc/testsuite/gcc.target/arm/wmul-3.c | 2 +- > gcc/testsuite/gcc.target/arm/wmul-9.c | 2 +- > 5 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/gcc/testsuite/gcc.target/arm/mla-2.c > b/gcc/testsuite/gcc.target/arm/mla-2.c > index 1e3ca20..474bce0 100644 > --- a/gcc/testsuite/gcc.target/arm/mla-2.c > +++ b/gcc/testsuite/gcc.target/arm/mla-2.c > @@ -7,4 +7,4 @@ long long foolong (long long x, short *a, short *b) > return x + *a * *b; > } > > -/* { dg-final { scan-assembler "smlalbb" } } */ > +/* { dg-final { scan-assembler "smla" } } */ > diff --git a/gcc/testsuite/gcc.target/arm/wmul-1.c > b/gcc/testsuite/gcc.target/arm/wmul-1.c > index ddddd50..d4e7b41 100644 > --- a/gcc/testsuite/gcc.target/arm/wmul-1.c > +++ b/gcc/testsuite/gcc.target/arm/wmul-1.c > @@ -16,4 +16,4 @@ int mac(const short *a, const short *b, int sqr, int *sum) > return sqr; > } > > -/* { dg-final { scan-assembler-times "smlabb" 2 } } */ > +/* { dg-final { scan-assembler-times "mla" 2 } } */ > diff --git a/gcc/testsuite/gcc.target/arm/wmul-2.c > b/gcc/testsuite/gcc.target/arm/wmul-2.c > index 2ea55f9..0e32674 100644 > --- a/gcc/testsuite/gcc.target/arm/wmul-2.c > +++ b/gcc/testsuite/gcc.target/arm/wmul-2.c > @@ -10,4 +10,4 @@ void vec_mpy(int y[], const short x[], short scaler) > y[i] += ((scaler * x[i]) >> 31); > } > > -/* { dg-final { scan-assembler-times "smulbb" 1 } } */ > +/* { dg-final { scan-assembler-times "mul" 1 } } */ > diff --git a/gcc/testsuite/gcc.target/arm/wmul-3.c > b/gcc/testsuite/gcc.target/arm/wmul-3.c > index 144b553..46d709c 100644 > --- a/gcc/testsuite/gcc.target/arm/wmul-3.c > +++ b/gcc/testsuite/gcc.target/arm/wmul-3.c > @@ -16,4 +16,4 @@ int mac(const short *a, const short *b, int sqr, int *sum) > return sqr; > } > > -/* { dg-final { scan-assembler-times "smulbb" 2 } } */ > +/* { dg-final { scan-assembler-times "mul" 2 } } */ > diff --git a/gcc/testsuite/gcc.target/arm/wmul-9.c > b/gcc/testsuite/gcc.target/arm/wmul-9.c > index 40ed021..415a114 100644 > --- a/gcc/testsuite/gcc.target/arm/wmul-9.c > +++ b/gcc/testsuite/gcc.target/arm/wmul-9.c > @@ -8,4 +8,4 @@ foo (long long a, short *b, char *c) > return a + *b * *c; > } > > -/* { dg-final { scan-assembler "smlalbb" } } */ > +/* { dg-final { scan-assembler "mlal" } } */ >