Next: IVDEP directive, Previous: UNROLL directive, Up: GNU Fortran Compiler Directives

#### 6.2.3 BUILTIN directive

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.