diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
commit | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch) | |
tree | 012bb94d777798f1f56ac1cec429509766d05181 /contrib/libs/llvm12/lib/Target/AArch64/Disassembler | |
parent | 6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff) | |
download | ydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/Target/AArch64/Disassembler')
-rw-r--r-- | contrib/libs/llvm12/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp | 86 | ||||
-rw-r--r-- | contrib/libs/llvm12/lib/Target/AArch64/Disassembler/ya.make | 22 |
2 files changed, 54 insertions, 54 deletions
diff --git a/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp b/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp index dca76f8457..72f9968681 100644 --- a/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp +++ b/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp @@ -62,10 +62,10 @@ static DecodeStatus DecodeGPR64commonRegisterClass(MCInst &Inst, unsigned RegNo, static DecodeStatus DecodeGPR64RegisterClass(MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder); -static DecodeStatus DecodeGPR64x8ClassRegisterClass(MCInst &Inst, - unsigned RegNo, - uint64_t Address, - const void *Decoder); +static DecodeStatus DecodeGPR64x8ClassRegisterClass(MCInst &Inst, + unsigned RegNo, + uint64_t Address, + const void *Decoder); static DecodeStatus DecodeGPR64spRegisterClass(MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder); @@ -271,16 +271,16 @@ DecodeStatus AArch64Disassembler::getInstruction(MCInst &MI, uint64_t &Size, uint32_t Insn = (Bytes[3] << 24) | (Bytes[2] << 16) | (Bytes[1] << 8) | (Bytes[0] << 0); - const uint8_t *Tables[] = {DecoderTable32, DecoderTableFallback32}; - - for (auto Table : Tables) { - DecodeStatus Result = - decodeInstruction(Table, MI, Insn, Address, this, STI); - if (Result != MCDisassembler::Fail) - return Result; - } - - return MCDisassembler::Fail; + const uint8_t *Tables[] = {DecoderTable32, DecoderTableFallback32}; + + for (auto Table : Tables) { + DecodeStatus Result = + decodeInstruction(Table, MI, Insn, Address, this, STI); + if (Result != MCDisassembler::Fail) + return Result; + } + + return MCDisassembler::Fail; } static MCSymbolizer * @@ -461,35 +461,35 @@ static DecodeStatus DecodeGPR64RegisterClass(MCInst &Inst, unsigned RegNo, return Success; } -static const unsigned GPR64x8DecoderTable[] = { - AArch64::X0_X1_X2_X3_X4_X5_X6_X7, - AArch64::X2_X3_X4_X5_X6_X7_X8_X9, - AArch64::X4_X5_X6_X7_X8_X9_X10_X11, - AArch64::X6_X7_X8_X9_X10_X11_X12_X13, - AArch64::X8_X9_X10_X11_X12_X13_X14_X15, - AArch64::X10_X11_X12_X13_X14_X15_X16_X17, - AArch64::X12_X13_X14_X15_X16_X17_X18_X19, - AArch64::X14_X15_X16_X17_X18_X19_X20_X21, - AArch64::X16_X17_X18_X19_X20_X21_X22_X23, - AArch64::X18_X19_X20_X21_X22_X23_X24_X25, - AArch64::X20_X21_X22_X23_X24_X25_X26_X27, - AArch64::X22_X23_X24_X25_X26_X27_X28_FP, -}; - -static DecodeStatus DecodeGPR64x8ClassRegisterClass(MCInst &Inst, - unsigned RegNo, - uint64_t Address, - const void *Decoder) { - if (RegNo > 22) - return Fail; - if (RegNo & 1) - return Fail; - - unsigned Register = GPR64x8DecoderTable[RegNo >> 1]; - Inst.addOperand(MCOperand::createReg(Register)); - return Success; -} - +static const unsigned GPR64x8DecoderTable[] = { + AArch64::X0_X1_X2_X3_X4_X5_X6_X7, + AArch64::X2_X3_X4_X5_X6_X7_X8_X9, + AArch64::X4_X5_X6_X7_X8_X9_X10_X11, + AArch64::X6_X7_X8_X9_X10_X11_X12_X13, + AArch64::X8_X9_X10_X11_X12_X13_X14_X15, + AArch64::X10_X11_X12_X13_X14_X15_X16_X17, + AArch64::X12_X13_X14_X15_X16_X17_X18_X19, + AArch64::X14_X15_X16_X17_X18_X19_X20_X21, + AArch64::X16_X17_X18_X19_X20_X21_X22_X23, + AArch64::X18_X19_X20_X21_X22_X23_X24_X25, + AArch64::X20_X21_X22_X23_X24_X25_X26_X27, + AArch64::X22_X23_X24_X25_X26_X27_X28_FP, +}; + +static DecodeStatus DecodeGPR64x8ClassRegisterClass(MCInst &Inst, + unsigned RegNo, + uint64_t Address, + const void *Decoder) { + if (RegNo > 22) + return Fail; + if (RegNo & 1) + return Fail; + + unsigned Register = GPR64x8DecoderTable[RegNo >> 1]; + Inst.addOperand(MCOperand::createReg(Register)); + return Success; +} + static DecodeStatus DecodeGPR64spRegisterClass(MCInst &Inst, unsigned RegNo, uint64_t Addr, const void *Decoder) { diff --git a/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/ya.make b/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/ya.make index 096b55cd68..e4da353a77 100644 --- a/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/ya.make +++ b/contrib/libs/llvm12/lib/Target/AArch64/Disassembler/ya.make @@ -12,20 +12,20 @@ LICENSE(Apache-2.0 WITH LLVM-exception) LICENSE_TEXTS(.yandex_meta/licenses.list.txt) PEERDIR( - contrib/libs/llvm12 - contrib/libs/llvm12/include - contrib/libs/llvm12/lib/MC - contrib/libs/llvm12/lib/MC/MCDisassembler - contrib/libs/llvm12/lib/Support - contrib/libs/llvm12/lib/Target/AArch64/MCTargetDesc - contrib/libs/llvm12/lib/Target/AArch64/TargetInfo - contrib/libs/llvm12/lib/Target/AArch64/Utils + contrib/libs/llvm12 + contrib/libs/llvm12/include + contrib/libs/llvm12/lib/MC + contrib/libs/llvm12/lib/MC/MCDisassembler + contrib/libs/llvm12/lib/Support + contrib/libs/llvm12/lib/Target/AArch64/MCTargetDesc + contrib/libs/llvm12/lib/Target/AArch64/TargetInfo + contrib/libs/llvm12/lib/Target/AArch64/Utils ) ADDINCL( - ${ARCADIA_BUILD_ROOT}/contrib/libs/llvm12/lib/Target/AArch64 - contrib/libs/llvm12/lib/Target/AArch64 - contrib/libs/llvm12/lib/Target/AArch64/Disassembler + ${ARCADIA_BUILD_ROOT}/contrib/libs/llvm12/lib/Target/AArch64 + contrib/libs/llvm12/lib/Target/AArch64 + contrib/libs/llvm12/lib/Target/AArch64/Disassembler ) NO_COMPILER_WARNINGS() |