Next: SPARC VIS Built-in Functions, Previous: S/390 System z Built-in Functions, Up: Target Builtins [Contents][Index]
The following built-in functions are supported on the SH1, SH2, SH3 and SH4 families of processors:
Sets the GBR register to the specified value ptr. This is usually used by system code that manages threads and execution contexts. The compiler normally does not generate code that modifies the contents of GBR and thus the value is preserved across function calls. Changing the GBR value in user code must be done with caution, since the compiler might use GBR in order to access thread local variables.
Returns the value that is currently set in the GBR register. Memory loads and stores that use the thread pointer as a base address are turned into GBR based displacement loads and stores, if possible. For example:
struct my_tcb { int a, b, c, d, e; }; int get_tcb_value (void) { // Generate mov.l @(8,gbr),r0 instruction return ((my_tcb*)__builtin_thread_pointer ())->c; }
Returns the value that is currently set in the FPSCR register.
Sets the FPSCR register to the specified value val, while preserving the current values of the FR, SZ and PR bits.