@@ -77,26 +77,23 @@ _pg_HasSSE_NEON()
7777
7878/* Setup for RUN_16BIT_SHUFFLE_OUT */
7979#define SETUP_SHUFFLE \
80- __m128i shuff_dst, _shuff16_temp, mm128_colorA, mm128_colorB; \
81- mm128_colorA = _mm_unpacklo_epi8(mm128_color, _mm_setzero_si128()); \
82- mm128_colorB = _mm_unpackhi_epi8(mm128_color, _mm_setzero_si128());
80+ __m128i shuff_dst, _shuff16_temp, mm128_zero = _mm_setzero_si128(); \
81+ mm128_color = _mm_unpacklo_epi8(mm128_color, mm128_zero);
8382
84- #define RUN_16BIT_SHUFFLE_OUT (FILL_CODE ) \
85- /* ==== shuffle pixels out into two registers each, src */ \
86- /* and dst set up for 16 bit math, like 0A0R0G0B ==== */ \
87- shuff_dst = _mm_unpacklo_epi8(mm128_dst, _mm_setzero_si128()); \
88- mm128_color = mm128_colorA; \
89- \
90- {FILL_CODE} \
91- \
92- _shuff16_temp = shuff_dst; \
93- \
94- shuff_dst = _mm_unpackhi_epi8(mm128_dst, _mm_setzero_si128()); \
95- mm128_color = mm128_colorB; \
96- \
97- {FILL_CODE} \
98- \
99- /* ==== recombine A and B pixels ==== */ \
83+ #define RUN_16BIT_SHUFFLE_OUT (FILL_CODE ) \
84+ /* ==== shuffle pixels out into two registers each, src */ \
85+ /* and dst set up for 16 bit math, like 0A0R0G0B ==== */ \
86+ shuff_dst = _mm_unpacklo_epi8(mm128_dst, mm128_zero); \
87+ \
88+ {FILL_CODE} \
89+ \
90+ _shuff16_temp = shuff_dst; \
91+ \
92+ shuff_dst = _mm_unpackhi_epi8(mm128_dst, mm128_zero); \
93+ \
94+ {FILL_CODE} \
95+ \
96+ /* ==== recombine A and B pixels ==== */ \
10097 mm128_dst = _mm_packus_epi16 (_shuff16_temp , shuff_dst );
10198
10299#define FILLERS (NAME , COLOR_PROCESS_CODE , FILL_CODE ) \
0 commit comments