aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-02-20 10:23:12 +0100
committerMartin Liska <marxin@gcc.gnu.org>2019-02-20 09:23:12 +0000
commit7ac75976af9e976a5ed9a127001a2e6c0ee237f8 (patch)
tree3f39d851e9f4727c7d5acf2d27c4b4c077cc1753 /gcc
parentea1c2a95bad9e11a1355f9ecd8f310f8eef1b718 (diff)
downloadgcc-7ac75976af9e976a5ed9a127001a2e6c0ee237f8.zip
gcc-7ac75976af9e976a5ed9a127001a2e6c0ee237f8.tar.gz
gcc-7ac75976af9e976a5ed9a127001a2e6c0ee237f8.tar.bz2
Document Fortran header directive.
2019-02-20 Martin Liska <mliska@suse.cz> * gfortran.texi: Document Fortran header directive. From-SVN: r269035
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog4
-rw-r--r--gcc/fortran/gfortran.texi20
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ae06290..525e8a5 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,7 @@
+2019-02-20 Martin Liska <mliska@suse.cz>
+
+ * gfortran.texi: Document Fortran header directive.
+
2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/89384
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index 02ff32f..39441bd 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