]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
fix x86 debug alignr
authorKonstantinos Margaritis <markos@freevec.org>
Mon, 5 Jul 2021 06:07:02 +0000 (09:07 +0300)
committerKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Tue, 12 Oct 2021 08:51:34 +0000 (11:51 +0300)
src/util/supervector/arch/x86/impl.cpp

index 2d0d2e8a4836a2816ba9d3dd2d35f6aa793154a5..48aa5018cd3b557a4bc6862d3e2216f11a1f21c0 100644 (file)
@@ -277,23 +277,23 @@ template<>
 really_inline SuperVector<16> SuperVector<16>::alignr(SuperVector<16> &other, int8_t offset)
 {
        switch(offset) {
-       case 0: return *this; break;
-       case 1: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 15)}; break;
-       case 2: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 14)}; break;
-       case 3: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 13)}; break;
-       case 4: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 12)}; break;
-       case 5: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 11)}; break;
-       case 6: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 10)}; break;
-       case 7: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 9)}; break;
+       case 0: return other; break;
+       case 1: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 1)}; break;
+       case 2: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 2)}; break;
+       case 3: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 3)}; break;
+       case 4: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 4)}; break;
+       case 5: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 5)}; break;
+       case 6: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 6)}; break;
+       case 7: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 7)}; break;
        case 8: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 8)}; break;
-       case 9: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 7)}; break;
-       case 10: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 6)}; break;
-       case 11: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 5)}; break;
-       case 12: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 4)}; break;
-       case 13: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 3)}; break;
-       case 14: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 2)}; break;
-       case 15: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 1)}; break;
-       case 16: return other; break;
+       case 9: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 9)}; break;
+       case 10: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 10)}; break;
+       case 11: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 11)}; break;
+       case 12: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 12)}; break;
+       case 13: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 13)}; break;
+       case 14: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 14)}; break;
+       case 15: return {_mm_alignr_epi8(u.v128[0], other.u.v128[0], 15)}; break;
+       case 16: return *this; break;
        default: break;
        }
        return *this;