mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-13 08:26:02 +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:
@@ -169,6 +169,9 @@ def ldawb : PatFrag<(ops node:$addr, node:$offset),
|
|||||||
|
|
||||||
// Instruction operand types
|
// Instruction operand types
|
||||||
def calltarget : Operand<i32>;
|
def calltarget : Operand<i32>;
|
||||||
|
def calltarget_neg : Operand<i32> {
|
||||||
|
let DecoderMethod = "DecodeNegImmOperand";
|
||||||
|
}
|
||||||
def brtarget : Operand<OtherVT>;
|
def brtarget : Operand<OtherVT>;
|
||||||
def brtarget_neg : Operand<OtherVT> {
|
def brtarget_neg : Operand<OtherVT> {
|
||||||
let DecoderMethod = "DecodeNegImmOperand";
|
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",
|
def BLRF_lu10 : _FLU10<0b110100, (outs), (ins calltarget:$a), "bl $a",
|
||||||
[(XCoreBranchLink immU20:$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,
|
let Defs = [R11], mayLoad = 1, isReMaterializable = 1,
|
||||||
|
@@ -654,6 +654,12 @@
|
|||||||
# CHECK: bl 38631
|
# CHECK: bl 38631
|
||||||
0x25 0xf0 0xe7 0xd2
|
0x25 0xf0 0xe7 0xd2
|
||||||
|
|
||||||
|
# CHECK: bl -222
|
||||||
|
0xde 0xd4
|
||||||
|
|
||||||
|
# CHECK: bl -55132
|
||||||
|
0x35 0xf0 0x5c 0xd7
|
||||||
|
|
||||||
# CHECK: bla cp[500]
|
# CHECK: bla cp[500]
|
||||||
0xf4 0xe1
|
0xf4 0xe1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user