6.11 __crc32b, __crc32h, __crc32w, __crc32d Intrinsic Function
Calculates a CRC32 checksum from a checksum (or initial value)
crc and one item of data.
Note: The 32-bit Arm/Thumb instructions do not include CRC32X, so
__crc32d is implemented as two calls to
__crc32w.
These intrinsic functions are defined according to the Arm C Language Extensions (ACLE).
For XC32, __crc32d is not supported.
Suggested Replacement
__builtin_arm_crc32b
__builtin_arm_crc32h
__builtin_arm_crc32w
Caveats
None.
Examples
Consider migrating IAR code such
as:
unsigned int __crc32b(unsigned int crc, unsigned char data);
unsigned int __crc32h(unsigned int crc, unsigned short data);
unsigned int __crc32w(unsigned int crc, unsigned int data);
unsigned int __crc32d(unsigned int crc, unsigned long long data);
to
MPLAB XC codes similar
to:unsigned int __builtin_arm_crc32b(unsigned int crc, unsigned char data);
unsigned int __builtin_arm _crc32h(unsigned int crc, unsigned short data);
unsigned int __builtin_arm _crc32w(unsigned int crc, unsigned int data);
Further Information
None.
