On 03/29/14 11:24, Jakub Jelinek wrote:
On Thu, Mar 27, 2014 at 02:51:38PM -0400, Vladimir Makarov wrote:
2014-03-27 Vladimir Makarov <vmaka...@redhat.com>
PR rtl-optimization/60650
* gcc.target/arm/pr60650.c: New.
The test fails for me with:
spawn -ignore SIGHUP
/builddir/build/BUILD/gcc-4.9.0-20140328/obj-armv7hl-redhat-linux-gnueabi/gcc/xgcc
-B/builddir/build/BUILD/gcc-4.9.0-20140328/obj-armv7hl-redhat-linux-gnueabi/gcc/builddir/build/BUILD/gcc-4.9.0-20140328/gcc/testsuite/gcc.target/arm/pr60650.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -O2
-fno-omit-frame-pointer -mabi=apcs-gnu -march=armv7-a -S -o pr60650.s
/builddir/build/BUILD/gcc-4.9.0-20140328/gcc/testsuite/gcc.target/arm/pr60650.c:1:0:
sorry, unimplemented: -mfloat-abi=hard and VFP
compiler exited with status 1
Does one have to pass -mfloat-abi= option too unconditionally?
Can somebody from the ARM/Linaro people handle this?
Since, this testcase came from the kernel, you could compile this soft /
softfp to make the problem go away and that would be quite reasonable.
Attached is what I've applied to trunk after
1. testing cross arm-none-eabi with a hardfp multilib - hardfp multilib
marks as unsupported but softfp passes.
2. testing native hardfp which is default on distros, test passes.
Given there are enough autotesters that do these 2 variations we'll
catch failures if any with this testcase.
regards
Ramana
Also:
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr60650.c
...
+ asm ("1\t.long ");
This asm looks quite bogus, and with
asm ("");
it ICEs the same way, can it be changed?
+ __builtin_unreachable ();
+ }
+}
Jakub
--
Ramana Radhakrishnan
Principal Engineer
ARM Ltd.
diff --git a/gcc/testsuite/gcc.target/arm/pr60650.c
b/gcc/testsuite/gcc.target/arm/pr60650.c
index bfa7f1e..17a5ed4 100644
--- a/gcc/testsuite/gcc.target/arm/pr60650.c
+++ b/gcc/testsuite/gcc.target/arm/pr60650.c
@@ -1,5 +1,7 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-omit-frame-pointer -mabi=apcs-gnu -march=armv7-a" }
*/
+/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" }
{"-mfloat-abi=softfp" } } */
+/* { dg-options "-O2 -fno-omit-frame-pointer -mabi=apcs-gnu
-mfloat-abi=softfp" } */
+
struct super_block
{