The syntax of the directive is
!GCC$ BUILTIN (B) attributes simd FLAGS IF('target')
You can use this directive to define which middle-end built-ins provide vector implementations. B
is name of the middle-end built-in. FLAGS
are optional and must be either "(inbranch)" or "(notinbranch)". IF
statement is optional and is used to filter multilib ABIs for the built-in that should be vectorized. Example usage:
!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
The purpose of the directive is to provide an API among the GCC compiler and the GNU C Library which would define vector implementations of math routines.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/BUILTIN-directive.html