mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
[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:
parent
1114b0ec15
commit
c601bd69d5
@ -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,
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user