@@ -14,11 +14,11 @@ struct avx512_16bit_swizzle_ops {
14
14
__m512i v = vtype::cast_to (reg);
15
15
16
16
if constexpr (scale == 2 ) {
17
- std::vector< uint16_t > arr
17
+ constexpr static uint16_t arr[]
18
18
= {1 , 0 , 3 , 2 , 5 , 4 , 7 , 6 , 9 , 8 , 11 ,
19
19
10 , 13 , 12 , 15 , 14 , 17 , 16 , 19 , 18 , 21 , 20 ,
20
20
23 , 22 , 25 , 24 , 27 , 26 , 29 , 28 , 31 , 30 };
21
- __m512i mask = _mm512_loadu_si512 (arr. data () );
21
+ __m512i mask = _mm512_loadu_si512 (arr);
22
22
v = _mm512_permutexvar_epi16 (mask, v);
23
23
}
24
24
else if constexpr (scale == 4 ) {
@@ -48,27 +48,27 @@ struct avx512_16bit_swizzle_ops {
48
48
49
49
if constexpr (scale == 2 ) { return swap_n<vtype, 2 >(reg); }
50
50
else if constexpr (scale == 4 ) {
51
- std::vector< uint16_t > arr
51
+ constexpr static uint16_t arr[]
52
52
= {3 , 2 , 1 , 0 , 7 , 6 , 5 , 4 , 11 , 10 , 9 ,
53
53
8 , 15 , 14 , 13 , 12 , 19 , 18 , 17 , 16 , 23 , 22 ,
54
54
21 , 20 , 27 , 26 , 25 , 24 , 31 , 30 , 29 , 28 };
55
- __m512i mask = _mm512_loadu_si512 (arr. data () );
55
+ __m512i mask = _mm512_loadu_si512 (arr);
56
56
v = _mm512_permutexvar_epi16 (mask, v);
57
57
}
58
58
else if constexpr (scale == 8 ) {
59
- std::vector< uint16_t > arr
59
+ constexpr static int16_t arr[]
60
60
= {7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 , 15 , 14 , 13 ,
61
61
12 , 11 , 10 , 9 , 8 , 23 , 22 , 21 , 20 , 19 , 18 ,
62
62
17 , 16 , 31 , 30 , 29 , 28 , 27 , 26 , 25 , 24 };
63
- __m512i mask = _mm512_loadu_si512 (arr. data () );
63
+ __m512i mask = _mm512_loadu_si512 (arr);
64
64
v = _mm512_permutexvar_epi16 (mask, v);
65
65
}
66
66
else if constexpr (scale == 16 ) {
67
- std::vector< uint16_t > arr
67
+ constexpr static uint16_t arr[]
68
68
= {15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 ,
69
69
4 , 3 , 2 , 1 , 0 , 31 , 30 , 29 , 28 , 27 , 26 ,
70
70
25 , 24 , 23 , 22 , 21 , 20 , 19 , 18 , 17 , 16 };
71
- __m512i mask = _mm512_loadu_si512 (arr. data () );
71
+ __m512i mask = _mm512_loadu_si512 (arr);
72
72
v = _mm512_permutexvar_epi16 (mask, v);
73
73
}
74
74
else if constexpr (scale == 32 ) {
0 commit comments