diff -ur a/sse/intrinsics.h b/sse/intrinsics.h --- a/sse/intrinsics.h 2021-11-12 22:09:50.000000000 -0500 +++ b/sse/intrinsics.h 2021-11-12 22:14:08.000000000 -0500 @@ -498,16 +498,6 @@ case 0: f = _mm_cvtss_f32(v); break; -#if defined VC_IMPL_SSE4_1 && !defined VC_MSVC - default: -#ifdef VC_GCC - f = __builtin_ia32_vec_ext_v4sf(static_cast<__v4sf>(v), (i)); -#else - // MSVC fails to compile this because it can't optimize i to an immediate - _MM_EXTRACT_FLOAT(f, v, i); -#endif - break; -#else case 1: f = _mm_cvtss_f32(_mm_castsi128_ps(_mm_srli_si128(_mm_castps_si128(v), 4))); break; @@ -517,7 +507,6 @@ case 3: f = _mm_cvtss_f32(_mm_castsi128_ps(_mm_srli_si128(_mm_castps_si128(v), 12))); break; -#endif } return f; }