aboutsummaryrefslogtreecommitdiff
path: root/src/cube.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/cube.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cube.c b/src/cube.c
index 62ac6e3..6eb49f0 100644
--- a/src/cube.c
+++ b/src/cube.c
@@ -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)

Generated with cgit - Back to sebastiano.tronto.net