forked from OSchip/llvm-project
[AArch64] Fix branch, terminator, etc properties for BRA* instructions.
Tests relying on some of these fixes will be added for this in follow-on patches that introduce new features that require these properties to be correct. Differential Revision: https://reviews.llvm.org/D81399
This commit is contained in:
parent
cc8872400c
commit
09d098506b
|
@ -976,15 +976,23 @@ let Predicates = [HasPA] in {
|
||||||
def PACGA : SignAuthTwoOperand<0b1100, "pacga", null_frag>;
|
def PACGA : SignAuthTwoOperand<0b1100, "pacga", null_frag>;
|
||||||
|
|
||||||
// Combined Instructions
|
// Combined Instructions
|
||||||
def BRAA : AuthBranchTwoOperands<0, 0, "braa">;
|
let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in {
|
||||||
def BRAB : AuthBranchTwoOperands<0, 1, "brab">;
|
def BRAA : AuthBranchTwoOperands<0, 0, "braa">;
|
||||||
def BLRAA : AuthBranchTwoOperands<1, 0, "blraa">;
|
def BRAB : AuthBranchTwoOperands<0, 1, "brab">;
|
||||||
def BLRAB : AuthBranchTwoOperands<1, 1, "blrab">;
|
}
|
||||||
|
let isCall = 1, Defs = [LR], Uses = [SP] in {
|
||||||
|
def BLRAA : AuthBranchTwoOperands<1, 0, "blraa">;
|
||||||
|
def BLRAB : AuthBranchTwoOperands<1, 1, "blrab">;
|
||||||
|
}
|
||||||
|
|
||||||
def BRAAZ : AuthOneOperand<0b000, 0, "braaz">;
|
let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in {
|
||||||
def BRABZ : AuthOneOperand<0b000, 1, "brabz">;
|
def BRAAZ : AuthOneOperand<0b000, 0, "braaz">;
|
||||||
def BLRAAZ : AuthOneOperand<0b001, 0, "blraaz">;
|
def BRABZ : AuthOneOperand<0b000, 1, "brabz">;
|
||||||
def BLRABZ : AuthOneOperand<0b001, 1, "blrabz">;
|
}
|
||||||
|
let isCall = 1, Defs = [LR], Uses = [SP] in {
|
||||||
|
def BLRAAZ : AuthOneOperand<0b001, 0, "blraaz">;
|
||||||
|
def BLRABZ : AuthOneOperand<0b001, 1, "blrabz">;
|
||||||
|
}
|
||||||
|
|
||||||
let isReturn = 1, isTerminator = 1, isBarrier = 1 in {
|
let isReturn = 1, isTerminator = 1, isBarrier = 1 in {
|
||||||
def RETAA : AuthReturn<0b010, 0, "retaa">;
|
def RETAA : AuthReturn<0b010, 0, "retaa">;
|
||||||
|
|
Loading…
Reference in New Issue