]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst
sphinx: copy files from texi2rst-generated repository
[thirdparty/gcc.git] / gcc / doc / gcc / extensions-to-the-c-language-family / target-builtins / other-mips-built-in-functions.rst
1 ..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6 .. _other-mips-built-in-functions:
7
8 Other MIPS Built-in Functions
9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10
11 GCC provides other MIPS-specific built-in functions:
12
13 .. function:: void __builtin_mips_cache (int op, const volatile void *addr)
14
15 Insert a :samp:`cache` instruction with operands :samp:`{op}` and :samp:`{addr}`.
16 GCC defines the preprocessor macro ``___GCC_HAVE_BUILTIN_MIPS_CACHE``
17 when this function is available.
18
19 .. function:: unsigned int __builtin_mips_get_fcsr (void)
20 .. function:: void __builtin_mips_set_fcsr (unsigned int value)
21
22 Get and set the contents of the floating-point control and status register
23 (FPU control register 31). These functions are only available in hard-float
24 code but can be called in both MIPS16 and non-MIPS16 contexts.
25
26 ``__builtin_mips_set_fcsr`` can be used to change any bit of the
27 register except the condition codes, which GCC assumes are preserved.