diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/pixman/no-host-cpu-checks.patch | |
Diffstat (limited to 'vcpkg/ports/pixman/no-host-cpu-checks.patch')
| -rw-r--r-- | vcpkg/ports/pixman/no-host-cpu-checks.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/vcpkg/ports/pixman/no-host-cpu-checks.patch b/vcpkg/ports/pixman/no-host-cpu-checks.patch new file mode 100644 index 0000000..f70c54a --- /dev/null +++ b/vcpkg/ports/pixman/no-host-cpu-checks.patch @@ -0,0 +1,108 @@ +diff --git a/meson.build b/meson.build +index 1cec227..1b07ca8 100644 +--- a/meson.build ++++ b/meson.build +@@ -95,44 +95,7 @@ else + mmx_flags = ['-mmmx', '-Winline'] + endif + if not use_mmx.disabled() +- if host_machine.cpu_family() == 'x86_64' or cc.get_id() == 'msvc' +- have_mmx = true +- elif host_machine.cpu_family() == 'x86' and cc.compiles(''' +- #include <mmintrin.h> +- #include <stdint.h> +- +- /* Check support for block expressions */ +- #define _mm_shuffle_pi16(A, N) \ +- ({ \ +- __m64 ret; \ +- \ +- /* Some versions of clang will choke on K */ \ +- asm ("pshufw %2, %1, %0\n\t" \ +- : "=y" (ret) \ +- : "y" (A), "K" ((const int8_t)N) \ +- ); \ +- \ +- ret; \ +- }) +- +- int main () { +- __m64 v = _mm_cvtsi32_si64 (1); +- __m64 w; +- +- w = _mm_shuffle_pi16(v, 5); +- +- /* Some versions of clang will choke on this */ +- asm ("pmulhuw %1, %0\n\t" +- : "+y" (w) +- : "y" (v) +- ); +- +- return _mm_cvtsi64_si32 (v); +- }''', +- args : mmx_flags, +- name : 'MMX Intrinsic Support') +- have_mmx = true +- endif ++ have_mmx = true + endif + + if have_mmx +@@ -154,29 +117,7 @@ elif cc.get_id() != 'msvc' + sse2_flags = ['-msse2', '-Winline'] + endif + if not use_sse2.disabled() +- if host_machine.cpu_family() == 'x86' +- if cc.compiles(''' +- #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) +- # if !defined(__amd64__) && !defined(__x86_64__) +- # error "Need GCC >= 4.2 for SSE2 intrinsics on x86" +- # endif +- #endif +- #include <mmintrin.h> +- #include <xmmintrin.h> +- #include <emmintrin.h> +- int param; +- int main () { +- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; +- c = _mm_xor_si128 (a, b); +- return _mm_cvtsi128_si32(c); +- }''', +- args : sse2_flags, +- name : 'SSE2 Intrinsic Support') +- have_sse2 = true +- endif +- elif host_machine.cpu_family() == 'x86_64' +- have_sse2 = true +- endif ++ have_sse2 = true + endif + + if have_sse2 +@@ -192,24 +133,8 @@ if cc.get_id() != 'msvc' + ssse3_flags = ['-mssse3', '-Winline'] + endif + +-# x64 pre-2010 MSVC compilers crashes when building the ssse3 code +-if not use_ssse3.disabled() and not (cc.get_id() == 'msvc' and cc.version().version_compare('<16') and host_machine.cpu_family() == 'x86_64') +- if host_machine.cpu_family().startswith('x86') +- if cc.compiles(''' +- #include <mmintrin.h> +- #include <xmmintrin.h> +- #include <emmintrin.h> +- int param; +- int main () { +- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; +- c = _mm_xor_si128 (a, b); +- return _mm_cvtsi128_si32(c); +- }''', +- args : ssse3_flags, +- name : 'SSSE3 Intrinsic Support') +- have_ssse3 = true +- endif +- endif ++if use_ssse3.enabled() ++ have_ssse3 = true + endif + + if have_ssse3 |