diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2006-09-11 19:24:19 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2006-09-11 19:24:19 +0000 |
commit | c7829d62c00423d7d244bf2ce6bc5107e7cc5a61 (patch) | |
tree | 2963d3a09c8c5bce95a33e956bdb25a6c08fa9e9 /llvm/lib/Target | |
parent | bccf9c2f1bbbcc5eab2720820f26d37c67529991 (diff) | |
download | bcm5719-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.td | 9 |
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)]>; |