@@ -72,26 +72,23 @@ _pg_HasSSE_NEON()
7272
7373/* Setup for RUN_16BIT_SHUFFLE_OUT */
7474#define SETUP_SHUFFLE \
75- __m128i shuff_dst, _shuff16_temp, mm128_colorA, mm128_colorB; \
76- mm128_colorA = _mm_unpacklo_epi8(mm128_color, _mm_setzero_si128()); \
77- mm128_colorB = _mm_unpackhi_epi8(mm128_color, _mm_setzero_si128());
75+ __m128i shuff_dst, _shuff16_temp, mm128_zero = _mm_setzero_si128(); \
76+ mm128_color = _mm_unpacklo_epi8(mm128_color, mm128_zero);
7877
79- #define RUN_16BIT_SHUFFLE_OUT (FILL_CODE ) \
80- /* ==== shuffle pixels out into two registers each, src */ \
81- /* and dst set up for 16 bit math, like 0A0R0G0B ==== */ \
82- shuff_dst = _mm_unpacklo_epi8(mm128_dst, _mm_setzero_si128()); \
83- mm128_color = mm128_colorA; \
84- \
85- {FILL_CODE} \
86- \
87- _shuff16_temp = shuff_dst; \
88- \
89- shuff_dst = _mm_unpackhi_epi8(mm128_dst, _mm_setzero_si128()); \
90- mm128_color = mm128_colorB; \
91- \
92- {FILL_CODE} \
93- \
94- /* ==== recombine A and B pixels ==== */ \
78+ #define RUN_16BIT_SHUFFLE_OUT (FILL_CODE ) \
79+ /* ==== shuffle pixels out into two registers each, src */ \
80+ /* and dst set up for 16 bit math, like 0A0R0G0B ==== */ \
81+ shuff_dst = _mm_unpacklo_epi8(mm128_dst, mm128_zero); \
82+ \
83+ {FILL_CODE} \
84+ \
85+ _shuff16_temp = shuff_dst; \
86+ \
87+ shuff_dst = _mm_unpackhi_epi8(mm128_dst, mm128_zero); \
88+ \
89+ {FILL_CODE} \
90+ \
91+ /* ==== recombine A and B pixels ==== */ \
9592 mm128_dst = _mm_packus_epi16 (_shuff16_temp , shuff_dst );
9693
9794#define FILLERS (NAME , COLOR_PROCESS_CODE , FILL_CODE ) \
0 commit comments