6.4 __arm_mrc, __arm_mrc2, __arm_mrrc, __arm_mrrc2 Intrinsic Function
Inserts a coprocessor read instruction, MRC
,
MRC2
, MRRC
, or
MRRC2
. Returns the value of the specified
coprocessor register. The parameters coproc
,
opc1
, opc2
,
CRn
, and CRm
will be encoded in the instruction and must therefore
be constants.
These intrinsic functions are defined according to the Arm C Language Extensions (ACLE).
Suggested Replacement
__builtin_arm_mrc
__builtin_arm_mrc2
__builtin_arm_mrrc
__builtin_arm_mrrc2
Caveats
None.
Examples
Consider migrating IAR code such
as:
unsigned int __arm_mrc(__cpid coproc, __cpopc opc1, __cpreg CRn, __cpreg CRm, __cpopc opc2);
unsigned int __arm_mrc2(__cpid coproc, __cpopc opc1, __cpreg CRn, __cpreg CRm, __cpopc opc2);
unsigned long long __arm_mrrc(__cpid coproc, __cpopc opc1, __cpreg CRm);
unsigned long long __arm_mrrc2(__cpid coproc, __cpopc opc1, __cpreg CRm);
to
MPLAB XC codes similar
to:unsigned int __builtin_arm_mrc(__cpid coproc, __cpopc opc1, __cpreg CRn, __cpreg CRm, __cpopc opc2);
unsigned int __builtin_arm_mrc2(__cpid coproc, __cpopc opc1, __cpreg CRn, __cpreg CRm, __cpopc opc2);
unsigned long long __builtin_arm_mrrc(__cpid coproc, __cpopc opc1, __cpreg CRm);
unsigned long long __builtin_arm_mrrc2(__cpid coproc, __cpopc opc1, __cpreg CRm);
Further Information
None.