From: Alkis Evlogimenos Date: Tue, 17 Feb 2004 08:08:51 +0000 (+0000) Subject: Add support for folding memory operands for ADC, SBB and SUB instructions. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=18bd7bb4d453e014c39729c4bf2b43f1846b8a9a;p=oota-llvm.git Add support for folding memory operands for ADC, SBB and SUB instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11541 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 5d132dec206..7db02dfe838 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -131,9 +131,17 @@ bool X86RegisterInfo::foldMemoryOperand(MachineBasicBlock::iterator &MI, case X86::ADDrr8: NI = MakeMRInst(X86::ADDmr8 , FrameIndex, MI); break; case X86::ADDrr16: NI = MakeMRInst(X86::ADDmr16, FrameIndex, MI); break; case X86::ADDrr32: NI = MakeMRInst(X86::ADDmr32, FrameIndex, MI); break; + case X86::ADCrr32: NI = MakeMRInst(X86::ADCmr32, FrameIndex, MI); break; case X86::ADDri8: NI = MakeMIInst(X86::ADDmi8 , FrameIndex, MI); break; case X86::ADDri16: NI = MakeMIInst(X86::ADDmi16, FrameIndex, MI); break; case X86::ADDri32: NI = MakeMIInst(X86::ADDmi32, FrameIndex, MI); break; + case X86::SUBrr8: NI = MakeMRInst(X86::SUBmr8 , FrameIndex, MI); break; + case X86::SUBrr16: NI = MakeMRInst(X86::SUBmr16, FrameIndex, MI); break; + case X86::SUBrr32: NI = MakeMRInst(X86::SUBmr32, FrameIndex, MI); break; + case X86::SBBrr32: NI = MakeMRInst(X86::SBBmr32, FrameIndex, MI); break; + case X86::SUBri8: NI = MakeMIInst(X86::SUBmi8 , FrameIndex, MI); break; + case X86::SUBri16: NI = MakeMIInst(X86::SUBmi16, FrameIndex, MI); break; + case X86::SUBri32: NI = MakeMIInst(X86::SUBmi32, FrameIndex, MI); break; case X86::ANDrr8: NI = MakeMRInst(X86::ANDmr8 , FrameIndex, MI); break; case X86::ANDrr16: NI = MakeMRInst(X86::ANDmr16, FrameIndex, MI); break; case X86::ANDrr32: NI = MakeMRInst(X86::ANDmr32, FrameIndex, MI); break; @@ -150,6 +158,11 @@ bool X86RegisterInfo::foldMemoryOperand(MachineBasicBlock::iterator &MI, case X86::ADDrr8: NI = MakeRMInst(X86::ADDrm8 , FrameIndex, MI); break; case X86::ADDrr16: NI = MakeRMInst(X86::ADDrm16, FrameIndex, MI); break; case X86::ADDrr32: NI = MakeRMInst(X86::ADDrm32, FrameIndex, MI); break; + case X86::ADCrr32: NI = MakeRMInst(X86::ADCrm32, FrameIndex, MI); break; + case X86::SUBrr8: NI = MakeRMInst(X86::SUBrm8 , FrameIndex, MI); break; + case X86::SUBrr16: NI = MakeRMInst(X86::SUBrm16, FrameIndex, MI); break; + case X86::SUBrr32: NI = MakeRMInst(X86::SUBrm32, FrameIndex, MI); break; + case X86::SBBrr32: NI = MakeRMInst(X86::SBBrm32, FrameIndex, MI); break; case X86::ANDrr8: NI = MakeRMInst(X86::ANDrm8 , FrameIndex, MI); break; case X86::ANDrr16: NI = MakeRMInst(X86::ANDrm16, FrameIndex, MI); break; case X86::ANDrr32: NI = MakeRMInst(X86::ANDrm32, FrameIndex, MI); break;