@@ -46,6 +46,13 @@ impl Vector for __m16i {
46
46
}
47
47
}
48
48
49
+ impl From < __m128i > for __m16i {
50
+ #[ inline]
51
+ fn from ( vector : __m128i ) -> Self {
52
+ Self ( vector)
53
+ }
54
+ }
55
+
49
56
#[ derive( Clone , Copy ) ]
50
57
#[ repr( transparent) ]
51
58
#[ allow( non_camel_case_types) ]
@@ -85,6 +92,13 @@ impl Vector for __m32i {
85
92
}
86
93
}
87
94
95
+ impl From < __m128i > for __m32i {
96
+ #[ inline]
97
+ fn from ( vector : __m128i ) -> Self {
98
+ Self ( vector)
99
+ }
100
+ }
101
+
88
102
#[ derive( Clone , Copy ) ]
89
103
#[ repr( transparent) ]
90
104
#[ allow( non_camel_case_types) ]
@@ -124,6 +138,13 @@ impl Vector for __m64i {
124
138
}
125
139
}
126
140
141
+ impl From < __m128i > for __m64i {
142
+ #[ inline]
143
+ fn from ( vector : __m128i ) -> Self {
144
+ Self ( vector)
145
+ }
146
+ }
147
+
127
148
impl Vector for __m128i {
128
149
const LANES : usize = 16 ;
129
150
@@ -192,36 +213,6 @@ impl Vector for __m256i {
192
213
}
193
214
}
194
215
195
- impl From < & VectorHash < __m128i > > for VectorHash < __m64i > {
196
- #[ inline]
197
- fn from ( hash : & VectorHash < __m128i > ) -> Self {
198
- Self {
199
- first : __m64i ( hash. first ) ,
200
- last : __m64i ( hash. last ) ,
201
- }
202
- }
203
- }
204
-
205
- impl From < & VectorHash < __m128i > > for VectorHash < __m32i > {
206
- #[ inline]
207
- fn from ( hash : & VectorHash < __m128i > ) -> Self {
208
- Self {
209
- first : __m32i ( hash. first ) ,
210
- last : __m32i ( hash. last ) ,
211
- }
212
- }
213
- }
214
-
215
- impl From < & VectorHash < __m128i > > for VectorHash < __m16i > {
216
- #[ inline]
217
- fn from ( hash : & VectorHash < __m128i > ) -> Self {
218
- Self {
219
- first : __m16i ( hash. first ) ,
220
- last : __m16i ( hash. last ) ,
221
- }
222
- }
223
- }
224
-
225
216
/// Single-substring searcher using an AVX2 algorithm based on the "Generic
226
217
/// SIMD" algorithm [presented by Wojciech
227
218
/// Muła](http://0x80.pl/articles/simd-strfind.html).
0 commit comments