opcodes: Cleanup opcodes table
* Remove T:: prefix from types. * Add another column for a 4th argument.
This commit is contained in:
parent
d9fc6cf31f
commit
0288974512
2 changed files with 549 additions and 539 deletions
|
@ -22,14 +22,28 @@ namespace Dynarmic::IR {
|
||||||
|
|
||||||
namespace OpcodeInfo {
|
namespace OpcodeInfo {
|
||||||
|
|
||||||
using T = Dynarmic::IR::Type;
|
|
||||||
|
|
||||||
struct Meta {
|
struct Meta {
|
||||||
const char* name;
|
const char* name;
|
||||||
Type type;
|
Type type;
|
||||||
std::vector<Type> arg_types;
|
std::vector<Type> arg_types;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr Type Void = Type::Void;
|
||||||
|
constexpr Type A32Reg = Type::A32Reg;
|
||||||
|
constexpr Type A32ExtReg = Type::A32ExtReg;
|
||||||
|
constexpr Type A64Reg = Type::A64Reg;
|
||||||
|
constexpr Type A64Vec = Type::A64Vec;
|
||||||
|
constexpr Type Opaque = Type::Opaque;
|
||||||
|
constexpr Type U1 = Type::U1;
|
||||||
|
constexpr Type U8 = Type::U8;
|
||||||
|
constexpr Type U16 = Type::U16;
|
||||||
|
constexpr Type U32 = Type::U32;
|
||||||
|
constexpr Type U64 = Type::U64;
|
||||||
|
constexpr Type U128 = Type::U128;
|
||||||
|
constexpr Type CoprocInfo = Type::CoprocInfo;
|
||||||
|
constexpr Type NZCV = Type::NZCVFlags;
|
||||||
|
constexpr Type Cond = Type::Cond;
|
||||||
|
|
||||||
static const std::map<Opcode, Meta> opcode_info {{
|
static const std::map<Opcode, Meta> opcode_info {{
|
||||||
#define OPCODE(name, type, ...) { Opcode::name, { #name, type, { __VA_ARGS__ } } },
|
#define OPCODE(name, type, ...) { Opcode::name, { #name, type, { __VA_ARGS__ } } },
|
||||||
#define A32OPC(name, type, ...) { Opcode::A32##name, { #name, type, { __VA_ARGS__ } } },
|
#define A32OPC(name, type, ...) { Opcode::A32##name, { #name, type, { __VA_ARGS__ } } },
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue