summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-09-11 19:24:19 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-09-11 19:24:19 +0000
commitc7829d62c00423d7d244bf2ce6bc5107e7cc5a61 (patch)
tree2963d3a09c8c5bce95a33e956bdb25a6c08fa9e9 /llvm/lib/Target
parentbccf9c2f1bbbcc5eab2720820f26d37c67529991 (diff)
downloadbcm5719-llvm-c7829d62c00423d7d244bf2ce6bc5107e7cc5a61.tar.gz
bcm5719-llvm-c7829d62c00423d7d244bf2ce6bc5107e7cc5a61.zip
implement SRL and MUL
llvm-svn: 30262
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index 8e2173b2d62..ecbe48b4d06 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -129,6 +129,11 @@ def SRA : InstARM<(ops IntRegs:$dst, IntRegs:$a, IntRegs:$b),
"mov $dst, $a, asr $b",
[(set IntRegs:$dst, (sra IntRegs:$a, IntRegs:$b))]>;
+def SRL : InstARM<(ops IntRegs:$dst, IntRegs:$a, IntRegs:$b),
+ "mov $dst, $a, lsr $b",
+ [(set IntRegs:$dst, (srl IntRegs:$a, IntRegs:$b))]>;
+
+
def EOR : InstARM<(ops IntRegs:$dst, IntRegs:$a, op_addr_mode1:$b),
"eor $dst, $a, $b",
[(set IntRegs:$dst, (xor IntRegs:$a, addr_mode1:$b))]>;
@@ -145,6 +150,10 @@ let isTwoAddress = 1 in {
IntRegs:$false, imm:$cc))]>;
}
+def MUL : InstARM<(ops IntRegs:$dst, IntRegs:$a, IntRegs:$b),
+ "mul $dst, $a, $b",
+ [(set IntRegs:$dst, (mul IntRegs:$a, IntRegs:$b))]>;
+
def bcond : InstARM<(ops brtarget:$dst, CCOp:$cc),
"b$cc $dst",
[(armbr bb:$dst, imm:$cc)]>;
OpenPOWER on IntegriCloud