annotate crc32-impls.h @ 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 ead9f84d11db
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
1 #ifndef CRC32_IMPL
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
2 # define CRC32_IMPL(name)
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
3 #endif
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
4 CRC32_IMPL(c)
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
5 CRC32_IMPL(qw)
2
ead9f84d11db *: make it work on non-x86 too
Paper <paper@tflc.us>
parents: 1
diff changeset
6 #ifdef __x86_64__
1
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
7 CRC32_IMPL(x86_vpclmulqdq)
2
ead9f84d11db *: make it work on non-x86 too
Paper <paper@tflc.us>
parents: 1
diff changeset
8 #endif
1
90cb48b87dcc *: don't hardcode the list of impls in multiple places
Paper <paper@tflc.us>
parents:
diff changeset
9 #undef CRC32_IMPL