summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbelagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-12 08:42:41 +0000
committerbelagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-12 08:42:41 +0000
commit40e9de1d6060410bb7ce98a6e8bdddc97ead6feb (patch)
treea27001ba91e87110bb655fbbf268ea43c7c3d9f0
parent31d696faaf1d98c803a1acba79eba45f9255df9f (diff)
downloadgcc-40e9de1d6060410bb7ce98a6e8bdddc97ead6feb.tar.gz
[AArch64] Add reference to ACLE and consolidate documentation.
2014-11-12 Tejas Belagod <tejas.belagod@arm.com> * Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi, arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi. * doc/aarch64-acle-intrinsics.texi: Remove. * doc/arm-acle-intrinsics.texi: Remove. * doc/arm-neon-intrinsics.texi: Remove. * doc/extend.texi: Consolidate sections AArch64 intrinsics, ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language Extension section. Add references to public ACLE specification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217405 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/Makefile.in4
-rw-r--r--gcc/doc/extend.texi36
3 files changed, 32 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6c6a32541b6..77bd3ee4c96 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2014-11-12 Tejas Belagod <tejas.belagod@arm.com>
+
+ * Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi,
+ arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi.
+ * doc/aarch64-acle-intrinsics.texi: Remove.
+ * doc/arm-acle-intrinsics.texi: Remove.
+ * doc/arm-neon-intrinsics.texi: Remove.
+ * doc/extend.texi: Consolidate sections AArch64 intrinsics,
+ ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language
+ Extension section. Add references to public ACLE specification.
+
2014-11-11 Patrick Palka <ppalka@gcc.gnu.org>
* tree-vrp.c (register_edge_assert_for_2): Change return type to
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 0ab3476d517..6f98ca118db 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2874,9 +2874,7 @@ TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \
gcov.texi trouble.texi bugreport.texi service.texi \
contribute.texi compat.texi funding.texi gnu.texi gpl_v3.texi \
fdl.texi contrib.texi cppenv.texi cppopts.texi avr-mmcu.texi \
- implement-c.texi implement-cxx.texi arm-neon-intrinsics.texi \
- arm-acle-intrinsics.texi aarch64-acle-intrinsics.texi \
- gcov-tool.texi
+ implement-c.texi implement-cxx.texi gcov-tool.texi
# we explicitly use $(srcdir)/doc/tm.texi here to avoid confusion with
# the generated tm.texi; the latter might have a more recent timestamp,
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index cba38847e67..36127b56ace 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -9986,14 +9986,12 @@ instructions, but allow the compiler to schedule those calls.
@menu
* AArch64 Built-in Functions::
-* AArch64 intrinsics::
* Alpha Built-in Functions::
* Altera Nios II Built-in Functions::
* ARC Built-in Functions::
* ARC SIMD Built-in Functions::
* ARM iWMMXt Built-in Functions::
-* ARM NEON Intrinsics::
-* ARM ACLE Intrinsics::
+* ARM C Language Extensions (ACLE)::
* ARM Floating Point Status and Control Intrinsics::
* AVR Built-in Functions::
* Blackfin Built-in Functions::
@@ -10032,11 +10030,6 @@ unsigned int __builtin_aarch64_get_fpsr ()
void __builtin_aarch64_set_fpsr (unsigned int)
@end smallexample
-@node AArch64 intrinsics
-@subsection ACLE Intrinsics for AArch64
-
-@include aarch64-acle-intrinsics.texi
-
@node Alpha Built-in Functions
@subsection Alpha Built-in Functions
@@ -10800,18 +10793,29 @@ long long __builtin_arm_wxor (long long, long long)
long long __builtin_arm_wzero ()
@end smallexample
-@node ARM NEON Intrinsics
-@subsection ARM NEON Intrinsics
-These built-in intrinsics for the ARM Advanced SIMD extension are available
-when the @option{-mfpu=neon} switch is used:
+@node ARM C Language Extensions (ACLE)
+@subsection ARM C Language Extensions (ACLE)
+
+GCC implements extensions for C as described in the ARM C Language
+Extensions (ACLE) specification, which can be found at
+@uref{http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf}.
-@include arm-neon-intrinsics.texi
+As a part of ACLE, GCC implements extensions for Advanced SIMD as described in
+the ARM C Language Extensions Specification. The complete list of Advanced SIMD
+intrinsics can be found at
+@uref{http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf}.
+The built-in intrinsics for the Advanced SIMD extension are available when
+NEON is enabled.
-@node ARM ACLE Intrinsics
-@subsection ARM ACLE Intrinsics
+Currently, ARM and AArch64 back-ends do not support ACLE 2.0 fully. Both
+back-ends support CRC32 intrinsics from @file{arm_acle.h}. The ARM backend's
+16-bit floating-point Advanded SIMD Intrinsics currently comply to ACLE v1.1.
+AArch64's backend does not have support for 16-bit floating point Advanced SIMD
+Intrinsics yet.
-@include arm-acle-intrinsics.texi
+See @ref{ARM Options} and @ref{AArch64 Options} for more information on the
+availability of extensions.
@node ARM Floating Point Status and Control Intrinsics
@subsection ARM Floating Point Status and Control Intrinsics