aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86JITInfo.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp
index 713579e6bb..fe58ec74a2 100644
--- a/lib/Target/X86/X86JITInfo.cpp
+++ b/lib/Target/X86/X86JITInfo.cpp
@@ -256,7 +256,8 @@ TargetJITInfo::LazyResolverFn
X86JITInfo::getLazyResolverFunction(JITCompilerFn F) {
JITCompilerFunction = F;
-#if !defined(__x86_64__)
+#if (defined(__i386__) || defined(i386) || defined(_M_IX86)) && \
+ !defined(_MSC_VER) && !defined(__x86_64__)
unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
union {
unsigned u[3];
@@ -279,11 +280,12 @@ X86JITInfo::getLazyResolverFunction(JITCompilerFn F) {
void *X86JITInfo::emitFunctionStub(void *Fn, MachineCodeEmitter &MCE) {
// Note, we cast to intptr_t here to silence a -pedantic warning that
// complains about casting a function pointer to a normal pointer.
-#if defined(__x86_64__)
- bool NotCC = Fn != (void*)(intptr_t)X86CompilationCallback;
-#else
+#if (defined(__i386__) || defined(i386) || defined(_M_IX86)) && \
+ !defined(_MSC_VER) && !defined(__x86_64__)
bool NotCC = (Fn != (void*)(intptr_t)X86CompilationCallback &&
Fn != (void*)(intptr_t)X86CompilationCallback_SSE);
+#else
+ bool NotCC = Fn != (void*)(intptr_t)X86CompilationCallback;
#endif
if (NotCC) {
MCE.startFunctionStub(5);