C/C++ Compiler (cl.hlp) (Table of Contents; Topic list)
Generate Intrinsic Functions (/Oi)
                                             Up Contents Index Back
─────C/C++ Compiler─────────────────────────────────────────────────────────
 
     Syntax:  /Oi
 
     For both 16- and 32-bit targets, this option instructs the
     compiler to replace the following function calls with their inline
     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.
 
     Programs that use intrinsic functions are faster because they do
     not include the overhead associated with function calls. However,
     they can be larger due to the additional code generated.
 
     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 either the huge memory model
     from PWB or with the /AH option on the command line.
 
     With /Oi, you should not link to an alternate math library. Also,
     the following floating-point functions do not have true intrinsic
     forms; they do have versions that pass arguments directly to the
     floating-point chip instead of pushing them on the normal argument
     stack:
 
          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.
                                    -♦-