diff options
author | Loic Dachary <loic@dachary.org> | 2014-03-06 17:32:30 +0100 |
---|---|---|
committer | Loic Dachary <loic@dachary.org> | 2014-03-28 17:12:40 +0100 |
commit | 985817cf23f1c4ce50ed530835e0e1844057aa49 (patch) | |
tree | 44440655e1ad8d57182541a56dde88671330d49e | |
parent | 69a0c688036e3954443a4abe23cbaec6632ab7ae (diff) | |
download | gf-complete-985817cf23f1c4ce50ed530835e0e1844057aa49.tar.gz |
move #if to avoid unused warning
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 29899ad4439aca07ccd2efe2a8b7086efdec72b0)
-rw-r--r-- | src/gf_w128.c | 16 | ||||
-rw-r--r-- | src/gf_w16.c | 33 | ||||
-rw-r--r-- | src/gf_w32.c | 36 | ||||
-rw-r--r-- | src/gf_w4.c | 60 | ||||
-rw-r--r-- | src/gf_w64.c | 28 | ||||
-rw-r--r-- | src/gf_w8.c | 39 |
6 files changed, 104 insertions, 108 deletions
diff --git a/src/gf_w128.c b/src/gf_w128.c index abf0d81..b7cacf5 100644 --- a/src/gf_w128.c +++ b/src/gf_w128.c @@ -81,6 +81,7 @@ int xor) } } +#if defined(INTEL_SSE4_PCLMUL) static void gf_w128_clm_multiply_region_from_single(gf_t *gf, void *src, void *dest, gf_val_128_t val, int bytes, @@ -91,7 +92,6 @@ int xor) gf_val_128_t d128; uint64_t c128[2]; gf_region_data rd; -#if defined(INTEL_SSE4_PCLMUL) __m128i a,b; __m128i result0,result1; __m128i prim_poly; @@ -184,8 +184,8 @@ int xor) d128[i+1] = (uint64_t)_mm_extract_epi64(result1,0); } } -#endif } +#endif /* * Some w128 notes: @@ -599,11 +599,11 @@ gf_w128_split_4_128_multiply_region(gf_t *gf, void *src, void *dest, gf_val_128_ } } +#ifdef INTEL_SSSE3 static void gf_w128_split_4_128_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_128_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 gf_internal_t *h; int i, m, j, k, tindex; uint64_t pp, v[2], s, *s64, *d64, *top; @@ -695,14 +695,14 @@ gf_w128_split_4_128_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_ /* Doing this instead of gf_do_final_region_alignment() because that doesn't hold 128-bit vals */ gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, ((char*)src+bytes)-(char*)rd.s_top, xor); -#endif } +#endif +#ifdef INTEL_SSSE3 static void gf_w128_split_4_128_sse_altmap_multiply_region(gf_t *gf, void *src, void *dest, gf_val_128_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 gf_internal_t *h; int i, m, j, k, tindex; uint64_t pp, v[2], s, *s64, *d64, *top; @@ -805,8 +805,8 @@ gf_w128_split_4_128_sse_altmap_multiply_region(gf_t *gf, void *src, void *dest, /* Doing this instead of gf_do_final_region_alignment() because that doesn't hold 128-bit vals */ gf_w128_multiply_region_from_single(gf, rd.s_top, rd.d_top, val, ((char*)src+bytes)-(char*)rd.s_top, xor); -#endif } +#endif static void @@ -1495,10 +1495,10 @@ void gf_w128_group_r_init(gf_t *gf) return; } +#if defined(INTEL_SSE4) static void gf_w128_group_r_sse_init(gf_t *gf) { -#if defined(INTEL_SSE4) int i, j; int g_r; uint64_t pp; @@ -1520,8 +1520,8 @@ void gf_w128_group_r_sse_init(gf_t *gf) } } return; -#endif } +#endif static int gf_w128_split_init(gf_t *gf) diff --git a/src/gf_w16.c b/src/gf_w16.c index 75cad50..babddd7 100644 --- a/src/gf_w16.c +++ b/src/gf_w16.c @@ -125,6 +125,7 @@ gf_w16_multiply_region_from_single(gf_t *gf, void *src, void *dest, gf_val_32_t gf_do_final_region_alignment(&rd); } +#if defined(INTEL_SSE4_PCLMUL) static void gf_w16_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) @@ -132,8 +133,6 @@ gf_w16_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val gf_region_data rd; uint16_t *s16; uint16_t *d16; - -#if defined(INTEL_SSE4_PCLMUL) __m128i a, b; __m128i result; __m128i prim_poly; @@ -186,9 +185,10 @@ gf_w16_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w16_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) @@ -197,8 +197,6 @@ gf_w16_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val uint16_t *s16; uint16_t *d16; -#if defined(INTEL_SSE4_PCLMUL) - __m128i a, b; __m128i result; __m128i prim_poly; @@ -255,9 +253,10 @@ gf_w16_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w16_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) @@ -266,8 +265,6 @@ gf_w16_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val uint16_t *s16; uint16_t *d16; -#if defined(INTEL_SSE4_PCLMUL) - __m128i a, b; __m128i result; __m128i prim_poly; @@ -328,8 +325,8 @@ gf_w16_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val } } gf_do_final_region_alignment(&rd); -#endif } +#endif static inline @@ -605,13 +602,13 @@ int gf_w16_shift_init(gf_t *gf) static int gf_w16_cfm_init(gf_t *gf) { +#if defined(INTEL_SSE4_PCLMUL) gf_internal_t *h; h = (gf_internal_t *) gf->scratch; /*Ben: Determining how many reductions to do */ -#if defined(INTEL_SSE4_PCLMUL) if ((0xfe00 & h->prim_poly) == 0) { gf->multiply.w32 = gf_w16_clm_multiply_2; gf->multiply_region.w32 = gf_w16_clm_multiply_region_from_single_2; @@ -1548,11 +1545,11 @@ gf_w16_bytwo_p_nosse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_ prod = _mm_xor_si128(prod, t1); \ v = _mm_srli_epi64(v, 1); } +#ifdef INTEL_SSE2 static void gf_w16_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int i; uint8_t *s8, *d8; uint32_t vrev; @@ -1609,14 +1606,14 @@ gf_w16_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t s8 += 16; } gf_do_final_region_alignment(&rd); -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w16_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w16_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1635,14 +1632,14 @@ gf_w16_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w16_bytwo_data * d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w16_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w16_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1663,15 +1660,15 @@ gf_w16_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w16_bytwo_data *bt d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w16_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int itb; uint8_t *d8, *s8; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1719,8 +1716,8 @@ gf_w16_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t } gf_do_final_region_alignment(&rd); -#endif } +#endif static void diff --git a/src/gf_w32.c b/src/gf_w32.c index f472e02..d8234b3 100644 --- a/src/gf_w32.c +++ b/src/gf_w32.c @@ -120,13 +120,13 @@ xor) } } +#if defined(INTEL_SSE4_PCLMUL) + static void gf_w32_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, uint32_t val, int bytes, int xor) { -#if defined(INTEL_SSE4_PCLMUL) - int i; uint32_t *s32; uint32_t *d32; @@ -167,16 +167,16 @@ gf_w32_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, uint32 d32[i] = ((gf_val_32_t)_mm_extract_epi32(result, 0)); } } -#endif } +#endif + +#if defined(INTEL_SSE4_PCLMUL) static void gf_w32_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, uint32_t val, int bytes, int xor) { -#if defined(INTEL_SSE4_PCLMUL) - int i; uint32_t *s32; uint32_t *d32; @@ -222,14 +222,14 @@ gf_w32_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, uint32 d32[i] = ((gf_val_32_t)_mm_extract_epi32(result, 0)); } } -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w32_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, uint32_t val, int bytes, int xor) { -#if defined(INTEL_SSE4_PCLMUL) int i; uint32_t *s32; uint32_t *d32; @@ -279,8 +279,8 @@ gf_w32_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, uint32 d32[i] = ((gf_val_32_t)_mm_extract_epi32(result, 0)); } } -#endif } +#endif static inline @@ -983,11 +983,11 @@ gf_w32_bytwo_p_nosse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_ prod = _mm_xor_si128(prod, t1); \ v = _mm_srli_epi64(v, 1); } +#ifdef INTEL_SSE2 static void gf_w32_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int i; uint8_t *s8, *d8; uint32_t vrev; @@ -1036,8 +1036,8 @@ gf_w32_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t s8 += 16; } gf_do_final_region_alignment(&rd); -#endif } +#endif static void @@ -1177,11 +1177,11 @@ gf_w32_bytwo_b_nosse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_ gf_do_final_region_alignment(&rd); } +#ifdef INTEL_SSE2 static void gf_w32_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w32_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1200,14 +1200,14 @@ gf_w32_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w32_bytwo_data * d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w32_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w32_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1228,15 +1228,15 @@ gf_w32_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w32_bytwo_data *bt d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w32_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 uint32_t itb; uint8_t *d8, *s8; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1284,8 +1284,8 @@ gf_w32_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t } gf_do_final_region_alignment(&rd); -#endif } +#endif static int gf_w32_bytwo_init(gf_t *gf) @@ -1552,11 +1552,11 @@ gf_w32_split_2_32_lazy_multiply_region(gf_t *gf, void *src, void *dest, uint32_t gf_do_final_region_alignment(&rd); } +#ifdef INTEL_SSSE3 static void gf_w32_split_2_32_lazy_sse_multiply_region(gf_t *gf, void *src, void *dest, uint32_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 gf_internal_t *h; int i, m, j, tindex; uint32_t pp, v, v2, s, *s32, *d32, *top; @@ -1631,8 +1631,8 @@ gf_w32_split_2_32_lazy_sse_multiply_region(gf_t *gf, void *src, void *dest, uint gf_do_final_region_alignment(&rd); -#endif } +#endif static void diff --git a/src/gf_w4.c b/src/gf_w4.c index 9a0dfb5..cba23b7 100644 --- a/src/gf_w4.c +++ b/src/gf_w4.c @@ -414,11 +414,11 @@ gf_w4_single_table_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t #define MM_PRINT(s, r) { uint8_t blah[16]; printf("%-12s", s); _mm_storeu_si128((__m128i *)blah, r); for (i = 0; i < 16; i++) printf(" %02x", blah[i]); printf("\n"); } +#ifdef INTEL_SSSE3 static void gf_w4_single_table_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 gf_region_data rd; uint8_t *base, *sptr, *dptr, *top; __m128i tl, loset, h4, r, va, th; @@ -460,8 +460,8 @@ gf_w4_single_table_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_3 } gf_do_final_region_alignment(&rd); -#endif } +#endif static int gf_w4_single_table_init(gf_t *gf) @@ -916,11 +916,11 @@ gf_w4_bytwo_p_nosse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t prod = _mm_xor_si128(prod, t1); \ v = _mm_srli_epi64(v, 1); } +#ifdef INTEL_SSE2 static void gf_w4_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int i; uint8_t *s8, *d8; uint8_t vrev; @@ -965,8 +965,8 @@ gf_w4_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t v s8 += 16; } gf_do_final_region_alignment(&rd); -#endif } +#endif /* static @@ -1034,11 +1034,11 @@ gf_w4_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t v } */ +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1057,14 +1057,14 @@ gf_w4_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1085,14 +1085,14 @@ gf_w4_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_4_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1112,14 +1112,14 @@ gf_w4_bytwo_b_sse_region_4_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_4_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1141,15 +1141,15 @@ gf_w4_bytwo_b_sse_region_4_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_3_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1170,14 +1170,14 @@ gf_w4_bytwo_b_sse_region_3_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_3_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1198,14 +1198,14 @@ gf_w4_bytwo_b_sse_region_3_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_5_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1227,14 +1227,14 @@ gf_w4_bytwo_b_sse_region_5_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_5_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1256,14 +1256,14 @@ gf_w4_bytwo_b_sse_region_5_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_7_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1286,14 +1286,14 @@ gf_w4_bytwo_b_sse_region_7_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_7_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1316,14 +1316,14 @@ gf_w4_bytwo_b_sse_region_7_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_6_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1345,14 +1345,14 @@ gf_w4_bytwo_b_sse_region_6_noxor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_region_6_xor(gf_region_data *rd, struct gf_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1374,14 +1374,14 @@ gf_w4_bytwo_b_sse_region_6_xor(gf_region_data *rd, struct gf_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w4_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; struct gf_bytwo_data *btd; @@ -1489,8 +1489,8 @@ gf_w4_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t v } } gf_do_final_region_alignment(&rd); -#endif } +#endif static void diff --git a/src/gf_w64.c b/src/gf_w64.c index 332bd5d..37bac5e 100644 --- a/src/gf_w64.c +++ b/src/gf_w64.c @@ -87,6 +87,7 @@ xor) } } +#if defined(INTEL_SSE4_PCLMUL) static void gf_w64_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val_64_t val, int bytes, int @@ -96,7 +97,6 @@ xor) gf_val_64_t *s64, *d64, *top; gf_region_data rd; -#if defined(INTEL_SSE4_PCLMUL) __m128i a, b; __m128i result, r1; __m128i prim_poly; @@ -175,9 +175,10 @@ xor) } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w64_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val_64_t val, int bytes, int @@ -187,7 +188,6 @@ xor) gf_val_64_t *s64, *d64, *top; gf_region_data rd; -#if defined(INTEL_SSE4_PCLMUL) __m128i a, b; __m128i result, r1; __m128i prim_poly; @@ -263,8 +263,8 @@ xor) } } gf_do_final_region_alignment(&rd); -#endif } +#endif static inline @@ -1369,11 +1369,11 @@ void gf_w64_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_ #endif } +#ifdef INTEL_SSE2 static void gf_w64_bytwo_b_sse_region_2_xor(gf_region_data *rd) { -#ifdef INTEL_SSE2 int i; uint64_t one64, amask; uint8_t *d8, *s8, tb; @@ -1400,14 +1400,14 @@ gf_w64_bytwo_b_sse_region_2_xor(gf_region_data *rd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w64_bytwo_b_sse_region_2_noxor(gf_region_data *rd) { -#ifdef INTEL_SSE2 int i; uint64_t one64, amask; uint8_t *d8, *s8, tb; @@ -1432,14 +1432,14 @@ gf_w64_bytwo_b_sse_region_2_noxor(gf_region_data *rd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w64_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_64_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 uint64_t itb, amask, one64; uint8_t *d8, *s8; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1490,8 +1490,8 @@ gf_w64_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_64_t } gf_do_final_region_alignment(&rd); -#endif } +#endif static @@ -1712,11 +1712,11 @@ int gf_w64_composite_init(gf_t *gf) return 1; } +#ifdef INTEL_SSSE3 static void gf_w64_split_4_64_lazy_sse_altmap_multiply_region(gf_t *gf, void *src, void *dest, uint64_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 gf_internal_t *h; int i, m, j, k, tindex; uint64_t pp, v, s, *s64, *d64, *top; @@ -1793,14 +1793,14 @@ gf_w64_split_4_64_lazy_sse_altmap_multiply_region(gf_t *gf, void *src, void *des } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#ifdef INTEL_SSE4 static void gf_w64_split_4_64_lazy_sse_multiply_region(gf_t *gf, void *src, void *dest, uint64_t val, int bytes, int xor) { -#ifdef INTEL_SSE4 gf_internal_t *h; int i, m, j, k, tindex; uint64_t pp, v, s, *s64, *d64, *top; @@ -1997,8 +1997,8 @@ gf_w64_split_4_64_lazy_sse_multiply_region(gf_t *gf, void *src, void *dest, uint } gf_do_final_region_alignment(&rd); -#endif } +#endif #define GF_MULTBY_TWO(p) (((p) & GF_FIRST_BIT) ? (((p) << 1) ^ h->prim_poly) : (p) << 1); diff --git a/src/gf_w8.c b/src/gf_w8.c index f47c40c..b171639 100644 --- a/src/gf_w8.c +++ b/src/gf_w8.c @@ -364,6 +364,7 @@ gf_w8_multiply_region_from_single(gf_t *gf, void *src, void *dest, gf_val_32_t v gf_do_final_region_alignment(&rd); } +#if defined(INTEL_SSE4_PCLMUL) static void gf_w8_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int @@ -373,8 +374,6 @@ gf_w8_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val_ uint8_t *s8; uint8_t *d8; -#if defined(INTEL_SSE4_PCLMUL) - __m128i a, b; __m128i result; __m128i prim_poly; @@ -420,9 +419,10 @@ gf_w8_clm_multiply_region_from_single_2(gf_t *gf, void *src, void *dest, gf_val_ } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w8_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int @@ -432,8 +432,6 @@ gf_w8_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val_ uint8_t *s8; uint8_t *d8; -#if defined(INTEL_SSE4_PCLMUL) - __m128i a, b; __m128i result; __m128i prim_poly; @@ -483,9 +481,10 @@ gf_w8_clm_multiply_region_from_single_3(gf_t *gf, void *src, void *dest, gf_val_ } } gf_do_final_region_alignment(&rd); -#endif } +#endif +#if defined(INTEL_SSE4_PCLMUL) static void gf_w8_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int @@ -495,8 +494,6 @@ gf_w8_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val_ uint8_t *s8; uint8_t *d8; -#if defined(INTEL_SSE4_PCLMUL) - __m128i a, b; __m128i result; __m128i prim_poly; @@ -550,8 +547,8 @@ gf_w8_clm_multiply_region_from_single_4(gf_t *gf, void *src, void *dest, gf_val_ } } gf_do_final_region_alignment(&rd); -#endif } +#endif /* ------------------------------------------------------------ IMPLEMENTATION: SHIFT: @@ -588,11 +585,11 @@ gf_w8_shift_multiply (gf_t *gf, uint32_t a8, uint32_t b8) static int gf_w8_cfm_init(gf_t *gf) { +#if defined(INTEL_SSE4_PCLMUL) gf_internal_t *h; h = (gf_internal_t *) gf->scratch; -#if defined(INTEL_SSE4_PCLMUL) if ((0xe0 & h->prim_poly) == 0){ gf->multiply.w32 = gf_w8_clm_multiply_2; gf->multiply_region.w32 = gf_w8_clm_multiply_region_from_single_2; @@ -941,6 +938,7 @@ gf_w8_default_multiply(gf_t *gf, gf_val_32_t a, gf_val_32_t b) return (ftd->multtable[a][b]); } +#ifdef INTEL_SSSE3 static gf_val_32_t gf_w8_default_divide(gf_t *gf, gf_val_32_t a, gf_val_32_t b) @@ -950,6 +948,7 @@ gf_w8_default_divide(gf_t *gf, gf_val_32_t a, gf_val_32_t b) ftd = (struct gf_w8_default_data *) ((gf_internal_t *) gf->scratch)->private; return (ftd->divtable[a][b]); } +#endif static gf_val_32_t @@ -1054,11 +1053,11 @@ gf_w8_table_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, in } } +#ifdef INTEL_SSSE3 static void gf_w8_split_multiply_region_sse(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSSE3 uint8_t *s8, *d8, *bh, *bl, *sptr, *dptr, *top; __m128i tbl, loset, t1, r, va, mth, mtl; uint64_t altable[4]; @@ -1114,8 +1113,8 @@ gf_w8_split_multiply_region_sse(gf_t *gf, void *src, void *dest, gf_val_32_t val } gf_do_final_region_alignment(&rd); -#endif } +#endif /* ------------------------------------------------------------ @@ -1669,11 +1668,11 @@ gf_w8_bytwo_p_nosse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t prod = _mm_xor_si128(prod, t1); \ v = _mm_srli_epi64(v, 1); } +#ifdef INTEL_SSE2 static void gf_w8_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int i; uint8_t *s8, *d8; uint8_t vrev; @@ -1722,14 +1721,14 @@ gf_w8_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t v s8 += 16; } gf_do_final_region_alignment(&rd); -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w8_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w8_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1748,14 +1747,14 @@ gf_w8_bytwo_b_sse_region_2_noxor(gf_region_data *rd, struct gf_w8_bytwo_data *bt d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w8_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w8_bytwo_data *btd) { -#ifdef INTEL_SSE2 int i; uint8_t *d8, *s8, tb; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1776,15 +1775,15 @@ gf_w8_bytwo_b_sse_region_2_xor(gf_region_data *rd, struct gf_w8_bytwo_data *btd) d8 += 16; s8 += 16; } -#endif } +#endif +#ifdef INTEL_SSE2 static void gf_w8_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t val, int bytes, int xor) { -#ifdef INTEL_SSE2 int itb; uint8_t *d8, *s8; __m128i pp, m1, m2, t1, t2, va, vb; @@ -1832,8 +1831,8 @@ gf_w8_bytwo_b_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t v } gf_do_final_region_alignment(&rd); -#endif } +#endif static void |