@@ -72,26 +72,23 @@ _pg_HasSSE_NEON()
72
72
73
73
/* Setup for RUN_16BIT_SHUFFLE_OUT */
74
74
#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);
78
77
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 ==== */ \
95
92
mm128_dst = _mm_packus_epi16 (_shuff16_temp , shuff_dst );
96
93
97
94
#define FILLERS (NAME , COLOR_PROCESS_CODE , FILL_CODE ) \
0 commit comments