diff options
-rw-r--r-- | lib/Target/X86/X86ISelSimple.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index e5cf618fc1..37572aaefd 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -2925,7 +2925,7 @@ void X86ISel::emitShiftOperation(MachineBasicBlock *MBB, // if (ConstantUInt *CUI = dyn_cast<ConstantUInt>(ShiftAmount)) { unsigned Amount = CUI->getValue(); - if (Amount == 1) { // X << 1 == X+X + if (Amount == 1 && isLeftShift) { // X << 1 == X+X BuildMI(*MBB, IP, X86::ADD32rr, 2, DestReg).addReg(SrcReg).addReg(SrcReg); BuildMI(*MBB, IP, X86::ADC32rr, 2, |