__arm_wsr, __arm_wsr64, __arm_wsrp
Syntax
void __arm_wsr(const char *special_reg, _uint32_tvalue);
void __arm_wsr64(const char *special_reg, uint64_tvalue);
void __arm_wsrp(const char *special_reg, const void *value);
Parameters
| A string literal specifying a system register. |
| The value to write to the system register. |
Description
Writes to a system register. Use a string literal to specify which register to write to. For __arm_wsr and __arm_wsrp, the string literal can specify the name of a system register accepted in an MSR or VMSR instruction for the architecture specified by the compiler option ‑‑cpu.
For __arm_wsr and __arm_wsrp, the string literal can also specify a 32-bit coprocessor register, using this format:
coprocessor : opc1 :c CRn :c CRm : opc2
For __arm_wsr64, the string literal can specify a 64-bit coprocessor register using this format:
coprocessor : opc1 :c CRm
where, for both formats:
coprocessoris the coprocessor number,cp0..cp15orp0..p15opc1andopc2are coprocessor-specific operation codes,0..7CRnandCRmare coprocessor registers,0..15
These intrinsic functions are defined according to ACLE (Arm C Language Extensions).
Note
To use intrinsic functions in an application, you must include the header file(s) where they are declared, see Summary of intrinsic functions.