mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 05:40:09 +00:00
Add SystemZ decoder macro.
This commit is contained in:
parent
1496434327
commit
ca07088b26
@ -1080,7 +1080,8 @@ void PrinterCapstone::decoderEmitterEmitDecodeInstruction(
|
||||
<< "}\n\n";
|
||||
|
||||
std::set<std::string> InsnBytesAsUint16 = {"ARM"};
|
||||
std::set<std::string> InsnBytesAsUint32 = {"ARM", "PPC", "AArch64", "LoongArch", "Alpha", "Mips"};
|
||||
std::set<std::string> InsnBytesAsUint32 = {"ARM", "AArch64", "LoongArch", "Alpha", "Mips"};
|
||||
std::set<std::string> InsnBytesAsUint64 = {"SystemZ"};
|
||||
bool MacroDefined = false;
|
||||
if (InsnBytesAsUint16.find(TargetName) != InsnBytesAsUint16.end()) {
|
||||
OS << "FieldFromInstruction(fieldFromInstruction_2, uint16_t)\n"
|
||||
@ -1096,6 +1097,13 @@ void PrinterCapstone::decoderEmitterEmitDecodeInstruction(
|
||||
"decodeToMCInst_4, uint32_t)\n";
|
||||
MacroDefined = true;
|
||||
}
|
||||
if (InsnBytesAsUint64.find(TargetName) != InsnBytesAsUint64.end()) {
|
||||
OS << "FieldFromInstruction(fieldFromInstruction_8, uint64_t)\n"
|
||||
<< "DecodeToMCInst(decodeToMCInst_8, fieldFromInstruction_8, uint64_t)\n"
|
||||
<< "DecodeInstruction(decodeInstruction_8, fieldFromInstruction_8, "
|
||||
"decodeToMCInst_4, uint64_t)\n";
|
||||
MacroDefined = true;
|
||||
}
|
||||
|
||||
// Special case: The LLVM disassembler uses uint64_t values for decoding.
|
||||
// Although PPC instructions are 4 bytes wide.
|
||||
|
Loading…
Reference in New Issue
Block a user