diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp index d266451075d..3bce3b0c9c7 100644 --- a/lib/Target/X86/X86FastISel.cpp +++ b/lib/Target/X86/X86FastISel.cpp @@ -462,7 +462,7 @@ bool X86FastISel::X86SelectAddress(Value *V, X86AddressMode &AM, bool isCall) { } // If all else fails, try to materialize the value in a register. - if (!AM.GV && getTargetMachine()->symbolicAddressesAreRIPRel()) { + if (!AM.GV || !getTargetMachine()->symbolicAddressesAreRIPRel()) { if (AM.Base.Reg == 0) { AM.Base.Reg = getRegForValue(V); return AM.Base.Reg != 0;