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. 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 } } } } */