C Language and Libraries Help (clang.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
intrinsic, function
◄Up► ◄Contents► ◄Index► ◄Back►
─────C/C++ Language─────────────────────────────────────────────────────────
Pragma: intrinsic, function
Syntax: #pragma intrinsic( function1 [, function2, ...] )
#pragma function( function1 [, function2, ...] )
Summary: Specifies that calls to the specified functions will
be intrinsic or normal.
The intrinsic pragma option tells the compiler to generate
intrinsic functions instead of function calls for specified
functions. Alternatively, you can use the /Oi option to make
intrinsic the default form for functions that have intrinsic
forms. In this case, you can use the function pragma to override
/Oi for specified functions.
Intrinsic functions may be inline functions, or may use special
argument-passing conventions. In some cases, they may do nothing.
Programs that use intrinsic functions are faster because they do
not include the overhead associated with function calls. However,
they may be larger because of the additional code that is
generated.
The following functions have intrinsic forms:
Function 16 32 Function 16 32
_alloca * _outpw * *
_disable * * _rotl * *
_enable * * _rotr * *
_fmemcmp * _setjmp *
_fmemcpy * _strset * *
_fmemset * abs * *
_fstrcat * fabs * *
_fstrcmp * labs * *
_fstrcpy * memcmp * *
_fstrlen * memcpy * *
_fstrset * memset * *
_inp * * strcat * *
_inpw * * strcmp * *
_lrotl * * strcpy * *
_lrotr * * strlen * *
_outp * *
In this table, a function's availability for 16- or 32-bit
targets is specified by an '*' in either the 16 or the 32
column.
Intrinsic versions of the memset, memcpy, and memcmp functions in
compact- and large-model programs cannot handle huge arrays or
huge pointers. To use huge arrays or huge pointers with these
functions, you must compile your program with the huge memory
model.
When the intrinsic pragma is used with the following functions,
the function argument calling convention is changed to pass the
arguments on the floating-point chip:
Function 16 32 Function 16 32
acos * * _acosl *
asin * * _asinl *
atan * * _atanl *
atan2 * * _atan2l *
ceil * _ceill *
cos * * _cosl *
cosh * * _coshl *
exp * * _expl *
floor * _floorl *
fmod * * _fmodl *
log * * _logl *
log10 * * _log10l *
pow * * _powl *
sin * * _sinl *
sinh * * _sinhl *
sqrt * * _sqrtl *
tan * * _tanl *
tanh * * _tanhl *
In this table, a function's availability for 16- or 32-bit
targets is specified by an '*' in either the 16 or the 32
column.
The intrinsic pragma affects a specified function beginning where
the pragma appears. The effect continues to the end of the source
file or to the appearance of a function pragma specifying that
function.
-♦-