Spec-Zone.ru › GCC 15

7.2.4 Встроенные функции CRC

Встроенная функция: uint8_t __builtin_rev_crc8_data8 (uint8_t crc, uint8_t data, uint8_t poly)

Возвращает вычисленное 8-битное CRC с обратным порядком битов, используя начальное значение CRC (8 бит), данные (8 бит) и полином (8 бит). crc — начальное значение CRC, data — данные, а poly — полином без старшей единицы. poly должен быть константой времени компиляции. Для вычисления может использоваться табличный алгоритм CRC или алгоритм на основе clmul — в зависимости от целевой архитектуры.

Встроенная функция: uint16_t __builtin_rev_crc16_data16 (uint16_t crc, uint16_t data, uint16_t poly)

Аналогична __builtin_rev_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 16 бит.

Встроенная функция: uint16_t __builtin_rev_crc16_data8 (uint16_t crc, uint8_t data, uint16_t poly)

Аналогична __builtin_rev_crc16_data16, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint32_t __builtin_rev_crc32_data32 (uint32_t crc, uint32_t data, uint32_t poly)

Аналогична __builtin_rev_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 32 бита; для вычисления CRC также может использоваться машинная инструкция crc* в зависимости от целевой архитектуры и полинома.

Встроенная функция: uint32_t __builtin_rev_crc32_data8 (uint32_t crc, uint8_t data, uint32_t poly)

Аналогична __builtin_rev_crc32_data32, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint32_t __builtin_rev_crc32_data16 (uint32_t crc, uint16_t data, uint32_t poly)

Аналогична __builtin_rev_crc32_data32, но тип аргумента data имеет разрядность 16 бит.

Встроенная функция: uint64_t __builtin_rev_crc64_data64 (uint64_t crc, uint64_t data, uint64_t poly)

Аналогична __builtin_rev_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 64 бита.

Встроенная функция: uint64_t __builtin_rev_crc64_data8 (uint64_t crc, uint8_t data, uint64_t poly)

Аналогична __builtin_rev_crc64_data64, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint64_t __builtin_rev_crc64_data16 (uint64_t crc, uint16_t data, uint64_t poly)

Аналогична __builtin_rev_crc64_data64, но тип аргумента data имеет разрядность 16 бит.

Встроенная функция: uint64_t __builtin_rev_crc64_data32 (uint64_t crc, uint32_t data, uint64_t poly)

Аналогична __builtin_rev_crc64_data64, но тип аргумента data имеет разрядность 32 бита.

Встроенная функция: uint8_t __builtin_crc8_data8 (uint8_t crc, uint8_t data, uint8_t poly)

Возвращает вычисленное 8-битное прямое CRC, используя начальное значение CRC (8 бит), данные (8 бит) и полином (8 бит). crc — начальное значение CRC, data — данные, а poly — полином без старшей единицы. poly должен быть константой времени компиляции. Для вычисления может использоваться табличный алгоритм CRC или алгоритм на основе clmul — в зависимости от целевой архитектуры.

Встроенная функция: uint16_t __builtin_crc16_data16 (uint16_t crc, uint16_t data, uint16_t poly)

Аналогична __builtin_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 16 бит.

Встроенная функция: uint16_t __builtin_crc16_data8 (uint16_t crc, uint8_t data, uint16_t poly)

Аналогична __builtin_crc16_data16, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint32_t __builtin_crc32_data32 (uint32_t crc, uint32_t data, uint32_t poly)

Аналогична __builtin_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 32 бита.

Встроенная функция: uint32_t __builtin_crc32_data8 (uint32_t crc, uint8_t data, uint32_t poly)

Аналогична __builtin_crc32_data32, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint32_t __builtin_crc32_data16 (uint32_t crc, uint16_t data, uint32_t poly)

Аналогична __builtin_crc32_data32, но тип аргумента data имеет разрядность 16 бит.

Встроенная функция: uint64_t __builtin_crc64_data64 (uint64_t crc, uint64_t data, uint64_t poly)

Аналогична __builtin_crc8_data8, но типы аргументов и возвращаемого значения имеют разрядность 64 бита.

Встроенная функция: uint64_t __builtin_crc64_data8 (uint64_t crc, uint8_t data, uint64_t poly)

Аналогична __builtin_crc64_data64, но тип аргумента data имеет разрядность 8 бит.

Встроенная функция: uint64_t __builtin_crc64_data16 (uint64_t crc, uint16_t data, uint64_t poly)

Аналогична __builtin_crc64_data64, но тип аргумента data имеет разрядность 16 бит.

Встроенная функция: uint64_t __builtin_crc64_data32 (uint64_t crc, uint32_t data, uint64_t poly)

Аналогична __builtin_crc64_data64, но тип аргумента data имеет разрядность 32 бита.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/CRC-Builtins.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API