|
1 | 1 | /* |
2 | | - Copyright (C) 2016-2024 DeSmuME team |
| 2 | + Copyright (C) 2016-2025 DeSmuME team |
3 | 3 | |
4 | 4 | This file is free software: you can redistribute it and/or modify |
5 | 5 | it under the terms of the GNU General Public License as published by |
@@ -115,14 +115,16 @@ FORCEINLINE void ColorspaceConvert555xTo6665Opaque_AVX512(const v512u16 &srcColo |
115 | 115 | template <bool SWAP_RB> |
116 | 116 | FORCEINLINE void ColorspaceConvert5551To8888_AVX512(const v512u16 &srcColor, v512u32 &dstLo, v512u32 &dstHi) |
117 | 117 | { |
118 | | - const v512u16 srcAlphaBits16 = _mm512_and_si512( _mm512_cmpgt_epi16(_mm512_setzero_si512(), srcColor), _mm512_set1_epi16(0xFF00) ); |
| 118 | + const __mmask32 result = _mm512_cmpgt_epi16_mask(_mm512_setzero_si512(), srcColor); |
| 119 | + const v512u16 srcAlphaBits16 = _mm512_mask_blend_epi16( result, _mm512_setzero_si512(), _mm512_set1_epi16(0xFF00) ); |
119 | 120 | ColorspaceConvert555aTo8888_AVX512<SWAP_RB>(srcColor, srcAlphaBits16, dstLo, dstHi); |
120 | 121 | } |
121 | 122 |
|
122 | 123 | template <bool SWAP_RB> |
123 | 124 | FORCEINLINE void ColorspaceConvert5551To6665_AVX512(const v512u16 &srcColor, v512u32 &dstLo, v512u32 &dstHi) |
124 | 125 | { |
125 | | - const v512u16 srcAlphaBits16 = _mm512_and_si512( _mm512_cmpgt_epi16(_mm512_setzero_si512(), srcColor), _mm512_set1_epi16(0x1F00) ); |
| 126 | + const __mmask32 result = _mm512_cmpgt_epi16_mask(_mm512_setzero_si512(), srcColor); |
| 127 | + const v512u16 srcAlphaBits16 = _mm512_mask_blend_epi16( result, _mm512_setzero_si512(), _mm512_set1_epi16(0x1F00) ); |
126 | 128 | ColorspaceConvert555aTo6665_AVX512<SWAP_RB>(srcColor, srcAlphaBits16, dstLo, dstHi); |
127 | 129 | } |
128 | 130 |
|
|
0 commit comments