From: Debian Julia Team Date: Sat, 2 Mar 2019 23:41:50 +0000 (+0000) Subject: require-sse2-on-i386 X-Git-Tag: archive/raspbian/1.0.4+dfsg-1+rpi1~18 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fb615cb4b687624112c04efddba683c8b7511e96;p=julia.git require-sse2-on-i386 Gbp-Pq: Name require-sse2-on-i386.patch --- diff --git a/src/codegen.cpp b/src/codegen.cpp index 89a9727..5201b2a 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -26,6 +26,9 @@ #endif #include +#ifdef __i386__ +#include +#endif #include #include #include @@ -7378,6 +7381,15 @@ static void init_julia_llvm_env(Module *m) extern "C" void *jl_init_llvm(void) { +#ifdef __i386__ + unsigned int eax = 0, ebx = 0, ecx = 0, edx = 0; + __get_cpuid(1, &eax, &ebx, &ecx, &edx); + if (!(edx & bit_SSE2)) { + fprintf(stderr, "Your processor does not have SSE2 extension, which is required by Julia. Exiting.\n"); + exit(EXIT_FAILURE); + } +#endif + const char *const argv_tailmerge[] = {"", "-enable-tail-merge=0"}; // NOO TOUCHIE; NO TOUCH! See #922 cl::ParseCommandLineOptions(sizeof(argv_tailmerge)/sizeof(argv_tailmerge[0]), argv_tailmerge, "disable-tail-merge\n"); #if defined(_OS_WINDOWS_) && defined(_CPU_X86_64_)