@@ -27,9 +27,11 @@ PHP_HASH_API void PHP_CRC32Init(PHP_CRC32_CTX *context)
27
27
28
28
PHP_HASH_API void PHP_CRC32Update (PHP_CRC32_CTX * context , const unsigned char * input , size_t len )
29
29
{
30
- size_t i ;
30
+ size_t i = 0 ;
31
31
32
- i = crc32_x86_simd_update (X86_CRC32 , & context -> state , input , len );
32
+ #if ZEND_INTRIN_SSE4_2_PCLMUL_NATIVE || ZEND_INTRIN_SSE4_2_PCLMUL_RESOLVER
33
+ i += crc32_x86_simd_update (X86_CRC32 , & context -> state , input , len );
34
+ #endif
33
35
34
36
for (; i < len ; ++ i ) {
35
37
context -> state = (context -> state << 8 ) ^ crc32_table [(context -> state >> 24 ) ^ (input [i ] & 0xff )];
@@ -38,9 +40,11 @@ PHP_HASH_API void PHP_CRC32Update(PHP_CRC32_CTX *context, const unsigned char *i
38
40
39
41
PHP_HASH_API void PHP_CRC32BUpdate (PHP_CRC32_CTX * context , const unsigned char * input , size_t len )
40
42
{
41
- size_t i ;
43
+ size_t i = 0 ;
42
44
43
- i = crc32_x86_simd_update (X86_CRC32B , & context -> state , input , len );
45
+ #if ZEND_INTRIN_SSE4_2_PCLMUL_NATIVE || ZEND_INTRIN_SSE4_2_PCLMUL_RESOLVER
46
+ i += crc32_x86_simd_update (X86_CRC32B , & context -> state , input , len );
47
+ #endif
44
48
45
49
for (; i < len ; ++ i ) {
46
50
context -> state = (context -> state >> 8 ) ^ crc32b_table [(context -> state ^ input [i ]) & 0xff ];
@@ -49,9 +53,11 @@ PHP_HASH_API void PHP_CRC32BUpdate(PHP_CRC32_CTX *context, const unsigned char *
49
53
50
54
PHP_HASH_API void PHP_CRC32CUpdate (PHP_CRC32_CTX * context , const unsigned char * input , size_t len )
51
55
{
52
- size_t i ;
56
+ size_t i = 0 ;
53
57
54
- i = crc32_x86_simd_update (X86_CRC32C , & context -> state , input , len );
58
+ #if ZEND_INTRIN_SSE4_2_PCLMUL_NATIVE || ZEND_INTRIN_SSE4_2_PCLMUL_RESOLVER
59
+ i += crc32_x86_simd_update (X86_CRC32C , & context -> state , input , len );
60
+ #endif
55
61
56
62
for (; i < len ; ++ i ) {
57
63
context -> state = (context -> state >> 8 ) ^ crc32c_table [(context -> state ^ input [i ]) & 0xff ];
0 commit comments