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 | 817e7fdb8bc3ca40fc44c1efe4fbb63855bd3d2d (patch) | |
tree | 46cdaf61eac077d0c8c085b18ce7440a5f27810c | |
parent | 1b3956b516e28d634e48a12074b94acca5bcc679 (diff) |
implement SRL and MUL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30262 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 8e2173b2d6..ecbe48b4d0 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/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)]>; |