Chapter 23.Intel 80960 Dependent Features23.1. i960 Command-line Options-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMCSelect the 80960 architecture. Instructions or features not supported by the selected architecturecause fatal errors.-ACA is equivalent to -ACA_A; -AKC is equivalent to -AMC. Synonyms are provided for compat-ibility with other tools.If you do not specify any of these options, as generates code for any instruction or feature that issupported by some version of the 960 (even if this means mixing architectures!). In principle, asattempts to deduce the minimal sufficient processor type if none is specified; depending on theobject code format, the processor type may be recorded in the object file. If it is critical that theas output match a specific architecture, specify that architecture explicitly.-bAdd code to collect information about conditional branches taken, for later optimization usingbranch prediction bits. (The conditional branch instructions have branch prediction bits in theCA, CB, and CC architectures.) If BR represents a conditional branch instruction, the followingrepresents the code generated by the assembler when -b is specified:call increment routine.word 0 # pre-counterLabel: BRcall increment routine.word 0 # post-counterThe counter following a branch records the number of times that branch was not taken; thedifferenc between the two counters is the number of times the branch was taken.A table of every such Label is also generated, so that the external postprocessor gbr960 (sup-plied by Intel) can locate all the counters. This table is always labeled __BRANCH_TABLE__; thisis a local symbol to permit collecting statistics for many separate object files. The table is wordaligned, and begins with a two-word header. The first word, initialized to 0, is used in maintain-ing linked lists of branch tables. The second word is a count of the number of entries in the table,which follow immediately: each is a word, pointing to one of the labels illustrated above.The first word of the header is used to locate multiple branch tables, since each object file maycontain one. Normally the links are maintained with a call to an initialization routine, placed atthe beginning of each function in the file. The gnu C compiler generates these calls automaticallywhen you give it a -b option. For further details, see the documentation of gbr960.-no-relaxNormally, Compare-and-Branch instructions with targets that require displacements greater than13 bits (or that have external targets) are replaced with the corresponding compare (or chkbit)and branch instructions. You can use the -no-relax option to specify that as should generateerrors instead, if the target displacement is larger than 13 bits.