GCC provides other MIPS-specific built-in functions:
void __builtin_mips_cache (int op, const volatile void *addr)
Insert a ‘cache’ instruction with operands op and addr. GCC defines the preprocessor macro ___GCC_HAVE_BUILTIN_MIPS_CACHE
when this function is available.
unsigned int __builtin_mips_get_fcsr (void)
void __builtin_mips_set_fcsr (unsigned int value)
Get and set the contents of the floating-point control and status register (FPU control register 31). These functions are only available in hard-float code but can be called in both MIPS16 and non-MIPS16 contexts.
__builtin_mips_set_fcsr
can be used to change any bit of the register except the condition codes, which GCC assumes are preserved.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Other-MIPS-Built_002din-Functions.html