Merge pull request #145710 from veprbl/pr/vc_0_7_darwin_fix

vc_0_7: fix darwin build
This commit is contained in:
Ben Siraphob 2021-11-12 22:29:43 -06:00 committed by GitHub
commit 281d13c4db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 0 deletions

View file

@ -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 = ''

View 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;
}