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.