Syntax for the .save.x Directives

The directives, .save.f, .save.g, .save.gf, and .save.b, define 2-bit fields for each save operation in the imask descriptor. The assembler

interprets the instruction that immediately follows a save directive as a save instruction.

Example Code Sequence Using the .save.g Directive illustrates the use of the .save.g directive. Each .save.g directive describes the subsequent store instruction. The operand is a mask where only one bit is set. This bit specifies the preserved saved register. The assembler produces a gr_mem descriptor with a 0x5 mask. In addition, the assembler marks the 2-bit fields of the imask descriptor, corresponding to the slots of the two store instructions.

 

Example: Code Sequence Using the .save.g Directive

.save.g 0x1

st8... = r4

...

.save.g 0x4

st8... = r6

 

Example Code Sequence Using the .save.gf Directive illustrates the use of the .save.gf directive. The .save.gf directive describes the subsequent store instruction. The operands is a mask where only one bit is set. This bit specifies the preserved saved register. The assembler produces a frgr_mem descriptor with a 0x42 mask for the floating-point registers and a 0x2 mask for the general-purpose registers. In addition, the assembler marks the 2-bit fields of the imask descriptor, corresponding to the slots of the three store instructions.

 

Example: Code Sequence Using the .save.gf Directive

.save.gf 0, 0x2

fst... = f3

...

.save.gf 0, 0x40

fst... = f18

...

.save.gf 0x2, 0

st8... = r5