From bf15e44b4fad188a7790805b171b6d8fb34af5a3 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Wed, 27 Jul 2022 00:18:49 -0500 Subject: [PATCH] faster --- src/pixie/simd/sse2.nim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pixie/simd/sse2.nim b/src/pixie/simd/sse2.nim index 815b880..2d13153 100644 --- a/src/pixie/simd/sse2.nim +++ b/src/pixie/simd/sse2.nim @@ -386,10 +386,9 @@ proc minifyBy2Sse2*(image: Image, power = 1): Image {.simd.} = # index 0 and 2 so mask the others out and shift 0 and 2 into # position and store masked = mm_and_si128(merged, mergedMask) - mm_storeu_si128( - result.data[result.dataIndex(x, y)].addr, - mm_shuffle_epi32(masked, MM_SHUFFLE(3, 3, 2, 0)) - ) + shuffled = mm_shuffle_epi32(masked, MM_SHUFFLE(3, 3, 2, 0)) + lower = mm_cvtsi128_si64(shuffled) + copyMem(result.data[result.dataIndex(x, y)].addr, lower.unsafeAddr, 8) x += 2 for x in x ..< resultEvenWidth: