diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-06-29 00:36:51 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-06-29 00:36:51 +0000 |
commit | 09c545790dc3a512d50ba787a688e194eced6a34 (patch) | |
tree | cf45e6f7483ac8273e48e9d4ec887aae369ce87d /lib/Target/X86/X86RegisterInfo.cpp | |
parent | a8e83ec8c30f8c1c56a0ccf16dd7aff9450cd232 (diff) | |
download | external_llvm-09c545790dc3a512d50ba787a688e194eced6a34.zip external_llvm-09c545790dc3a512d50ba787a688e194eced6a34.tar.gz external_llvm-09c545790dc3a512d50ba787a688e194eced6a34.tar.bz2 |
Add shift and rotate by 1 instructions / patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28980 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index a27ca95..ea55e45 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -288,30 +288,45 @@ MachineInstr* X86RegisterInfo::foldMemoryOperand(MachineInstr* MI, case X86::SHL8ri: return MakeMIInst(X86::SHL8mi , FrameIndex, MI); case X86::SHL16ri: return MakeMIInst(X86::SHL16mi, FrameIndex, MI); case X86::SHL32ri: return MakeMIInst(X86::SHL32mi, FrameIndex, MI); + case X86::SHL8r1: return MakeMInst(X86::SHL8m1 , FrameIndex, MI); + case X86::SHL16r1: return MakeMInst(X86::SHL16m1, FrameIndex, MI); + case X86::SHL32r1: return MakeMInst(X86::SHL32m1, FrameIndex, MI); case X86::SHR8rCL: return MakeMInst( X86::SHR8mCL ,FrameIndex, MI); case X86::SHR16rCL: return MakeMInst( X86::SHR16mCL,FrameIndex, MI); case X86::SHR32rCL: return MakeMInst( X86::SHR32mCL,FrameIndex, MI); case X86::SHR8ri: return MakeMIInst(X86::SHR8mi , FrameIndex, MI); case X86::SHR16ri: return MakeMIInst(X86::SHR16mi, FrameIndex, MI); case X86::SHR32ri: return MakeMIInst(X86::SHR32mi, FrameIndex, MI); + case X86::SHR8r1: return MakeMInst(X86::SHR8m1 , FrameIndex, MI); + case X86::SHR16r1: return MakeMInst(X86::SHR16m1, FrameIndex, MI); + case X86::SHR32r1: return MakeMInst(X86::SHR32m1, FrameIndex, MI); case X86::SAR8rCL: return MakeMInst( X86::SAR8mCL ,FrameIndex, MI); case X86::SAR16rCL: return MakeMInst( X86::SAR16mCL,FrameIndex, MI); case X86::SAR32rCL: return MakeMInst( X86::SAR32mCL,FrameIndex, MI); case X86::SAR8ri: return MakeMIInst(X86::SAR8mi , FrameIndex, MI); case X86::SAR16ri: return MakeMIInst(X86::SAR16mi, FrameIndex, MI); case X86::SAR32ri: return MakeMIInst(X86::SAR32mi, FrameIndex, MI); + case X86::SAR8r1: return MakeMInst(X86::SAR8m1 , FrameIndex, MI); + case X86::SAR16r1: return MakeMInst(X86::SAR16m1, FrameIndex, MI); + case X86::SAR32r1: return MakeMInst(X86::SAR32m1, FrameIndex, MI); case X86::ROL8rCL: return MakeMInst( X86::ROL8mCL ,FrameIndex, MI); case X86::ROL16rCL: return MakeMInst( X86::ROL16mCL,FrameIndex, MI); case X86::ROL32rCL: return MakeMInst( X86::ROL32mCL,FrameIndex, MI); case X86::ROL8ri: return MakeMIInst(X86::ROL8mi , FrameIndex, MI); case X86::ROL16ri: return MakeMIInst(X86::ROL16mi, FrameIndex, MI); case X86::ROL32ri: return MakeMIInst(X86::ROL32mi, FrameIndex, MI); + case X86::ROL8r1: return MakeMInst(X86::ROL8m1 , FrameIndex, MI); + case X86::ROL16r1: return MakeMInst(X86::ROL16m1, FrameIndex, MI); + case X86::ROL32r1: return MakeMInst(X86::ROL32m1, FrameIndex, MI); case X86::ROR8rCL: return MakeMInst( X86::ROR8mCL ,FrameIndex, MI); case X86::ROR16rCL: return MakeMInst( X86::ROR16mCL,FrameIndex, MI); case X86::ROR32rCL: return MakeMInst( X86::ROR32mCL,FrameIndex, MI); case X86::ROR8ri: return MakeMIInst(X86::ROR8mi , FrameIndex, MI); case X86::ROR16ri: return MakeMIInst(X86::ROR16mi, FrameIndex, MI); case X86::ROR32ri: return MakeMIInst(X86::ROR32mi, FrameIndex, MI); + case X86::ROR8r1: return MakeMInst(X86::ROR8m1 , FrameIndex, MI); + case X86::ROR16r1: return MakeMInst(X86::ROR16m1, FrameIndex, MI); + case X86::ROR32r1: return MakeMInst(X86::ROR32m1, FrameIndex, MI); case X86::SHLD32rrCL:return MakeMRInst( X86::SHLD32mrCL,FrameIndex, MI); case X86::SHLD32rri8:return MakeMRIInst(X86::SHLD32mri8,FrameIndex, MI); case X86::SHRD32rrCL:return MakeMRInst( X86::SHRD32mrCL,FrameIndex, MI); |