@@ -182,13 +182,20 @@ extern unsigned char edge_stability[256 * 256];
182182 #endif
183183#endif
184184
185- #if (MOVE_GENERATOR >= MOVE_GENERATOR_SSE_ACEPCK ) && (MOVE_GENERATOR <= MOVE_GENERATOR_AVX512 )
185+ #if (MOVE_GENERATOR >= MOVE_GENERATOR_AVX ) && (MOVE_GENERATOR <= MOVE_GENERATOR_AVX512 )
186186 extern __m128i vectorcall mm_Flip (const __m128i OP , int pos );
187187 static inline __m128i vectorcall reduce_vflip (__m128i flip ) { return _mm_or_si128 (flip , _mm_shuffle_epi32 (flip , 0x4e )); }
188188 #define Flip (x ,P ,O ) ((unsigned long long) _mm_cvtsi128_si64(reduce_vflip(mm_Flip(_mm_set_epi64x((O), (P)), (x)))))
189189 #define board_flip (board ,x ) ((unsigned long long) _mm_cvtsi128_si64(reduce_vflip(mm_Flip(_mm_loadu_si128((__m128i *) (board)), (x)))))
190190 #define vboard_flip (board ,x ) ((unsigned long long) _mm_cvtsi128_si64(reduce_vflip(mm_Flip((board).v2, (x)))))
191191
192+ #elif MOVE_GENERATOR == MOVE_GENERATOR_SSE_ACEPCK
193+ extern __m128i vectorcall mm_Flip (const __m128i OP , int pos );
194+ #define reduce_vflip (x ) (x)
195+ #define Flip (x ,P ,O ) ((unsigned long long) _mm_cvtsi128_si64(mm_Flip(_mm_set_epi64x((O), (P)), (x))))
196+ #define board_flip (board ,x ) ((unsigned long long) _mm_cvtsi128_si64(mm_Flip(_mm_loadu_si128((__m128i *) (board)), (x))))
197+ #define vboard_flip (board ,x ) ((unsigned long long) _mm_cvtsi128_si64(mm_Flip((board).v2, (x))))
198+
192199#elif MOVE_GENERATOR == MOVE_GENERATOR_SSE
193200 extern __m128i (vectorcall * mm_flip [BOARD_SIZE + 2 ])(const __m128i );
194201 #define Flip (x ,P ,O ) ((unsigned long long) _mm_cvtsi128_si64(mm_flip[x](_mm_set_epi64x((O), (P)))))
@@ -221,14 +228,13 @@ extern unsigned char edge_stability[256 * 256];
221228 extern void init_flip_sse (void );
222229 #endif
223230
224- #else
225- #if MOVE_GENERATOR == MOVE_GENERATOR_SSE_BSWAP
231+ #elif MOVE_GENERATOR == MOVE_GENERATOR_SSE_BSWAP
226232 extern unsigned long long Flip (int , unsigned long long , unsigned long long );
227- #else
233+ #define board_flip (board ,x ) Flip((x), (board)->player, (board)->opponent)
234+
235+ #else
228236 extern unsigned long long (* flip [BOARD_SIZE + 2 ])(const unsigned long long , const unsigned long long );
229237 #define Flip (x ,P ,O ) flip[x]((P), (O))
230- #endif
231-
232238 #define board_flip (board ,x ) Flip((x), (board)->player, (board)->opponent)
233239#endif
234240
0 commit comments