- Notifications
You must be signed in to change notification settings - Fork5.1k
Commitf8f4afe
committed
Optimize vector8_has_le() on AArch64.
Presently, the SIMD implementation of this function uses unsignedsaturating subtraction to find bytes less than or equal to thegiven value, which is a workaround for the lack of unsignedcomparison instructions on some architectures. However, Neonoffers vminvq_u8(), which returns the minimum (unsigned) value inthe vector. This commit adds a Neon-specific implementation thatuses vminvq_u8() to optimize vector8_has_le() on AArch64.In passing, adjust the SSE2 implementation to use vector8_min() andvector8_eq() to find values less than or equal to the given value.This was the only use of vector8_ssub(), so it has been removed.Reviewed-by: John Naylor <johncnaylorls@gmail.com>Discussion:https://postgr.es/m/aNHDNDSHleq0ogC_%40nathan1 parent74b41f5 commitf8f4afe
1 file changed
+10
-27
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
86 | 86 |
| |
87 | 87 |
| |
88 | 88 |
| |
89 |
| - | |
90 | 89 |
| |
91 | 90 |
| |
92 | 91 |
| |
| |||
213 | 212 |
| |
214 | 213 |
| |
215 | 214 |
| |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
216 | 219 |
| |
217 | 220 |
| |
218 | 221 |
| |
| |||
250 | 253 |
| |
251 | 254 |
| |
252 | 255 |
| |
253 |
| - | |
254 |
| - | |
255 |
| - | |
256 |
| - | |
257 |
| - | |
258 |
| - | |
259 |
| - | |
260 |
| - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
261 | 262 |
| |
262 | 263 |
| |
263 | 264 |
| |
| |||
358 | 359 |
| |
359 | 360 |
| |
360 | 361 |
| |
361 |
| - | |
362 |
| - | |
363 |
| - | |
364 |
| - | |
365 |
| - | |
366 |
| - | |
367 |
| - | |
368 |
| - | |
369 |
| - | |
370 |
| - | |
371 |
| - | |
372 |
| - | |
373 |
| - | |
374 |
| - | |
375 |
| - | |
376 |
| - | |
377 |
| - | |
378 |
| - | |
379 | 362 |
| |
380 | 363 |
| |
381 | 364 |
| |
|
0 commit comments
Comments
(0)