[multiple changes]
2009-07-28 Olivier Hainque <hainque@adacore.com> * 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 <rybin@adacore.com> * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update for the new format of the report file. From-SVN: r150146
This commit is contained in:
parent
ecb955bcf2
commit
5391897dbe
|
@ -1,3 +1,16 @@
|
|||
2009-07-28 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* 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 <rybin@adacore.com>
|
||||
|
||||
* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
|
||||
for the new format of the report file.
|
||||
|
||||
2009-07-28 Sergey Rybin <rybin@adacore.com>
|
||||
|
||||
* gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 --
|
||||
-- <http://www.gnu.org/licenses/>. --
|
||||
-- --
|
||||
-- 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;
|
|
@ -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
|
||||
|
|
|
@ -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<mlib-tgt-specific-linux.adb \
|
||||
indepsw.adb<indepsw-gnu.adb
|
||||
|
||||
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
|
||||
EH_MECHANISM=-gcc
|
||||
THREADSLIB=-lpthread
|
||||
|
|
|
@ -382,7 +382,6 @@ The GNAT Library
|
|||
* GNAT.Spitbol.Table_Integer (g-sptain.ads)::
|
||||
* GNAT.Spitbol.Table_VString (g-sptavs.ads)::
|
||||
* GNAT.SSE (g-sse.ads)::
|
||||
* GNAT.SSE.Internal_Types (g-ssinty.ads)::
|
||||
* GNAT.SSE.Vector_Types (g-ssvety.ads)::
|
||||
* GNAT.Strings (g-string.ads)::
|
||||
* GNAT.String_Split (g-strspl.ads)::
|
||||
|
@ -13572,7 +13571,6 @@ of GNAT, and will generate a warning message.
|
|||
* GNAT.Spitbol.Table_Integer (g-sptain.ads)::
|
||||
* GNAT.Spitbol.Table_VString (g-sptavs.ads)::
|
||||
* GNAT.SSE (g-sse.ads)::
|
||||
* GNAT.SSE.Internal_Types (g-ssinty.ads)::
|
||||
* GNAT.SSE.Vector_Types (g-ssvety.ads)::
|
||||
* GNAT.Strings (g-string.ads)::
|
||||
* GNAT.String_Split (g-strspl.ads)::
|
||||
|
@ -14643,15 +14641,6 @@ the Intel(r) Streaming SIMD Extensions with GNAT on the x86 family of
|
|||
targets. It exposes vector component types together with a general
|
||||
introduction to the binding contents and use.
|
||||
|
||||
@node GNAT.SSE.Internal_Types (g-ssinty.ads)
|
||||
@section @code{GNAT.SSE.Internal_Types} (@file{g-ssinty.ads})
|
||||
@cindex @code{GNAT.SSE.Internal_Types} (@file{g-ssinty.ads})
|
||||
|
||||
@noindent
|
||||
Low level GCC vector types for direct use of the vector related
|
||||
builtins, required for the development of higher level bindings to SSE
|
||||
intrinsic operations.
|
||||
|
||||
@node GNAT.SSE.Vector_Types (g-ssvety.ads)
|
||||
@section @code{GNAT.SSE.Vector_Types} (@file{g-ssvety.ads})
|
||||
@cindex @code{GNAT.SSE.Vector_Types} (@file{g-ssvety.ads})
|
||||
|
|
|
@ -20712,14 +20712,13 @@ named named @file{^gnatcheck.out^GNATCHECK.OUT^} and it is located in the curren
|
|||
directory, @option{^-o^/OUTPUT^} option can be used to change the name and/or
|
||||
location of the report file. This report contains:
|
||||
@itemize @bullet
|
||||
@item a list of the Ada source files being checked,
|
||||
@item a list of enabled and disabled rules,
|
||||
@item a list of the diagnostic messages, ordered in three different ways
|
||||
and collected in three separate
|
||||
sections. Section 1 contains the raw list of diagnostic messages. It
|
||||
corresponds to the output going to @file{stdout}. Section 2 contains
|
||||
messages ordered by rules.
|
||||
Section 3 contains messages ordered by source files.
|
||||
@item date and time of @command{gnatcheck} run, the version of
|
||||
the tool that has generated this report and the full paarmeters
|
||||
of the @command{gnatcheck} invocation;
|
||||
@item the list of enabled rules;
|
||||
@item the total number of detected violations;
|
||||
@item list of source files for that rule violations have been detected;
|
||||
@item list of source files with no violations detected;
|
||||
@end itemize
|
||||
|
||||
@node General gnatcheck Switches
|
||||
|
|
Loading…
Reference in New Issue