diff mbox

[ARM] PR target/67929 Tighten vfp3_const_double_for_bits checks

Message ID 56374AAC.1010505@arm.com
State New
Headers show

Commit Message

Kyrylo Tkachov Nov. 2, 2015, 11:36 a.m. UTC
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.

Thanks,
Kyrill

> Sorry for the trouble,

> Kyrill

>

>>

>>

>> Yvan

>>> regards

>>> Ramana

>>>

>>>> Christophe.

>>>>

>>>>> Yvan

>>>>>

>>>>>> regards

>>>>>> Ramana

>>>>>>

>>>>>>> Cheers,

>>>>>>> Yvan

>>>>>>>

>
diff mbox

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