| MICROSOFT VISUAL STUDIO INTEGRATIONTo use VectorC from within Microsoft Visual Studio, the easiest way is to use 
the VectorCL.exe program.  When set up, VectorCL will be called instead of 
Microsoft's CL.exe and will itself pass the compilation job onto VectorC or CL. 
VectorC cannot provide browse information (the format is not documented) and cannot put debug information into a .pdb file. It places debug information in the object file, which should not normally be noticable to you.To set up, from the command prompt, use: 
 vectorcl /setupTo remove, from the command prompt, use: vectorcl /remove You can now use VectorC to re-compile your entire project or to compile individual 
source files within your project. To force your entire project to be compiled 
with VectorC, add one or more of the following '/vec' options to the command-line 
options or preprocessor macros in the project settings dialog box (within the 
C/C++ tab). To force one or more source files to be compiled with VectorC and 
the rest with Visual C/C++, select the files you wish to be compiled with VectorC 
and add one or more '/vec' options to the pre-processor definitions field in the 
project settings dialog box.  
To avoid problems with Microsoft Visual Studio, you should add one underscore 
("_") before the /vec options, so it looks like this: "_/vec:pii". 
This is a change from version 1.0 to fix a problem some users have been having. VectorCL will use Visual C/C++ if no '/vec' option appears on its command line 
(including in preprocessor definitions) and VectorC otherwise. 
 To use VectorC on the command line or in a make file, you can just type 'vectorc 
/vc' and then the rest of the command line options can be as CL.exe's command 
line options. 
 The full set of VectorC's /vec options is as follows:- 
 
 
 Target Processor Selection
 
| /vec:k6 | Compile for AMD K6 (uses MMX) |   
| /vec:k6-2 | Compile for AMD K6-2 (uses MMX and 3DNow!) |   
| /vec:athlon | Compile for AMD Athlon (uses MMX and Advanced 3DNow!) - not available in Special Edition
 |   
| /vec:p | Compile for Intel Pentium |   
| /vec:pmmx | Compile for Intel Pentium with MMX |   
| /vec:ppro | Compile for Intel Pentium Pro (uses conditional move and fast FPU compare) |   
| /vec:pii | Compile for Intel Pentium II (uses MMX and extra Pentium Pro instructions) |   
| /vec:piii  | Compile for Intel Pentium III (uses Streaming SIMD Extensions, MMX and extra 
Pentium II instructions) |   
| /vec:p4 | Compile for Intel Pentium 4 (Willamette) - New Intel processor with SSE 2 
- preliminary support - not available in Special Edition |  
 
 
 Optimization Options
 
| /vec /vec:yes
 /vec:no
 | Use VectorC Enable vectorizations
 Disable vectorizations
 |   
| /vec:noaliasarguments | Assume no arguments point to the same memory. See aliasing |   
| /vec:noaliasatomic | Assume pointers that use arithmetic do not point to values with atomic types. 
See aliasing |   
| /vec:nomemorder | Allow re-ordering of all memory accesses. This is likely to produce incorrect 
code, but can help with single functions to increase vectorization. |   
| /vec:noalias | Assume all pointers have "restrict" applied to them. This will often 
not produce correct code, but can help with single functions to increase vectorization. |   
| /vec:single | Use single-precision arithmetic for floats and intrinsics if the arguments 
are single-precision and the results are used in a single-precision expression. 
This can be useful when compiling for 3DNow or SSE because they use single-precision 
values whereas C defines constants and sqrt to be double-precision. |   
| /vec:o0 .. /vec:o10 | Set level of optimization from 0 (produces very slow code) to 10 (produces 
the fastest code, but takes a long time to comile). Optimization settings in between 
will be bumped up for individual functions that are small and have small loops. |   
| /vec:fastftoi | Don't call runtime function to truncate floats when converting to ints. If 
you want truncation, set the FPU mode to round towards zero. |   
| /vec:setfpuprec | If a function does a lot of single-precision arithmetic, then the FPU will 
be put into single-precision mode at the start of the function and at the end 
of the function restored to whatever state it was in at the start. This can speed 
up single-precision divides and intrinsic functions (like sqrt, sin and cos) when 
not using 3DNow! or Streaming SIMD Extensions. It may be better to switch the 
FPU to single-precision at the start of your code. |   
| /vec:uncachedsize n | Automatically prefetch memory accesses from variables larger than n in size. |   
| /vec:cpcalls | Use CodePlay register calling conventions by default |   
| /vec:mmxcalls | Use CodePlay MMX register calling conventions by default |   
| /vec:3dnowcalls | Use CodePlay 3DNow register calling conventions by default |   
| /vec:ssecalls | Use CodePlay SSE register calling conventions by default |   
| /vec:ignorealign | Force the optimizer to vectorize even if it can't determine that alignment 
of pointers is correct. This may cause vectorization to occur in unsuitable situations 
and slow down your code. However, it may also vectorize more code and so speed 
up your program. |  
 
 
 Control Options
 
| /gnu | GNU compatibility - adds some GNU source code extensions |   
| /vec:stats | Prints out statistics from the code generator about vectorization and MMX, 
3D Now! and SSE usage |   
| /vec:advice | Give optimization advice. The Interactive Optimizer uses this option. |   
| /vec:interopt | Execute the Interactive Optimizer before compiling. All compilation options 
will be passed to the Interactive Optimizer |  
 
 |