diff options
-rw-r--r-- | lib/Target/X86/X86CodeEmitter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp index d27e647e40..719d621f97 100644 --- a/lib/Target/X86/X86CodeEmitter.cpp +++ b/lib/Target/X86/X86CodeEmitter.cpp @@ -658,7 +658,7 @@ void Emitter::emitInstruction(const MachineInstr &MI) { } else if (MO.isGlobalAddress()) { bool isTailCall = Opcode == X86::TAILJMPd || Opcode == X86::TAILJMPr || Opcode == X86::TAILJMPm; - emitGlobalAddressForCall(MO.getGlobal(), !isTailCall); + emitGlobalAddressForCall(MO.getGlobal(), !isTailCall && !Is64BitMode); } else if (MO.isExternalSymbol()) { emitExternalSymbolAddress(MO.getSymbolName(), X86::reloc_pcrel_word); } else if (MO.isImmediate()) { |