aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2015-01-14 12:03:22 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2015-01-14 12:03:22 +0000
commit2a62514fca6566e85dcc84e1c5b8e91a3207e1d1 (patch)
treeab7a53f404757fdcb0f62ec1e20f2ee6d197538d /gcc
parent3bbbd3ee8ef6288e8607827aa0083d840a9a61b4 (diff)
downloadgcc-2a62514fca6566e85dcc84e1c5b8e91a3207e1d1.zip
gcc-2a62514fca6566e85dcc84e1c5b8e91a3207e1d1.tar.gz
gcc-2a62514fca6566e85dcc84e1c5b8e91a3207e1d1.tar.bz2
[AArch64] Error out of arm_neon.h if nofp/nosimd
* config/aarch64/arm_neon.h: Error out if AdvancedSIMD is not available. * gcc.target/aarch64/arm_neon-nosimd-error.c: New test. From-SVN: r219594
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/arm_neon.h6
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/arm_neon-nosimd-error.c11
4 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dcf97dd..857531f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
+ is not available.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
* doc/invoke.texi (mapcs): Mention deprecation.
(mapcs-frame): Likewise.
diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
index 3d1bcd5..c679802 100644
--- a/gcc/config/aarch64/arm_neon.h
+++ b/gcc/config/aarch64/arm_neon.h
@@ -27,6 +27,10 @@
#ifndef _AARCH64_NEON_H_
#define _AARCH64_NEON_H_
+#ifndef __ARM_NEON
+#error You must enable AdvancedSIMD instructions to use arm_neon.h
+#else
+
#include <stdint.h>
#define __AARCH64_UINT64_C(__C) ((uint64_t) __C)
@@ -25209,3 +25213,5 @@ __INTERLEAVE_LIST (zip)
#undef __aarch64_vdupq_laneq_u64
#endif
+
+#endif
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6429922..6bb356c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/arm_neon-nosimd-error.c: New test.
+
2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR target/64453
diff --git a/gcc/testsuite/gcc.target/aarch64/arm_neon-nosimd-error.c b/gcc/testsuite/gcc.target/aarch64/arm_neon-nosimd-error.c
new file mode 100644
index 0000000..6c508ec
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/arm_neon-nosimd-error.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-mgeneral-regs-only" } */
+/* { dg-excess-errors "You must enable" } */
+
+#include "arm_neon.h"
+
+int
+foo ()
+{
+ return 0;
+}