Merge pull request #145710 from veprbl/pr/vc_0_7_darwin_fix
vc_0_7: fix darwin build
This commit is contained in:
commit
281d13c4db
2 changed files with 31 additions and 0 deletions
|
@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "190s4r2n3jsivl4j2m288j3rqmgjj6gl308hi9mzwyhcfn17q8br";
|
||||
};
|
||||
|
||||
# Avoid requesting an unreasonable intrinsic
|
||||
patches = lib.optional stdenv.cc.isClang ./vc_0_7_clang_fix.patch;
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
postPatch = ''
|
||||
|
|
28
pkgs/development/libraries/vc/vc_0_7_clang_fix.patch
Normal file
28
pkgs/development/libraries/vc/vc_0_7_clang_fix.patch
Normal file
|
@ -0,0 +1,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;
|
||||
}
|
Loading…
Reference in a new issue