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";
|
sha256 = "190s4r2n3jsivl4j2m288j3rqmgjj6gl308hi9mzwyhcfn17q8br";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Avoid requesting an unreasonable intrinsic
|
||||||
|
patches = lib.optional stdenv.cc.isClang ./vc_0_7_clang_fix.patch;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
postPatch = ''
|
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