6.56.4 ARM ACLE Intrinsics
These built-in intrinsics for the ARMv8-A CRC32 extension are available when
the -march=armv8-a+crc switch is used:
6.56.4.1 CRC32 intrinsics
- uint32_t __crc32b (uint32_t, uint8_t)
Form of expected instruction(s): crc32b r0, r0, r0
- uint32_t __crc32h (uint32_t, uint16_t)
Form of expected instruction(s): crc32h r0, r0, r0
- uint32_t __crc32w (uint32_t, uint32_t)
Form of expected instruction(s): crc32w r0, r0, r0
- uint32_t __crc32d (uint32_t, uint64_t)
Form of expected instruction(s): Two crc32w r0, r0, r0
instructions for AArch32. One crc32w w0, w0, x0 instruction for
AArch64.
- uint32_t __crc32cb (uint32_t, uint8_t)
Form of expected instruction(s): crc32cb r0, r0, r0
- uint32_t __crc32ch (uint32_t, uint16_t)
Form of expected instruction(s): crc32ch r0, r0, r0
- uint32_t __crc32cw (uint32_t, uint32_t)
Form of expected instruction(s): crc32cw r0, r0, r0
- uint32_t __crc32cd (uint32_t, uint64_t)
Form of expected instruction(s): Two crc32cw r0, r0, r0
instructions for AArch32. One crc32cw w0, w0, x0 instruction for
AArch64.