This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM] PR target/67929 Tighten vfp3_const_double_for_bits checks
- From: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- To: Yvan Roux <yvan dot roux at linaro dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at foss dot arm dot com>
- Cc: Christophe Lyon <christophe dot lyon at linaro dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Mon, 02 Nov 2015 11:36:12 +0000
- Subject: Re: [PATCH][ARM] PR target/67929 Tighten vfp3_const_double_for_bits checks
- Authentication-results: sourceware.org; auth=none
- References: <561E4941 dot 6030204 at arm dot com> <CAJA7tRb86KziwJrB9tB-=7b5h6kY=AnHJFa3GAR_hA4sCP7dRw at mail dot gmail dot com> <CAD57uCc19EnKh7uamjimE5RsdyeK5hVgAD=a9vpTm5Og6b=_3A at mail dot gmail dot com> <563720F1 dot 3070903 at foss dot arm dot com> <CAD57uCeAow38sjwN6ztaND0TTrKf-fe-WfYJgbwhnAi_LNybDA at mail dot gmail dot com> <CAKdteOYCAQMqO1e2GaXTTxS52iH4_Wu4BWzvr63YsqOQtrin8g at mail dot gmail dot com> <56372BDD dot 7060005 at foss dot arm dot com> <CAD57uCfe6Q2emju9CWoKQy4zmUiG50sN5VXW7US1GXqQfE2O6w at mail dot gmail dot com> <56372D16 dot 4020103 at arm dot com>
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
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