aboutsummaryrefslogtreecommitdiff
path: root/src/_trans_avx2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/_trans_avx2.c')
-rw-r--r--src/_trans_avx2.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/_trans_avx2.c b/src/_trans_avx2.c
index e80bf79..c296f6d 100644
--- a/src/_trans_avx2.c
+++ b/src/_trans_avx2.c
@@ -1,14 +1,15 @@
1static inline cube_t 1static inline cube_t
2flipallcorners(cube_t c) 2flipallcorners(cube_t c)
3{ 3{
4 cube_t shleft, shright, summed, newco, cleanco, ret; 4 cube_t co, shleft, shright, summed, newco, cleanco, ret;
5 5
6 shleft = _mm256_slli_si256(c, 1); 6 co = _mm256_and_si256(c, _co2_avx2);
7 shright = _mm256_srli_si256(c, 1); 7 shleft = _mm256_slli_epi32(co, 1);
8 shright = _mm256_srli_epi32(co, 1);
8 summed = _mm256_or_si256(shleft, shright); 9 summed = _mm256_or_si256(shleft, shright);
9 newco = _mm256_and_si256(summed, _co_avx2); 10 newco = _mm256_and_si256(summed, _co2_avx2);
10 cleanco = _mm256_andnot_si256(c, _co_avx2); 11 cleanco = _mm256_xor_si256(c, co);
11 ret = _mm256_and_si256(cleanco, newco); 12 ret = _mm256_or_si256(cleanco, newco);
12 13
13 return ret; 14 return ret;
14} 15}

Generated with cgit - Back to sebastiano.tronto.net