Message ID | 4E01074E.90407@codesourcery.com |
---|---|
State | New |
Headers | show |
On 21 June 2011 22:04, Janis Johnson <janisjo@codesourcery.com> wrote: > This patch removes "-march=armv7-a" from four tests that pass with all > -march values from armv4t on. > > OK for trunk? > No, that sounds like a bug - if we are generating smlaltb and friends for v4t then the compiler is broken. This is probably because smlaltb is a part of the file name :( . smlaltb should be generated in ARM state for arch between v5e onwards in Thumb state from v6t2 onwards (i.e. v6t2). cheers Ramana
On 06/21/2011 02:25 PM, Ramana Radhakrishnan wrote: > On 21 June 2011 22:04, Janis Johnson <janisjo@codesourcery.com> wrote: >> This patch removes "-march=armv7-a" from four tests that pass with all >> -march values from armv4t on. >> >> OK for trunk? >> > > No, that sounds like a bug - if we are generating smlaltb and friends > for v4t then the compiler is broken. This is probably because smlaltb > is a part of the file name :( . > > smlaltb should be generated in ARM state for arch between v5e onwards > in Thumb state from v6t2 onwards (i.e. v6t2). When I rename the files the tests fail for lots of -march values, so renaming the tests is definitely needed. The instructions checked for in these tests are provided in arm.md for TARGET_DSP_MULTIPLY; is there a general way to check for that, or should the test continue to provide a -march value that supports it and also skip -march values from multilib flags that are known to not support those instructions? Janis
Index: gcc.target/arm/smlaltb-1.c =================================================================== --- gcc.target/arm/smlaltb-1.c (revision 175269) +++ gcc.target/arm/smlaltb-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ long long int foo (long long x, int in) Index: gcc.target/arm/smlaltt-1.c =================================================================== --- gcc.target/arm/smlaltt-1.c (revision 175269) +++ gcc.target/arm/smlaltt-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ long long int foo (long long x, int in1, int in2) Index: gcc.target/arm/smlatb-1.c =================================================================== --- gcc.target/arm/smlatb-1.c (revision 175269) +++ gcc.target/arm/smlatb-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ int foo (int x, int in) Index: gcc.target/arm/smlatt-1.c =================================================================== --- gcc.target/arm/smlatt-1.c (revision 175269) +++ gcc.target/arm/smlatt-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=armv7-a" } */ +/* { dg-options "-O2" } */ int foo (int x, int in1, int in2)