From f9606139958fae7d5946fadc66bbbfdc21237c52 Mon Sep 17 00:00:00 2001 From: Vladislav Shchapov Date: Mon, 2 Feb 2026 00:11:18 +0500 Subject: Slide 32 hash entries per loop iteration when using LASX Signed-off-by: Vladislav Shchapov --- arch/loongarch/slide_hash_lasx.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/arch/loongarch/slide_hash_lasx.c b/arch/loongarch/slide_hash_lasx.c index 11c45d7058..f464779090 100644 --- a/arch/loongarch/slide_hash_lasx.c +++ b/arch/loongarch/slide_hash_lasx.c @@ -20,17 +20,20 @@ static inline void slide_hash_chain(Pos *table, uint32_t entries, const __m256i wsize) { table += entries; - table -= 16; + table -= 32; do { - __m256i value, result; + __m256i value1, value2, result1, result2; - value = __lasx_xvld(table, 0); - result = __lasx_xvssub_hu(value, wsize); - __lasx_xvst(result, table, 0); + value1 = __lasx_xvld(table, 0); + value2 = __lasx_xvld(table, 32); + result1 = __lasx_xvssub_hu(value1, wsize); + result2 = __lasx_xvssub_hu(value2, wsize); + __lasx_xvst(result1, table, 0); + __lasx_xvst(result2, table, 32); - table -= 16; - entries -= 16; + table -= 32; + entries -= 32; } while (entries > 0); } -- cgit 0.0.5-2-1-g0f52