Message ID | 56374AAC.1010505@arm.com |
---|---|
State | New |
Headers | show |
On 02/11/15 11:36, Kyrill Tkachov wrote: > > On 02/11/15 09:29, Kyrill Tkachov wrote: >> >> On 02/11/15 09:28, Yvan Roux wrote: >>> On 2 November 2015 at 10:24, Ramana Radhakrishnan >>> <ramana.radhakrishnan@foss.arm.com> wrote: >>>> >>>> On 02/11/15 09:01, Christophe Lyon wrote: >>>>> On 2 November 2015 at 09:51, Yvan Roux <yvan.roux@linaro.org> wrote: >>>>>> On 2 November 2015 at 09:38, Ramana Radhakrishnan >>>>>> <ramana.radhakrishnan@foss.arm.com> wrote: >>>>>>>>>> 2015-10-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >>>>>>>>>> >>>>>>>>>> PR target/67929 >>>>>>>>>> * gcc.target/arm/pr67929_1.c: New test. >>>>>>>> This test fails when tested on hard-float targets, adding the >>>>>>>> following line to avoid testing it in such cases will fix the >>>>>>>> issue, >>>>>>>> but I wonder if there is a better dejaGNU directives sequence to do >>>>>>>> that. >>>>>>>> >>>>>>>> /* { dg-skip-if "avoid conflicting multilib options" { >>>>>>>> *-*-*eabihf } { >>>>>>>> "*" } { "" } } */ >>>>>>> No, not without further investigation into why the test is failing. >>>>>> Sorry, it fails because of the ABI mismatch between the built libs >>>>>> for >>>>>> HF targets and the testcase which is built with the flag >>>>>> -mfloat-abi=softfp (which is added by the directive arm_vfpv3_ok) >>>>>> >>>>> I think that's what I meant in: >>>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67929#c7 >>>> Ah, I see what you mean - instead I would just remove all the >>>> special options and move this test into gcc.c-torture/execute. >>>> >>>> There are enough testers that test by default to armhf now for us to >>>> be worried about testing the exact combination. >>> Ha yes that's ture and I remember that we ended to that same >>> conclusion for one testcase I tried to find the exact float ABI flag >>> combination several months ago. >> >> Ok, moving the test to the torture suite sounds best. >> I'll prepare a patch. >> > > Is this proposed patch ok to commit? > It moves the test and adds noclone and noinline attributes to 'foo' like > Richard suggested. > > 2015-11-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > PR target/67929 > * gcc.target/arm/pr67929_1.c: Move to... > * gcc.c-torture/execute/pr67929_1.c: ... Here. > Remove arm-specific directives. Add noclone, noinline > attributes. > OK. R. > Thanks, > Kyrill > >> Sorry for the trouble, >> Kyrill >> >>> >>> >>> Yvan >>>> regards >>>> Ramana >>>> >>>>> Christophe. >>>>> >>>>>> Yvan >>>>>> >>>>>>> regards >>>>>>> Ramana >>>>>>> >>>>>>>> Cheers, >>>>>>>> Yvan >>>>>>>> >> > > > arm-move-test.patch > > > commit f7da7437733ea999c09806c593d9b253fd2ba324 > Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com> > Date: Mon Nov 2 11:16:57 2015 +0000 > > Move gcc.target/arm/pr67929_1.c test to execute.exp > > diff --git a/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c b/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c > new file mode 100644 > index 0000000..ae6cfbf > --- /dev/null > +++ b/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c > @@ -0,0 +1,15 @@ > +int __attribute__ ((noinline, noclone)) > +foo (float a) > +{ > + return a * 4.9f; > +} > + > + > +int > +main (void) > +{ > + if (foo (10.0f) != 49) > + __builtin_abort (); > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/arm/pr67929_1.c b/gcc/testsuite/gcc.target/arm/pr67929_1.c > deleted file mode 100644 > index 14943b6..0000000 > --- a/gcc/testsuite/gcc.target/arm/pr67929_1.c > +++ /dev/null > @@ -1,21 +0,0 @@ > -/* { dg-do run } */ > -/* { dg-require-effective-target arm_vfp3_ok } */ > -/* { dg-options "-O2 -fno-inline" } */ > -/* { dg-add-options arm_vfp3 } */ > -/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */ > - > -int > -foo (float a) > -{ > - return a * 4.9f; > -} > - > - > -int > -main (void) > -{ > - if (foo (10.0f) != 49) > - __builtin_abort (); > - > - return 0; > -} > \ No newline at end of file >
commit f7da7437733ea999c09806c593d9b253fd2ba324 Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com> Date: Mon Nov 2 11:16:57 2015 +0000 Move gcc.target/arm/pr67929_1.c test to execute.exp diff --git a/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c b/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c new file mode 100644 index 0000000..ae6cfbf --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr67929_1.c @@ -0,0 +1,15 @@ +int __attribute__ ((noinline, noclone)) +foo (float a) +{ + return a * 4.9f; +} + + +int +main (void) +{ + if (foo (10.0f) != 49) + __builtin_abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/arm/pr67929_1.c b/gcc/testsuite/gcc.target/arm/pr67929_1.c deleted file mode 100644 index 14943b6..0000000 --- a/gcc/testsuite/gcc.target/arm/pr67929_1.c +++ /dev/null @@ -1,21 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-effective-target arm_vfp3_ok } */ -/* { dg-options "-O2 -fno-inline" } */ -/* { dg-add-options arm_vfp3 } */ -/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */ - -int -foo (float a) -{ - return a * 4.9f; -} - - -int -main (void) -{ - if (foo (10.0f) != 49) - __builtin_abort (); - - return 0; -} \ No newline at end of file