Not strictly correct anyzero_ps, but faster, and depends on that color alpha channel is always either 0xFF or 0.
| 158 | #ifdef __SSE__ |
| 159 | // Not strictly correct anyzero_ps, but faster, and depends on that color alpha channel is always either 0xFF or 0. |
| 160 | int anyzero_ps(__m128 m) |
| 161 | { |
| 162 | __m128 y = _mm_shuffle_ps(m, m, _MM_SHUFFLE(2,3,0,1)); |
| 163 | m = _mm_and_ps(m, y); |
| 164 | __m128 z = _mm_movehl_ps(m, m); |
| 165 | m = _mm_and_ps(m, z); |
| 166 | return _mm_ucomige_ss(m, m); |
| 167 | } |
| 168 | |
| 169 | int any_ps(__m128 m) |
| 170 | { |
no test coverage detected