Getting the most out of target machine options

Using -qarch options

If your application will run on the same machine on which you are compiling it, you can use the -qarch=auto option, which automatically detects the specific architecture of the compiling machine, and generates code to take advantage of instructions available only on that machine (or on a system that supports the equivalent processor architecture). Otherwise, try to specify with -qarch the smallest family of machines possible that will be expected to run your code reasonably well, or use the -qipa=clonearch option, which will generate instructions for multiple architectures. Note that if you use -qipa=clonearch, the-qarch value must be in the family of architectures specified by the clonearch suboption.

Using -qtune options

If you specify a particular architecture with -qarch, -qtune will automatically select the suboption that generates instruction sequences with the best performance for that architecture. If you specify a group of architectures with -qarch, compiling with -qtune=auto will generate code that runs on all of the architectures in the specified group, but the instruction sequences will be those with the best performance on the architecture of the compiling machine.

Try to specify with -qtune the particular architecture that the compiler should target for best performance but still allow execution of the produced object file on all architectures specified in the-qarch option. For information on the valid combinations of -qarch and -qtune, see "Acceptable Compiler Mode and Processor Architecture Combinations".

Using -qcache options

Before using the -qcache option, use the -qlistopt option to generate a listing of the current settings and verify if they are satisfactory. If you decide to specify your own -qcache suboptions, use -qhot or -qsmp along with it. For the full set of suboptions, option syntax, and guidelines for use, see -qcache.