aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86InstrInfo.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-05-30 06:59:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-05-30 06:59:36 +0000
commite6ad27e9173e15e4954d96ef3b1e8efa6c032d87 (patch)
treed4ca637365bc40646104a84bcc3e9208fbc1e6ed /lib/Target/X86/X86InstrInfo.td
parentdc7dd9719d67cbc9f99d72cf452a6392f1bc56fe (diff)
downloadexternal_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.td2
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.