[AArch64] Add reference to ACLE and consolidate documentation.
authorbelagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Nov 2014 08:42:41 +0000 (08:42 +0000)
committerbelagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Nov 2014 08:42:41 +0000 (08:42 +0000)
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

gcc/ChangeLog
gcc/Makefile.in
gcc/doc/extend.texi

index 6c6a325..77bd3ee 100644 (file)
@@ -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
index 0ab3476..6f98ca1 100644 (file)
@@ -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,
index cba3884..36127b5 100644 (file)
@@ -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