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 |
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 |