|
SASC
DVBSoftCAM
|
Go to the source code of this file.
Classes | |
| union | __u128 |
| union | __u64 |
Defines | |
| #define | MEMALIGN_VAL 16 |
| #define | GROUP_PARALLELISM 128 |
| #define | FF0() ff0.v |
| #define | FF1() ff1.v |
| #define | FFAND(a, b) _mm_and_ps((a),(b)) |
| #define | FFOR(a, b) _mm_or_ps((a),(b)) |
| #define | FFXOR(a, b) _mm_xor_ps((a),(b)) |
| #define | FFNOT(a) _mm_xor_ps((a),FF1()) |
| #define | MALLOC(X) _mm_malloc(X,16) |
| #define | FREE(X) _mm_free(X) |
| #define | BYTES_PER_BATCH 8 |
| #define | B_FFN_ALL_29() ff29.v |
| #define | B_FFN_ALL_02() ff02.v |
| #define | B_FFN_ALL_04() ff04.v |
| #define | B_FFN_ALL_10() ff10.v |
| #define | B_FFN_ALL_40() ff40.v |
| #define | B_FFN_ALL_80() ff80.v |
| #define | B_FFAND(a, b) _mm_and_si64((a),(b)) |
| #define | B_FFOR(a, b) _mm_or_si64((a),(b)) |
| #define | B_FFXOR(a, b) _mm_xor_si64((a),(b)) |
| #define | B_FFSH8L(a, n) _mm_slli_si64((a),(n)) |
| #define | B_FFSH8R(a, n) _mm_srli_si64((a),(n)) |
| #define | M_EMPTY() _mm_empty() |
| #define | XOR_8_BY(d, s1, s2) do { *(__m64*)d = _mm_xor_si64(*(__m64*)(s1), *(__m64*)(s2)); } while(0) |
| #define | XOREQ_8_BY(d, s) XOR_8_BY(d, d, s) |
| #define | COPY_8_BY(d, s) do { *(__m64 *)(d) = *(__m64 *)(s); } while(0) |
| #define | BEST_SPAN 16 |
Typedefs | |
| typedef __m128 | group |
| typedef __m64 | batch |
Functions | |
| static void | XOR_BEST_BY (unsigned char *d, unsigned char *s1, unsigned char *s2) |
Variables | |
| static union __u128 | ff0 = {{0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U}} |
| static union __u128 | ff1 = {{0xffffffffU, 0xffffffffU, 0xffffffffU, 0xffffffffU}} |
| static union __u64 | ff29 = {{0x29292929U, 0x29292929U}} |
| static union __u64 | ff02 = {{0x02020202U, 0x02020202U}} |
| static union __u64 | ff04 = {{0x04040404U, 0x04040404U}} |
| static union __u64 | ff10 = {{0x10101010U, 0x10101010U}} |
| static union __u64 | ff40 = {{0x40404040U, 0x40404040U}} |
| static union __u64 | ff80 = {{0x80808080U, 0x80808080U}} |
Definition at line 65 of file parallel_128_sse.h.
| #define B_FFN_ALL_02 | ( | ) | ff02.v |
Definition at line 60 of file parallel_128_sse.h.
| #define B_FFN_ALL_04 | ( | ) | ff04.v |
Definition at line 61 of file parallel_128_sse.h.
| #define B_FFN_ALL_10 | ( | ) | ff10.v |
Definition at line 62 of file parallel_128_sse.h.
| #define B_FFN_ALL_29 | ( | ) | ff29.v |
Definition at line 59 of file parallel_128_sse.h.
| #define B_FFN_ALL_40 | ( | ) | ff40.v |
Definition at line 63 of file parallel_128_sse.h.
| #define B_FFN_ALL_80 | ( | ) | ff80.v |
Definition at line 64 of file parallel_128_sse.h.
Definition at line 66 of file parallel_128_sse.h.
| #define B_FFSH8L | ( | a, | |
| n | |||
| ) | _mm_slli_si64((a),(n)) |
Definition at line 68 of file parallel_128_sse.h.
| #define B_FFSH8R | ( | a, | |
| n | |||
| ) | _mm_srli_si64((a),(n)) |
Definition at line 69 of file parallel_128_sse.h.
Definition at line 67 of file parallel_128_sse.h.
| #define BEST_SPAN 16 |
Definition at line 84 of file parallel_128_sse.h.
| #define BYTES_PER_BATCH 8 |
Definition at line 58 of file parallel_128_sse.h.
| #define COPY_8_BY | ( | d, | |
| s | |||
| ) | do { *(__m64 *)(d) = *(__m64 *)(s); } while(0) |
Definition at line 81 of file parallel_128_sse.h.
| #define FF0 | ( | ) | ff0.v |
Definition at line 36 of file parallel_128_sse.h.
| #define FF1 | ( | ) | ff1.v |
Definition at line 37 of file parallel_128_sse.h.
Definition at line 38 of file parallel_128_sse.h.
| #define FFNOT | ( | a | ) | _mm_xor_ps((a),FF1()) |
Definition at line 41 of file parallel_128_sse.h.
Definition at line 39 of file parallel_128_sse.h.
Definition at line 40 of file parallel_128_sse.h.
| #define FREE | ( | X | ) | _mm_free(X) |
Definition at line 43 of file parallel_128_sse.h.
| #define GROUP_PARALLELISM 128 |
Definition at line 35 of file parallel_128_sse.h.
| #define M_EMPTY | ( | void | ) | _mm_empty() |
Definition at line 71 of file parallel_128_sse.h.
| #define MALLOC | ( | X | ) | _mm_malloc(X,16) |
Definition at line 42 of file parallel_128_sse.h.
| #define MEMALIGN_VAL 16 |
Definition at line 24 of file parallel_128_sse.h.
| #define XOR_8_BY | ( | d, | |
| s1, | |||
| s2 | |||
| ) | do { *(__m64*)d = _mm_xor_si64(*(__m64*)(s1), *(__m64*)(s2)); } while(0) |
Definition at line 75 of file parallel_128_sse.h.
| #define XOREQ_8_BY | ( | d, | |
| s | |||
| ) | XOR_8_BY(d, d, s) |
Definition at line 78 of file parallel_128_sse.h.
| typedef __m64 batch |
Definition at line 57 of file parallel_128_sse.h.
| typedef __m128 group |
Definition at line 34 of file parallel_128_sse.h.
| static void XOR_BEST_BY | ( | unsigned char * | d, |
| unsigned char * | s1, | ||
| unsigned char * | s2 | ||
| ) | [inline, static] |
Definition at line 87 of file parallel_128_sse.h.
{
__m128 vs1 = _mm_load_ps((float*)s1);
__m128 vs2 = _mm_load_ps((float*)s2);
vs1 = _mm_xor_ps(vs1, vs2);
_mm_store_ps((float*)d, vs1);
}
Definition at line 31 of file parallel_128_sse.h.
Definition at line 51 of file parallel_128_sse.h.
Definition at line 52 of file parallel_128_sse.h.
Definition at line 32 of file parallel_128_sse.h.
Definition at line 53 of file parallel_128_sse.h.
Definition at line 50 of file parallel_128_sse.h.
Definition at line 54 of file parallel_128_sse.h.
Definition at line 55 of file parallel_128_sse.h.