On 22/08/12 02:20, Terry Guo wrote: > Hi, > > Due to the impact of ARM UAL, the Thumb1 and Thumb2 mode use LSRS > instruction while the ARM mode uses MOVS instruction. So the following case > is updated accordingly. Is it OK to trunk? > > BR, > Terry > > 2012-08-21 Terry Guo <terry....@arm.com> > > * gcc.target/arm/combine-movs.c: Check movs for ARM mode > and lsrs for other mode. >
This can't be right. Thumb1 doesn't use unified syntax. R. > diff --git a/gcc/testsuite/gcc.target/arm/combine-movs.c > b/gcc/testsuite/gcc.target/arm/combine-movs.c > index 4209a33..fbef9df 100644 > --- a/gcc/testsuite/gcc.target/arm/combine-movs.c > +++ b/gcc/testsuite/gcc.target/arm/combine-movs.c > @@ -1,5 +1,4 @@ > /* { dg-do compile } */ > -/* { dg-skip-if "" { arm_thumb1 } } */ > /* { dg-options "-O" } */ > > void foo (unsigned long r[], unsigned int d) > @@ -9,4 +8,5 @@ void foo (unsigned long r[], unsigned int d) > r[i] = 0; > } > > -/* { dg-final { scan-assembler "movs\tr\[0-9\]" } } */ > +/* { dg-final { scan-assembler "movs\tr\[0-9\]" { target arm_nothumb } } } > */ > +/* { dg-final { scan-assembler "lsrs\tr\[0-9\]" { target { ! arm_nothumb } > } } } */ > > > >