.arch Directive

Syntax

.arch model

Description

The .arch directive specifies the version of the Alpha architecture for which the Assembler is to generate instructions. Regardless of the version actually being used, any instruction in the entire instruction set is potentially available through it. If the version does not support an instruction in its hardware, then the compiler can produce a combination of instructions that perform the same actions and that the version does support.

Note   The instructions that the assembler generates in this manner are usually inefficient. However, if the instructions are generated for a particular version of the Alpha architecture, then they will perform relatively well on that architecture. On the other hand, they might perform very badly on another architecture.

The valid values for model, along with descriptions of the instructions that the Assembler is to generate, are as follows:

Model Instructions to generate
generic All instructions that are hard-wired into every Alpha processor.

This is the model that the Assembler assumes if you omit the .arch directive.

host All instructions directly supported by the Alpha processor on which the Assembler is running.
ev4,ev5 All instructions for the EV4 processor (21064, 20164A, 21066, and 21068 chips) and the EV5 processor (the 21164 chips that house the EV5 processor).

None of these instructions requires emulation on any Alpha processor.

ev56 All instructions for the EV56 processor (the 21164 chips that house the EV56 processor).

These are the instructions supported by the EV4 processor, as well as the instructions in the byte/word extension (BWX).

Applications compiled with this model might incur emulation overhead on EV4 and EV5 processors.

pca56 All instructions for the PCA56 processor (21164PC chips).

These are the instructions supported by the EV4 processor, as well as the instructions in the byte/word extension (BWX) and the multimedia extension (MAX).

Applications compiled with this model might incur emulation overhead on EV4, EV5, and EV56 processors.


Note   This directive is for use only by compilers.