diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 476e505fc5e..6dbd480dbff 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,16 @@ +2009-07-28 Olivier Hainque + + * g-ssinty.ads: Remove, pointless and just confusing at this stage. + * gnat_rm.texi: Remove documentation. + * g-sse.ads: Minor reorg along the way. + * gcc-interface/Makefile.in: Remove processing for g-ssinty. + * g-ssvety.ads: Minor comment updates. + +2009-07-28 Sergey Rybin + + * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update + for the new format of the report file. + 2009-07-28 Sergey Rybin * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc. diff --git a/gcc/ada/g-sse.ads b/gcc/ada/g-sse.ads index 04eb6d5a914..706516b9830 100644 --- a/gcc/ada/g-sse.ads +++ b/gcc/ada/g-sse.ads @@ -108,9 +108,10 @@ -- end SSE_Base; package GNAT.SSE is - type Float32 is new Float; - type Float64 is new Long_Float; - type Integer64 is new Long_Long_Integer; + + ----------------------------------- + -- Common vector characteristics -- + ----------------------------------- VECTOR_BYTES : constant := 16; -- Common size of all the SSE vector types, in bytes. @@ -125,4 +126,12 @@ package GNAT.SSE is -- We apply that consistently to all the Ada vector types, as GCC does -- for the corresponding C types. + ---------------------------- + -- Vector component types -- + ---------------------------- + + type Float32 is new Float; + type Float64 is new Long_Float; + type Integer64 is new Long_Long_Integer; + end GNAT.SSE; diff --git a/gcc/ada/g-ssinty.ads b/gcc/ada/g-ssinty.ads deleted file mode 100644 index becdc7661d6..00000000000 --- a/gcc/ada/g-ssinty.ads +++ /dev/null @@ -1,77 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT COMPILER COMPONENTS -- --- -- --- G N A T . S S E . I N T E R N A L _ T Y P E S -- --- -- --- S p e c -- --- -- --- Copyright (C) 2009, Free Software Foundation, Inc. -- --- -- --- GNAT is free software; you can redistribute it and/or modify it under -- --- terms of the GNU General Public License as published by the Free Soft- -- --- ware Foundation; either version 3, or (at your option) any later ver- -- --- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- --- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. -- --- -- --- As a special exception under Section 7 of GPL version 3, you are granted -- --- additional permissions described in the GCC Runtime Library Exception, -- --- version 3.1, as published by the Free Software Foundation. -- --- -- --- You should have received a copy of the GNU General Public License and -- --- a copy of the GCC Runtime Library Exception along with this program; -- --- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- --- . -- --- -- --- GNAT was originally developed by the GNAT team at New York University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- --- -- ------------------------------------------------------------------------------- - --- This unit exposes low level types to interface with the GCC vector --- builtins directly. These are useful for the development of higher level --- bindings to the reference Intel intrinsic operations. - --- See GNAT.SSE for the list of targets where this facility is supported. - -package GNAT.SSE.Internal_Types is - - type v4sf is private; - type v2df is private; - type v2di is private; - -private - - -- GCC'wise, vector operations operate on objects of vector modes, - -- conveyed through vector types obtained in C by setting an attribute on - -- what looks like a component typedef. For example, in xmmintrin.h: - -- - -- typedef float __v4sf __attribute__ ((__vector_size__ (16))); - - -- Applying a 'vector_size' machine attribute in Ada, as in - -- - -- type Vf is new Float; - -- pragma Machine_Attribute (Vf, "vector_size", 16); - -- - -- makes Vf a 16bytes long V4SFmode GCC type but the effect on the type - -- layout is not conveyed to the front-end. The latter still sees "Vf" - -- as a 4bytes long single float, with numerous potential pitfalls. - - -- We devised a 'vector_type' alternate machine attribute, which applies - -- to array types of the proper size and alignment from the front-end - -- perspective: - - type v4sf is array (1 .. 4) of GNAT.SSE.Float32; - for v4sf'Alignment use GNAT.SSE.VECTOR_ALIGN; - pragma Machine_Attribute (v4sf, "vector_type"); - - type v2di is array (1 .. 2) of GNAT.SSE.Integer64; - for v2di'Alignment use GNAT.SSE.VECTOR_ALIGN; - pragma Machine_Attribute (v2di, "vector_type"); - - type v2df is array (1 .. 2) of GNAT.SSE.Float64; - for v2df'Alignment use GNAT.SSE.VECTOR_ALIGN; - pragma Machine_Attribute (v2df, "vector_type"); - -end GNAT.SSE.Internal_Types; diff --git a/gcc/ada/g-ssvety.ads b/gcc/ada/g-ssvety.ads index 42e49bf5d83..c40706474a4 100644 --- a/gcc/ada/g-ssvety.ads +++ b/gcc/ada/g-ssvety.ads @@ -49,7 +49,7 @@ package GNAT.SSE.Vector_Types is -- access the byte elements and structures. -- -- * Use new data types only with the respective intrinsics described - -- in this documentation. >> + -- in this documentation. type m128 is private; -- SSE >= 1 type m128d is private; -- SSE >= 2 @@ -69,7 +69,7 @@ private -- typedef float __v4sf __attribute__ ((__vector_size__ (16))); ------------ - -- M128 -- + -- m128 -- ------------ -- The __m128 data type can hold four 32-bit floating-point values diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 0e8080853fa..d487716cc53 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1052,7 +1052,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),) endif THREADSLIB = -lpthread - EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o g-ssinty.o + EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o EXTRA_GNATRTL_TASKING_OBJS=s-linux.o endif @@ -1593,7 +1593,7 @@ ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),) endif EXTRA_GNATRTL_NONTASKING_OBJS = \ - s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o g-ssinty.o + s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o MISCLIB = -lws2_32 @@ -2003,7 +2003,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),) mlib-tgt-specific.adb