diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-05-30 06:59:36 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-05-30 06:59:36 +0000 |
commit | e6ad27e9173e15e4954d96ef3b1e8efa6c032d87 (patch) | |
tree | d4ca637365bc40646104a84bcc3e9208fbc1e6ed /lib/Target/X86/X86InstrInfo.td | |
parent | dc7dd9719d67cbc9f99d72cf452a6392f1bc56fe (diff) | |
download | external_llvm-e6ad27e9173e15e4954d96ef3b1e8efa6c032d87.zip external_llvm-e6ad27e9173e15e4954d96ef3b1e8efa6c032d87.tar.gz external_llvm-e6ad27e9173e15e4954d96ef3b1e8efa6c032d87.tar.bz2 |
A addressing mode folding enhancement:
Fold c2 in (x << c1) | c2 where (c2 < c1)
e.g.
int test(int x) {
return (x << 3) + 7;
}
This can be codegen'd as:
leal 7(,%eax,8), %eax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28550 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrInfo.td')
-rw-r--r-- | lib/Target/X86/X86InstrInfo.td | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index de1c3a1..d222bea 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -133,7 +133,7 @@ def brtarget : Operand<OtherVT>; // Define X86 specific addressing mode. def addr : ComplexPattern<iPTR, 4, "SelectAddr", []>; def leaaddr : ComplexPattern<iPTR, 4, "SelectLEAAddr", - [add, mul, shl, frameindex]>; + [add, mul, shl, or, frameindex]>; //===----------------------------------------------------------------------===// // X86 Instruction Format Definitions. |