From 4a50e4f349774223316277a0192c96e2270ba8c6 Mon Sep 17 00:00:00 2001 From: jsm28 Date: Fri, 29 Sep 2006 23:55:30 +0000 Subject: gcc/ * doc/extend.texi (ARM NEON Intrinsics): Note that only intrinsics not the underlying built-in functions are supported. Document types used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@117322 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog.csl | 7 +++++++ gcc/doc/extend.texi | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/ChangeLog.csl b/ChangeLog.csl index c363b6b84c8..9019b3d2c26 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,10 @@ +2006-09-29 Joseph Myers + + gcc/ + * doc/extend.texi (ARM NEON Intrinsics): Note that only intrinsics + not the underlying built-in functions are supported. Document + types used. + 2006-09-29 Julian Brown * Merge from CSL arm-neon-4_1 branch, revision 150297. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index fced27683ac..ff3040e9d0a 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -6052,8 +6052,40 @@ long long __builtin_arm_wzero () @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: +These built-in intrinsics for the ARM Advanced SIMD extension are +available when the @option{-mfpu=neon} switch is used. These +intrinsics are defined in @code{}. + +@emph{Note:} Only the @code{} interface is supported. +Internally, GCC uses built-in functions to achieve the functionality +in the aforementioned header file, but they are not supported and are +subject to change without notice. + +For scalars, these intrinsics use the standard types @code{int8_t}, +@code{int16_t}, @code{int32_t}, @code{int64_t}, @code{uint8_t}, +@code{uint16_t}, @code{uint32_t} and @code{uint64_t} from +@code{}, as well as @code{float32_t} for single-precision +floating-point values and @code{poly8_t} and @code{poly16_t} for +polynomials. + +For vectors, the intrinsics support 64-bit and 128-bit vectors whose +elements are one of the above types. The type +@code{@var{T}x@var{N}_t} is a vector of @var{N} elements of type +@code{@var{T}_t} (for example, @code{int16x8_t}). These types should +be considered as opaque types that can only be used via these +intrinsics. + +Some intrinsics use structures containing two, three or four vectors. +Such structures are named @code{@var{V}x@var{M}_t} for a vector type +@var{V}, and contain a single element, an array called @code{val} +whose elements are of the vector type. For example: + +@smallexample +typedef struct int16x8x3_t +@{ + int16x8_t val[3]; +@} int16x8x3_t; +@end smallexample @include arm-neon-intrinsics.texi -- cgit v1.2.3