about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/vc/vc_0_7_clang_fix.patch
blob: 29ea6f5294906ca3c0de0defa387fe25ff3b907f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;
     }