#endif
#include <setjmp.h>
+#ifdef __i386__
+#include <cpuid.h>
+#endif
#include <string>
#include <sstream>
#include <fstream>
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_)