forked from mirrors/nixpkgs
29 lines
904 B
Diff
29 lines
904 B
Diff
|
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;
|
||
|
}
|