From: Martin Liska Date: Wed, 20 Feb 2019 09:23:12 +0000 (+0100) Subject: Document Fortran header directive. X-Git-Tag: basepoints/gcc-10~1061 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ac75976af9e976a5ed9a127001a2e6c0ee237f8;p=thirdparty%2Fgcc.git Document Fortran header directive. 2019-02-20 Martin Liska * gfortran.texi: Document Fortran header directive. From-SVN: r269035 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index ae06290ca8bd..525e8a5d68ce 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2019-02-20 Martin Liska + + * gfortran.texi: Document Fortran header directive. + 2019-02-19 Thomas Koenig PR fortran/89384 diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 02ff32f741f1..39441bdd57f1 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -3505,6 +3505,7 @@ as this requires the new array descriptor. @menu * ATTRIBUTES directive:: * UNROLL directive:: +* BUILTIN directive:: @end menu @node ATTRIBUTES directive @@ -3596,6 +3597,25 @@ loop that follows. N is an integer constant specifying the unrolling factor. The values of 0 and 1 block any unrolling of the loop. +@node BUILTIN directive +@subsection BUILTIN directive + +The syntax of the directive is + +@code{!GCC$ BUILTIN (B) attributes simd FLAGS IF('target')} + +You can use this directive to define which middle-end built-ins provide vector +implementations. @code{B} is name of the middle-end built-in. @code{FLAGS} +are optional and must be either "(inbranch)" or "(notinbranch)". +@code{IF} statement is optional and is used to filter multilib ABIs +for the built-in that should be vectorized. Example usage: + +@smallexample +!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64') +@end smallexample + +The purpose of the directive is to provide an API among the GCC compiler and +the GNU C Library which would define vector implementation of math routines. @node Non-Fortran Main Program @section Non-Fortran Main Program