|
25 | 25 | #include <immintrin.h> |
26 | 26 | #include <wmmintrin.h> |
27 | 27 |
|
28 | | -#ifndef __GNUC__ |
29 | | -#define __attribute__() |
30 | | -#endif |
31 | | - |
32 | 28 | #define CRC_LOAD(s) \ |
33 | 29 | do { \ |
34 | 30 | __m128i xmm_crc0 = _mm_loadu_si128((__m128i *)s->crc0 + 0);\ |
|
45 | 41 | _mm_storeu_si128((__m128i *)s->crc0 + 4, xmm_crc_part);\ |
46 | 42 | } while (0); |
47 | 43 |
|
48 | | -__attribute__((target("sse4.2,pclmul"))) |
49 | 44 | ZLIB_INTERNAL void crc_fold_init(deflate_state *const s) |
50 | 45 | { |
51 | 46 | CRC_LOAD(s) |
@@ -60,7 +55,6 @@ ZLIB_INTERNAL void crc_fold_init(deflate_state *const s) |
60 | 55 | s->strm->adler = 0; |
61 | 56 | } |
62 | 57 |
|
63 | | -__attribute__((target("sse4.2,pclmul"))) |
64 | 58 | local void fold_1(deflate_state *const s, |
65 | 59 | __m128i *xmm_crc0, __m128i *xmm_crc1, |
66 | 60 | __m128i *xmm_crc2, __m128i *xmm_crc3) |
@@ -87,7 +81,6 @@ local void fold_1(deflate_state *const s, |
87 | 81 | *xmm_crc3 = _mm_castps_si128(ps_res); |
88 | 82 | } |
89 | 83 |
|
90 | | -__attribute__((target("sse4.2,pclmul"))) |
91 | 84 | local void fold_2(deflate_state *const s, |
92 | 85 | __m128i *xmm_crc0, __m128i *xmm_crc1, |
93 | 86 | __m128i *xmm_crc2, __m128i *xmm_crc3) |
@@ -122,7 +115,6 @@ local void fold_2(deflate_state *const s, |
122 | 115 | *xmm_crc3 = _mm_castps_si128(ps_res31); |
123 | 116 | } |
124 | 117 |
|
125 | | -__attribute__((target("sse4.2,pclmul"))) |
126 | 118 | local void fold_3(deflate_state *const s, |
127 | 119 | __m128i *xmm_crc0, __m128i *xmm_crc1, |
128 | 120 | __m128i *xmm_crc2, __m128i *xmm_crc3) |
@@ -163,7 +155,6 @@ local void fold_3(deflate_state *const s, |
163 | 155 | *xmm_crc3 = _mm_castps_si128(ps_res32); |
164 | 156 | } |
165 | 157 |
|
166 | | -__attribute__((target("sse4.2,pclmul"))) |
167 | 158 | local void fold_4(deflate_state *const s, |
168 | 159 | __m128i *xmm_crc0, __m128i *xmm_crc1, |
169 | 160 | __m128i *xmm_crc2, __m128i *xmm_crc3) |
@@ -230,7 +221,6 @@ local const unsigned zalign(32) pshufb_shf_table[60] = { |
230 | 221 | 0x0201008f,0x06050403,0x0a090807,0x0e0d0c0b /* shl 1 (16 -15)/shr15*/ |
231 | 222 | }; |
232 | 223 |
|
233 | | -__attribute__((target("sse4.2,pclmul"))) |
234 | 224 | local void partial_fold(deflate_state *const s, const size_t len, |
235 | 225 | __m128i *xmm_crc0, __m128i *xmm_crc1, |
236 | 226 | __m128i *xmm_crc2, __m128i *xmm_crc3, |
@@ -281,7 +271,6 @@ local void partial_fold(deflate_state *const s, const size_t len, |
281 | 271 | *xmm_crc3 = _mm_castps_si128(ps_res); |
282 | 272 | } |
283 | 273 |
|
284 | | -__attribute__((target("sse4.2,pclmul"))) |
285 | 274 | ZLIB_INTERNAL void crc_fold_copy(deflate_state *const s, |
286 | 275 | unsigned char *dst, const unsigned char *src, long len) |
287 | 276 | { |
@@ -438,7 +427,6 @@ local const unsigned zalign(16) crc_mask2[4] = { |
438 | 427 | 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF |
439 | 428 | }; |
440 | 429 |
|
441 | | -__attribute__((target("sse4.2,pclmul"))) |
442 | 430 | unsigned ZLIB_INTERNAL crc_fold_512to32(deflate_state *const s) |
443 | 431 | { |
444 | 432 | const __m128i xmm_mask = _mm_load_si128((__m128i *)crc_mask); |
|