diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2023-11-04 10:25:13 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2023-11-04 10:25:13 +0100 |
| commit | 3051b2342d67dcba2fdc0010fb26f5850964c4d9 (patch) | |
| tree | bc47ade8eb832d003e062ffaa2be6e26c185413a /src/_trans_avx2.c | |
| parent | ade2ed050a2d472b4dd01e30666f5e7ec5030724 (diff) | |
| download | nissy-core-3051b2342d67dcba2fdc0010fb26f5850964c4d9.tar.gz nissy-core-3051b2342d67dcba2fdc0010fb26f5850964c4d9.zip | |
avx2 fully works
Diffstat (limited to 'src/_trans_avx2.c')
| -rw-r--r-- | src/_trans_avx2.c | 13 |
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 @@ | |||
| 1 | static inline cube_t | 1 | static inline cube_t |
| 2 | flipallcorners(cube_t c) | 2 | flipallcorners(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 | } |
