From 87d3bb5dfa9b705952c89ca6e0dca251368a9457 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 30 Mar 2004 21:29:47 +0000 Subject: [PATCH] Implement spill code folding for all of the conditional move instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12554 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86RegisterInfo.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index b904c344b20..556bfd10b3f 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -259,9 +259,30 @@ MachineInstr* X86RegisterInfo::foldMemoryOperand(MachineInstr* MI, case X86::MOV8rr: return MakeRMInst(X86::MOV8rm , FrameIndex, MI); case X86::MOV16rr: return MakeRMInst(X86::MOV16rm, FrameIndex, MI); case X86::MOV32rr: return MakeRMInst(X86::MOV32rm, FrameIndex, MI); + case X86::CMOVB16rr: return MakeRMInst(X86::CMOVB16rm , FrameIndex, MI); + case X86::CMOVB32rr: return MakeRMInst(X86::CMOVB32rm , FrameIndex, MI); + case X86::CMOVAE16rr: return MakeRMInst(X86::CMOVAE16rm , FrameIndex, MI); + case X86::CMOVAE32rr: return MakeRMInst(X86::CMOVAE32rm , FrameIndex, MI); case X86::CMOVE16rr: return MakeRMInst(X86::CMOVE16rm , FrameIndex, MI); + case X86::CMOVE32rr: return MakeRMInst(X86::CMOVE32rm , FrameIndex, MI); + case X86::CMOVNE16rr:return MakeRMInst(X86::CMOVNE16rm, FrameIndex, MI); case X86::CMOVNE32rr:return MakeRMInst(X86::CMOVNE32rm, FrameIndex, MI); + case X86::CMOVBE16rr:return MakeRMInst(X86::CMOVBE16rm, FrameIndex, MI); + case X86::CMOVBE32rr:return MakeRMInst(X86::CMOVBE32rm, FrameIndex, MI); + case X86::CMOVA16rr:return MakeRMInst(X86::CMOVA16rm, FrameIndex, MI); + case X86::CMOVA32rr:return MakeRMInst(X86::CMOVA32rm, FrameIndex, MI); + case X86::CMOVS16rr: return MakeRMInst(X86::CMOVS16rm , FrameIndex, MI); case X86::CMOVS32rr: return MakeRMInst(X86::CMOVS32rm , FrameIndex, MI); + case X86::CMOVNS16rr: return MakeRMInst(X86::CMOVNS16rm , FrameIndex, MI); + case X86::CMOVNS32rr: return MakeRMInst(X86::CMOVNS32rm , FrameIndex, MI); + case X86::CMOVL16rr: return MakeRMInst(X86::CMOVL16rm , FrameIndex, MI); + case X86::CMOVL32rr: return MakeRMInst(X86::CMOVL32rm , FrameIndex, MI); + case X86::CMOVGE16rr: return MakeRMInst(X86::CMOVGE16rm , FrameIndex, MI); + case X86::CMOVGE32rr: return MakeRMInst(X86::CMOVGE32rm , FrameIndex, MI); + case X86::CMOVLE16rr: return MakeRMInst(X86::CMOVLE16rm , FrameIndex, MI); + case X86::CMOVLE32rr: return MakeRMInst(X86::CMOVLE32rm , FrameIndex, MI); + case X86::CMOVG16rr: return MakeRMInst(X86::CMOVG16rm , FrameIndex, MI); + case X86::CMOVG32rr: return MakeRMInst(X86::CMOVG32rm , FrameIndex, MI); case X86::ADD8rr: return MakeRMInst(X86::ADD8rm , FrameIndex, MI); case X86::ADD16rr: return MakeRMInst(X86::ADD16rm, FrameIndex, MI); case X86::ADD32rr: return MakeRMInst(X86::ADD32rm, FrameIndex, MI); -- 2.34.1