You copied the Doc URL to your clipboard.


This option treats the specified register names as fixed registers, and prevents the compiler from using them in the code that is generated.


Try to avoid using this option, because it restricts the compiler in terms of register allocation and can potentially give a negative effect on code generation and performance.



Where reg_name is the AAPCS name of the register, denoted by an integer value in the range 1 to 8.

Register names 1 to 8 map sequentially onto registers r4 to r11.

If reg_name is unspecified, the compiler faults use of --global_reg.


This option has the same restrictions as the __global_reg storage class specifier.


--global_reg=1,4,5 // reserve registers r4, r7 and r8 respectively

See also

  • __global_reg

  • ARM Software Development Toolkit Reference Guide.