5.12.1 .set noat

The .set noat directive prevents the assembler from using the ($1) register.

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.