aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/g-ssvety.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2009-07-23 12:32:41 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2009-07-23 14:32:41 +0200
commitd994a6e28cbd12d699d5cf522742d9cd3e84997a (patch)
tree3752b7e04be521a2c71dc27e920ad9ddbe98d5ea /gcc/ada/g-ssvety.ads
parent19f21e1133746fa91c6a68e7514fb51968f45050 (diff)
downloadgcc-d994a6e28cbd12d699d5cf522742d9cd3e84997a.zip
gcc-d994a6e28cbd12d699d5cf522742d9cd3e84997a.tar.gz
gcc-d994a6e28cbd12d699d5cf522742d9cd3e84997a.tar.bz2
einfo.ads, [...]: Add comment.
2009-07-23 Robert Dewar <dewar@adacore.com> * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Add comment. Minor reformatting. From-SVN: r150001
Diffstat (limited to 'gcc/ada/g-ssvety.ads')
-rw-r--r--gcc/ada/g-ssvety.ads27
1 files changed, 13 insertions, 14 deletions
diff --git a/gcc/ada/g-ssvety.ads b/gcc/ada/g-ssvety.ads
index 42cd24b..42e49bf 100644
--- a/gcc/ada/g-ssvety.ads
+++ b/gcc/ada/g-ssvety.ads
@@ -32,14 +32,14 @@
-- This unit exposes the Ada __m128 like data types to represent the contents
-- of SSE registers, for use by bindings to the SSE intrinsic operations.
--- See GNAT.SSE for the list of targets where this facility is supported.
+-- See GNAT.SSE for the list of targets where this facility is supported
package GNAT.SSE.Vector_Types is
- -- The reference guide states a few usage guidelines for the C types :
+ -- The reference guide states a few usage guidelines for the C types:
- -- << Since these new data types are not basic ANSI C data types, you
- -- must observe the following usage restrictions:
+ -- Since these new data types are not basic ANSI C data types, you
+ -- must observe the following usage restrictions:
--
-- * Use new data types only on either side of an assignment, as a
-- return value, or as a parameter. You cannot use it with other
@@ -51,21 +51,20 @@ package GNAT.SSE.Vector_Types is
-- * Use new data types only with the respective intrinsics described
-- in this documentation. >>
- type m128 is private; -- SSE >= 1
+ type m128 is private; -- SSE >= 1
type m128d is private; -- SSE >= 2
type m128i is private; -- SSE >= 2
private
+ -- Each of the m128 types maps to a specific vector_type with an extra
+ -- "may_alias" attribute as in GCC's definitions for C, for instance in
+ -- xmmintrin.h:
- -- Each of the m128 types maps to a specific vector_type with
- -- an extra "may_alias" attribute as in GCC's definitions for C,
- -- for instance in xmmintrin.h:
- --
-- /* The Intel API is flexible enough that we must allow aliasing
-- with other vector types, and their scalar components. */
-- typedef float __m128
-- __attribute__ ((__vector_size__ (16), __may_alias__));
- --
+
-- /* Internal data types for implementing the intrinsics. */
-- typedef float __v4sf __attribute__ ((__vector_size__ (16)));
@@ -73,7 +72,7 @@ private
-- M128 --
------------
- -- << The __m128 data type can hold four 32-bit floating-point values. >>
+ -- The __m128 data type can hold four 32-bit floating-point values
type m128 is array (1 .. 4) of Float32;
for m128'Alignment use VECTOR_ALIGN;
@@ -84,7 +83,7 @@ private
-- m128d --
-------------
- -- << The __m128d data type can hold two 64-bit floating-point values. >>
+ -- The __m128d data type can hold two 64-bit floating-point values
type m128d is array (1 .. 2) of Float64;
for m128d'Alignment use VECTOR_ALIGN;
@@ -95,8 +94,8 @@ private
-- m128i --
-------------
- -- << The __m128i data type can hold sixteen 8-bit, eight 16-bit, four
- -- 32-bit, or two 64-bit integer values. >>
+ -- The __m128i data type can hold sixteen 8-bit, eight 16-bit, four 32-bit,
+ -- or two 64-bit integer values.
type m128i is array (1 .. 2) of Integer64;
for m128i'Alignment use VECTOR_ALIGN;