-qvector
In z/OS® XL C/C++, the -qvector option enables the vector programming support and automatically takes advantage of vector instructions for a runtime environment that supports them.
In Open XL C/C++ for z/OS,
-mvx, -mzvector, -fvectorize, and
-fslp-vectorize provide similar functions as -qvector.
- -mvx
- Generates code by using the instructions that are available with the vector extension facility that is introduced with IBM z13® or later. -mvx is enabled by default when -march=z13 or newer is in effect. To disable vector code generation, specify -mno-vx.
- -mzvector
- Enables vector programming support using instructions available with the vector extension facility introduced with IBM z13 or newer. -mno-zvector is the default.
- -fvectorize
- Enables the loop vectorization passes. -fvectorize is enabled by default when -mvx is in effect.
- -fslp-vectorize
- Enables the superword-level parallelism vectorization passes. -fslp-vectorize is enabled by default when -mvx is in effect.
In Open XL C/C++ for z/OS,
some of the -qvector suboptions have functionally equivalent options as shown in
the following table.
| Options supported by z/OS XL C/C++ | Similar/equivalent options supported by Open XL C/C++ for z/OS |
|---|---|
| -qvector=autosimd | -mvx, -mzvector, -fvectorize, and -fslp-vectorize |
| -qvector=noautosimd | -mvx, -mzvector, -fno-vectorize, and -fno-slp-vectorize |
| -qvector=type | -mvx and -mzvector |
| -qvector=notype | -mvx and -mzvector (Note: not exact equivalent, as it
exposes not just the __vector data types, but also the vector data
types.) |
| -qvector=type=autosimd | -mvx, -mzvector, -fvectorize, and -fslp-vectorize |
Related information
- Vector programming support in the Compiler Reference
- Clang command line argument reference