This patch makes the vfp-1.c testcase work for Thumb. It became broken when we restricted the negative offsets allowed for Thumb to fix up a Spec2K failure some months back. (It was previously possible to generate illegal offsets.)
OK for trunk? Cheers, Ian 2011-07-28 Ian Bolton <ian.bol...@arm.com> testsuite/ * gcc.target/arm/vfp-1.c: large negative offsets not possible on Thumb2. Index: gcc/testsuite/gcc.target/arm/vfp-1.c =================================================================== --- gcc/testsuite/gcc.target/arm/vfp-1.c (revision 176838) +++ gcc/testsuite/gcc.target/arm/vfp-1.c (working copy) @@ -127,13 +127,13 @@ void test_convert () { void test_ldst (float f[], double d[]) { /* { dg-final { scan-assembler "flds.+ \\\[r0, #1020\\\]" } } */ - /* { dg-final { scan-assembler "flds.+ \\\[r0, #-1020\\\]" } } */ + /* { dg-final { scan-assembler "flds.+ \\\[r\[0-9\], #-1020\\\]" { target { arm32 && { ! arm_thumb2_ok } } } } } */ /* { dg-final { scan-assembler "add.+ r0, #1024" } } */ - /* { dg-final { scan-assembler "fsts.+ \\\[r0, #0\\\]\n" } } */ + /* { dg-final { scan-assembler "fsts.+ \\\[r\[0-9\], #0\\\]\n" } } */ f[256] = f[255] + f[-255]; /* { dg-final { scan-assembler "fldd.+ \\\[r1, #1016\\\]" } } */ - /* { dg-final { scan-assembler "fldd.+ \\\[r1, #-1016\\\]" } } */ + /* { dg-final { scan-assembler "fldd.+ \\\[r\[1-9\], #-1016\\\]" { target { arm32 && { ! arm_thumb2_ok } } } } } */ /* { dg-final { scan-assembler "fstd.+ \\\[r1, #256\\\]" } } */ d[32] = d[127] + d[-127]; }