aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-06-29 00:36:51 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-06-29 00:36:51 +0000
commit09c545790dc3a512d50ba787a688e194eced6a34 (patch)
treecf45e6f7483ac8273e48e9d4ec887aae369ce87d /lib/Target/X86/X86RegisterInfo.cpp
parenta8e83ec8c30f8c1c56a0ccf16dd7aff9450cd232 (diff)
downloadexternal_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.cpp15
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);