diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2023-11-02 18:44:52 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2023-11-02 18:44:52 +0100 |
| commit | a2b8556e3cdc59bbb4a89c2779d2094db975eaa5 (patch) | |
| tree | 8d212d7e4a08113e5acaa288190d9931a114f06c /src/cube.c | |
| parent | f034efca545cd215e878f525310910b27db24f36 (diff) | |
| download | nissy-core-a2b8556e3cdc59bbb4a89c2779d2094db975eaa5.tar.gz nissy-core-a2b8556e3cdc59bbb4a89c2779d2094db975eaa5.zip | |
Added transformations for avx2
Diffstat (limited to '')
| -rw-r--r-- | src/cube.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -126,10 +126,12 @@ cube_arr_t zerocube_arr = { .e = {0}, .c = {0} }; | |||
| 126 | 126 | ||
| 127 | #ifdef CUBE_AVX2 | 127 | #ifdef CUBE_AVX2 |
| 128 | 128 | ||
| 129 | #define setsolved(cube) cube = _mm256_loadu_si256((__m256i_u *)&solvedcube_arr) | 129 | #define _co_avx2 _mm256_set_epi64x(0, 0xF0F0F0F0F0F0F0F0, 0, 0) |
| 130 | #define setzero(cube) cube = _mm256_setzero_si256() | 130 | #define _eo_avx2 _mm256_set_epi64x(0, 0, 0xF0F0F0F0, 0xF0F0F0F0F0F0F0F0) |
| 131 | #define _c _mm256_set_epi64x(0, 0, 0, 0xFF) | 131 | #define _c _mm256_set_epi64x(0, 0, 0, 0xFF) |
| 132 | #define _e _mm256_set_epi64x(0, 0xFF, 0, 0) | 132 | #define _e _mm256_set_epi64x(0, 0xFF, 0, 0) |
| 133 | #define setsolved(cube) cube = _mm256_loadu_si256((__m256i_u *)&solvedcube_arr) | ||
| 134 | #define setzero(cube) cube = _mm256_setzero_si256() | ||
| 133 | /* TODO: in the next 4 macros, all 0 should be i, but must be constant! */ | 135 | /* TODO: in the next 4 macros, all 0 should be i, but must be constant! */ |
| 134 | #define get_edge(cube, i) _mm256_extract_epi8(cube, 0+16) | 136 | #define get_edge(cube, i) _mm256_extract_epi8(cube, 0+16) |
| 135 | #define get_corner(cube, i) _mm256_extract_epi8(cube, 0) | 137 | #define get_corner(cube, i) _mm256_extract_epi8(cube, 0) |
