as: MIPS ISA

1 
1 9.27.5 Directives to override the ISA level
1 -------------------------------------------
1 
1 GNU 'as' supports an additional directive to change the MIPS Instruction
1 Set Architecture level on the fly: '.set mipsN'.  N should be a number
1 from 0 to 5, or 32, 32r2, 32r3, 32r5, 32r6, 64, 64r2, 64r3, 64r5 or
1 64r6.  The values other than 0 make the assembler accept instructions
1 for the corresponding ISA level, from that point on in the assembly.
1 '.set mipsN' affects not only which instructions are permitted, but also
1 how certain macros are expanded.  '.set mips0' restores the ISA level to
1 its original level: either the level you selected with command line
1 options, or the default for your configuration.  You can use this
1 feature to permit specific MIPS III instructions while assembling in 32
1 bit mode.  Use this directive with care!
1 
1    The '.set arch=CPU' directive provides even finer control.  It
1 changes the effective CPU target and allows the assembler to use
1 instructions specific to a particular CPU. All CPUs supported by the
1 '-march' command line option are also selectable by this directive.  The
1 original value is restored by '.set arch=default'.
1 
1    The directive '.set mips16' puts the assembler into MIPS 16 mode, in
1 which it will assemble instructions for the MIPS 16 processor.  Use
1 '.set nomips16' to return to normal 32 bit mode.
1 
1    Traditional MIPS assemblers do not support this directive.
1 
1    The directive '.set micromips' puts the assembler into microMIPS
1 mode, in which it will assemble instructions for the microMIPS
1 processor.  Use '.set nomicromips' to return to normal 32 bit mode.
1 
1    Traditional MIPS assemblers do not support this directive.
1