view crc32c.c @ 3:6483683ac857 default tip

*: add profiling code too; expand x86 to use all eight XMM registers basically ported verbatim from the assembly
author Paper <paper@tflc.us>
date Mon, 09 Feb 2026 21:30:30 -0500
parents 422835bc1aca
children
line wrap: on
line source

#include "crc32i.h"

uint32_t crc32c_r(uint32_t crc, const unsigned char *message, size_t sz)
{
	while (sz--)
		crc = (crc >> 8) ^ crc32_tab[(crc ^ *message++) & 0xFF];

	return crc;
}