@@ -77,26 +77,23 @@ _pg_HasSSE_NEON()
77
77
78
78
/* Setup for RUN_16BIT_SHUFFLE_OUT */
79
79
#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);
83
82
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 ==== */ \
100
97
mm128_dst = _mm_packus_epi16 (_shuff16_temp , shuff_dst );
101
98
102
99
#define FILLERS (NAME , COLOR_PROCESS_CODE , FILL_CODE ) \
0 commit comments