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



Reply via email to