5.12.1

The .set noat directive prevents the assembler from using

When synthesizing some address formats, the assembler may require a scratch register. By default, the assembler will quietly use the at ($1) register, which is reserved as an assembler temporary by convention. In some cases, the compiler should not use that register. The .set noat directive prevents the assembler from quietly using that register.