Fast CRC implementations ported from Intel's efforts

Provides fast CRC32C with PCLMULQDQ instructions in Golang

The white papers on CRC32C calculations with PCLMULQDQ instruction can be
  downloaded from:

http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/crc-iscsi-polynomial-crc32-instruction-paper.pdf
http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-paper.pdf
This commit is contained in:
Harshavardhana
2014-12-02 03:17:39 -08:00
parent d31050803b
commit fb34c5290c
9 changed files with 995 additions and 1 deletions
+18
View File
@@ -0,0 +1,18 @@
// +build linux,amd64
package cpu
// #include "cpu.h"
import "C"
func HasSSE41() int {
return int(C.has_sse41())
}
func HasAVX() int {
return int(C.has_avx())
}
func HasAVX2() int {
return int(C.has_avx2())
}