diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-03-28 00:58:40 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-03-28 00:58:40 +0000 |
| commit | c56e4920d28a961b61f45374507761508b69bcce (patch) | |
| tree | d597cae7469d4ad0b6e6a7b96db9d7cad2ad8a6b /llvm/lib/Target/X86/X86InstrInfo.cpp | |
| parent | ad2db4a4cfe124df09ea518687c4a303d3cb706f (diff) | |
| download | bcm5719-llvm-c56e4920d28a961b61f45374507761508b69bcce.tar.gz bcm5719-llvm-c56e4920d28a961b61f45374507761508b69bcce.zip | |
Fix a problem building llvm-gcc on amd64-unknown-freebsd6.2, due to the
system assembler not groking legal instructions like "leal (,%esi,8), %ecx".
llvm-svn: 35393
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index cd783f3cf8b..aa15723c46e 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -158,7 +158,9 @@ X86InstrInfo::convertToThreeAddress(MachineFunction::iterator &MFI, unsigned ShAmt = MI->getOperand(2).getImm(); if (ShAmt == 0 || ShAmt >= 4) return 0; - NewMI = BuildMI(get(X86::LEA32r), Dest) + unsigned Opc = TM.getSubtarget<X86Subtarget>().is64Bit() ? + X86::LEA64_32r : X86::LEA32r; + NewMI = BuildMI(get(Opc), Dest) .addReg(0).addImm(1 << ShAmt).addReg(Src).addImm(0); break; } |

