[XCore] Add BLRB instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181152 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Richard Osborne 2013-05-05 13:24:16 +00:00
parent 1114b0ec15
commit c601bd69d5
2 changed files with 13 additions and 0 deletions

View File

@ -169,6 +169,9 @@ def ldawb : PatFrag<(ops node:$addr, node:$offset),
// Instruction operand types
def calltarget : Operand<i32>;
def calltarget_neg : Operand<i32> {
let DecoderMethod = "DecodeNegImmOperand";
}
def brtarget : Operand<OtherVT>;
def brtarget_neg : Operand<OtherVT> {
let DecoderMethod = "DecodeNegImmOperand";
@ -677,6 +680,10 @@ def BLRF_u10 : _FU10<0b110100, (outs), (ins calltarget:$a), "bl $a",
def BLRF_lu10 : _FLU10<0b110100, (outs), (ins calltarget:$a), "bl $a",
[(XCoreBranchLink immU20:$a)]>;
def BLRB_u10 : _FU10<0b110101, (outs), (ins calltarget_neg:$a), "bl $a", []>;
def BLRB_lu10 : _FLU10<0b110101, (outs), (ins calltarget_neg:$a), "bl $a", []>;
}
let Defs = [R11], mayLoad = 1, isReMaterializable = 1,

View File

@ -654,6 +654,12 @@
# CHECK: bl 38631
0x25 0xf0 0xe7 0xd2
# CHECK: bl -222
0xde 0xd4
# CHECK: bl -55132
0x35 0xf0 0x5c 0xd7
# CHECK: bla cp[500]
0xf4 0xe1