#include <asm/i387.h>
#include <asm/xor_avx.h>
Go to the source code of this file.
|
| #define | OFFS(x) "16*("#x")" |
| |
| #define | PF_OFFS(x) "256+16*("#x")" |
| |
| #define | PF0(x) " prefetchnta "PF_OFFS(x)"(%[p1]) ;\n" |
| |
| #define | LD(x, y) " movaps "OFFS(x)"(%[p1]), %%xmm"#y" ;\n" |
| |
| #define | ST(x, y) " movaps %%xmm"#y", "OFFS(x)"(%[p1]) ;\n" |
| |
| #define | PF1(x) " prefetchnta "PF_OFFS(x)"(%[p2]) ;\n" |
| |
| #define | PF2(x) " prefetchnta "PF_OFFS(x)"(%[p3]) ;\n" |
| |
| #define | PF3(x) " prefetchnta "PF_OFFS(x)"(%[p4]) ;\n" |
| |
| #define | PF4(x) " prefetchnta "PF_OFFS(x)"(%[p5]) ;\n" |
| |
| #define | PF5(x) " prefetchnta "PF_OFFS(x)"(%[p6]) ;\n" |
| |
| #define | XO1(x, y) " xorps "OFFS(x)"(%[p2]), %%xmm"#y" ;\n" |
| |
| #define | XO2(x, y) " xorps "OFFS(x)"(%[p3]), %%xmm"#y" ;\n" |
| |
| #define | XO3(x, y) " xorps "OFFS(x)"(%[p4]), %%xmm"#y" ;\n" |
| |
| #define | XO4(x, y) " xorps "OFFS(x)"(%[p5]), %%xmm"#y" ;\n" |
| |
| #define | XO5(x, y) " xorps "OFFS(x)"(%[p6]), %%xmm"#y" ;\n" |
| |
| #define | BLOCK(i) |
| |
| #define | BLOCK(i) |
| |
| #define | BLOCK(i) |
| |
| #define | BLOCK(i) |
| |
| #define | XOR_TRY_TEMPLATES |
| |
| #define | XOR_SELECT_TEMPLATE(FASTEST) AVX_SELECT(&xor_block_sse) |
| |
| #define LD |
( |
|
x, |
|
|
|
y |
|
) |
| " movaps "OFFS(x)"(%[p1]), %%xmm"#y" ;\n" |
| #define OFFS |
( |
|
x | ) |
"16*("#x")" |
| #define PF0 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p1]) ;\n" |
| #define PF1 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p2]) ;\n" |
| #define PF2 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p3]) ;\n" |
| #define PF3 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p4]) ;\n" |
| #define PF4 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p5]) ;\n" |
| #define PF5 |
( |
|
x | ) |
" prefetchnta "PF_OFFS(x)"(%[p6]) ;\n" |
| #define PF_OFFS |
( |
|
x | ) |
"256+16*("#x")" |
| #define ST |
( |
|
x, |
|
|
|
y |
|
) |
| " movaps %%xmm"#y", "OFFS(x)"(%[p1]) ;\n" |
| #define XO1 |
( |
|
x, |
|
|
|
y |
|
) |
| " xorps "OFFS(x)"(%[p2]), %%xmm"#y" ;\n" |
| #define XO2 |
( |
|
x, |
|
|
|
y |
|
) |
| " xorps "OFFS(x)"(%[p3]), %%xmm"#y" ;\n" |
| #define XO3 |
( |
|
x, |
|
|
|
y |
|
) |
| " xorps "OFFS(x)"(%[p4]), %%xmm"#y" ;\n" |
| #define XO4 |
( |
|
x, |
|
|
|
y |
|
) |
| " xorps "OFFS(x)"(%[p5]), %%xmm"#y" ;\n" |
| #define XO5 |
( |
|
x, |
|
|
|
y |
|
) |
| " xorps "OFFS(x)"(%[p6]), %%xmm"#y" ;\n" |
| #define XOR_SELECT_TEMPLATE |
( |
|
FASTEST | ) |
AVX_SELECT(&xor_block_sse) |
| #define XOR_TRY_TEMPLATES |
Value:do { \
AVX_XOR_SPEED; \
xor_speed(&xor_block_sse); \
} while (0)
Definition at line 312 of file xor_64.h.