Copyright Digital Equipment Corp. All rights reserved.

Builtin_Functions

 Built-in functions allow you to directly access hardware and
 machine instructions to perform operations that are cumbersome,
 slow, or impossible in pure C.

 These functions are very efficient because they are built into the
 VSI C compiler.  This means that a call to one of these functions
 does not result in a reference to a function in the C run-time
 library or in your programs.  Instead, the compiler generates the
 machine instructions necessary to carry out the function directly
 at the call site.  Because most of these built-in functions closely
 correspond to single VAX, Alpha, or Itanium machine instructions,
 the result is small, fast code.

 Some of these functions (such as those that operate on strings or
 bits) are of general interest.  Others (such as the functions
 dealing with process context) are of interest if you are writing
 device drivers or other privileged software.  Some of the functions
 are privileged and unavailable to user mode programs.

 Be sure to include the <builtins.h> header file in your source
 program to access these built-in functions.

 VSI C supports the #pragma builtins preprocessor directive for
 compatibility with VAX C, but it is not required.

 Some of the built-in functions have optional arguments or allow a
 particular argument to have one of many different types.  To
 describe different valid combinations of arguments, the description
 of each built-in function may list several different prototypes for
 the function.  As long as a call to a built-in function matches one
 of the prototypes listed, the call is valid.  Furthermore, any
 valid call to a built-in function acts as if the corresponding
 prototype was in scope, so the compiler performs the argument
 checking and argument conversions specified by that prototype.

 The majority of the built-in functions are named after the machine
 instruction that they generate.  For more information on these
 built-in functions, see the documentation on the corresponding
 machine instruction.  In particular, see that reference for the
 structure of queue entries manipulated by the queue built-in
 functions.


Additional information available:

Alpha_Compatibility                 __break         __break2
__CMP_SWAP_LONG __CMP_SWAP_QUAD __CMP_SWAP_LONG_ACQ
__CMP_SWAP_QUAD_ACQ             __CMP_SWAP_LONG_REL
__CMP_SWAP_QUAD_REL             __RETURN_ADDRESS                __dsrlz
__fc            __flushrs       __fwb           __getIndReg     __getReg
_InterlockedCompareExchange_acq _InterlockedCompareExchange64_acq
_InterlockedCompareExchange_rel _InterlockedCompareExchange64_rel
__invalat       __invala        __isrlz         __itcd          __itci
__itrd          __itri          __loadrs        __prober        __probew
__ptce          __ptcl          __ptcg          __ptcga         __ptri
__ptrd          __rum           __rsm           __setIndReg     __setReg
__ssm           __sum           __synci         __tak           __tpa
__thash         __ttag