mirror of
https://github.com/Decompollaborate/rabbitizer.git
synced 2025-01-29 21:32:45 +00:00
RegisterDescriptor
This commit is contained in:
parent
8a9824bbd3
commit
6758468699
@ -399,7 +399,7 @@
|
||||
RSP_COP2_CONTROL_28,
|
||||
RSP_COP2_CONTROL_29,
|
||||
RSP_COP2_CONTROL_30,
|
||||
COP1_CONTROL_31,
|
||||
RSP_COP2_CONTROL_31,
|
||||
};
|
||||
enum class Vector {
|
||||
RSP_VECTOR_v0,
|
||||
@ -438,72 +438,72 @@
|
||||
};
|
||||
namespace R5900 {
|
||||
enum class VF {
|
||||
R5900_VF_vf0,
|
||||
R5900_VF_vf1,
|
||||
R5900_VF_vf2,
|
||||
R5900_VF_vf3,
|
||||
R5900_VF_vf4,
|
||||
R5900_VF_vf5,
|
||||
R5900_VF_vf6,
|
||||
R5900_VF_vf7,
|
||||
R5900_VF_vf8,
|
||||
R5900_VF_vf9,
|
||||
R5900_VF_vf10,
|
||||
R5900_VF_vf11,
|
||||
R5900_VF_vf12,
|
||||
R5900_VF_vf13,
|
||||
R5900_VF_vf14,
|
||||
R5900_VF_vf15,
|
||||
R5900_VF_vf16,
|
||||
R5900_VF_vf17,
|
||||
R5900_VF_vf18,
|
||||
R5900_VF_vf19,
|
||||
R5900_VF_vf20,
|
||||
R5900_VF_vf21,
|
||||
R5900_VF_vf22,
|
||||
R5900_VF_vf23,
|
||||
R5900_VF_vf24,
|
||||
R5900_VF_vf25,
|
||||
R5900_VF_vf26,
|
||||
R5900_VF_vf27,
|
||||
R5900_VF_vf28,
|
||||
R5900_VF_vf29,
|
||||
R5900_VF_vf30,
|
||||
R5900_VF_vf31,
|
||||
R5900_VF_vf0,
|
||||
R5900_VF_vf1,
|
||||
R5900_VF_vf2,
|
||||
R5900_VF_vf3,
|
||||
R5900_VF_vf4,
|
||||
R5900_VF_vf5,
|
||||
R5900_VF_vf6,
|
||||
R5900_VF_vf7,
|
||||
R5900_VF_vf8,
|
||||
R5900_VF_vf9,
|
||||
R5900_VF_vf10,
|
||||
R5900_VF_vf11,
|
||||
R5900_VF_vf12,
|
||||
R5900_VF_vf13,
|
||||
R5900_VF_vf14,
|
||||
R5900_VF_vf15,
|
||||
R5900_VF_vf16,
|
||||
R5900_VF_vf17,
|
||||
R5900_VF_vf18,
|
||||
R5900_VF_vf19,
|
||||
R5900_VF_vf20,
|
||||
R5900_VF_vf21,
|
||||
R5900_VF_vf22,
|
||||
R5900_VF_vf23,
|
||||
R5900_VF_vf24,
|
||||
R5900_VF_vf25,
|
||||
R5900_VF_vf26,
|
||||
R5900_VF_vf27,
|
||||
R5900_VF_vf28,
|
||||
R5900_VF_vf29,
|
||||
R5900_VF_vf30,
|
||||
R5900_VF_vf31,
|
||||
};
|
||||
enum class VI {
|
||||
R5900_VI_vi0,
|
||||
R5900_VI_vi1,
|
||||
R5900_VI_vi2,
|
||||
R5900_VI_vi3,
|
||||
R5900_VI_vi4,
|
||||
R5900_VI_vi5,
|
||||
R5900_VI_vi6,
|
||||
R5900_VI_vi7,
|
||||
R5900_VI_vi8,
|
||||
R5900_VI_vi9,
|
||||
R5900_VI_vi10,
|
||||
R5900_VI_vi11,
|
||||
R5900_VI_vi12,
|
||||
R5900_VI_vi13,
|
||||
R5900_VI_vi14,
|
||||
R5900_VI_vi15,
|
||||
R5900_VI_vi16,
|
||||
R5900_VI_vi17,
|
||||
R5900_VI_vi18,
|
||||
R5900_VI_vi19,
|
||||
R5900_VI_vi20,
|
||||
R5900_VI_vi21,
|
||||
R5900_VI_vi22,
|
||||
R5900_VI_vi23,
|
||||
R5900_VI_vi24,
|
||||
R5900_VI_vi25,
|
||||
R5900_VI_vi26,
|
||||
R5900_VI_vi27,
|
||||
R5900_VI_vi28,
|
||||
R5900_VI_vi29,
|
||||
R5900_VI_vi30,
|
||||
R5900_VI_vi31,
|
||||
R5900_VI_vi0,
|
||||
R5900_VI_vi1,
|
||||
R5900_VI_vi2,
|
||||
R5900_VI_vi3,
|
||||
R5900_VI_vi4,
|
||||
R5900_VI_vi5,
|
||||
R5900_VI_vi6,
|
||||
R5900_VI_vi7,
|
||||
R5900_VI_vi8,
|
||||
R5900_VI_vi9,
|
||||
R5900_VI_vi10,
|
||||
R5900_VI_vi11,
|
||||
R5900_VI_vi12,
|
||||
R5900_VI_vi13,
|
||||
R5900_VI_vi14,
|
||||
R5900_VI_vi15,
|
||||
R5900_VI_vi16,
|
||||
R5900_VI_vi17,
|
||||
R5900_VI_vi18,
|
||||
R5900_VI_vi19,
|
||||
R5900_VI_vi20,
|
||||
R5900_VI_vi21,
|
||||
R5900_VI_vi22,
|
||||
R5900_VI_vi23,
|
||||
R5900_VI_vi24,
|
||||
R5900_VI_vi25,
|
||||
R5900_VI_vi26,
|
||||
R5900_VI_vi27,
|
||||
R5900_VI_vi28,
|
||||
R5900_VI_vi29,
|
||||
R5900_VI_vi30,
|
||||
R5900_VI_vi31,
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
prefix##_##name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
prefix##_##name,
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) \
|
||||
prefix##_##name
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
prefix##_##name,
|
||||
|
||||
namespace Cpu {
|
||||
enum class GprO32 {
|
||||
|
@ -28,6 +28,8 @@ typedef enum RabbitizerInstrType {
|
||||
RABBITIZER_INSTR_TYPE_MAX,
|
||||
} RabbitizerInstrType;
|
||||
|
||||
// Please note the members of this struct may be renamed or removed without further notice.
|
||||
// For consistent usage please use the functions instead
|
||||
typedef struct RabbitizerInstrDescriptor {
|
||||
RabbitizerOperandType operands[4];
|
||||
RabbitizerInstrType instrType;
|
||||
@ -140,7 +142,6 @@ typedef struct RabbitizerInstrDescriptor {
|
||||
bool doesUnsignedMemoryAccess;
|
||||
} RabbitizerInstrDescriptor;
|
||||
|
||||
// TODO: less redundant name
|
||||
extern const RabbitizerInstrDescriptor RabbitizerInstrDescriptor_Descriptors[];
|
||||
|
||||
|
||||
|
92
include/instructions/RabbitizerRegisterDescriptor.h
Normal file
92
include/instructions/RabbitizerRegisterDescriptor.h
Normal file
@ -0,0 +1,92 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#ifndef RABBITIZER_REGISTERDESCRIPTOR_H
|
||||
#define RABBITIZER_REGISTERDESCRIPTOR_H
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "common/Utils.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
// Please note the members of this struct may be renamed or removed without further notice.
|
||||
// For consistent usage please use the functions instead
|
||||
typedef struct RabbitizerRegisterDescriptor {
|
||||
bool isClobberedByFuncCall; // A function call invalidates the value hold by the register
|
||||
bool isReserved; // This register is not implemented and is reserved for future use
|
||||
bool isKernel; // Kernel-only registers ($k0, $k1)
|
||||
bool isZero; // $zero
|
||||
bool isAt; // $at
|
||||
bool isReturnReg; // $v0, $v1
|
||||
bool isRa; // $ra
|
||||
bool isStackPointer; // $sp
|
||||
bool isGp; // $gp
|
||||
bool isTemp; // $tX
|
||||
bool isArg; // $aX
|
||||
bool isSaved; // $sX
|
||||
} RabbitizerRegisterDescriptor;
|
||||
|
||||
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_GprO32_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_GprN32_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop0_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1O32_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N32_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N64_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1Control_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_Cop2_Descriptors[];
|
||||
|
||||
/* RSP */
|
||||
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspGpr_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop0_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2Control_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descriptors[];
|
||||
|
||||
/* RSP */
|
||||
|
||||
/* R5900 */
|
||||
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[];
|
||||
extern const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VI_Descriptors[];
|
||||
|
||||
/* R5900 */
|
||||
|
||||
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isClobberedByFuncCall(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isReserved(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isKernel(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isZero(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isAt(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isReturnReg(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isRa(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isStackPointer(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isGp(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isTemp(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isArg(const RabbitizerRegisterDescriptor *self);
|
||||
NODISCARD NON_NULL(1) PURE
|
||||
bool RabbitizerRegisterDescriptor_isSaved(const RabbitizerRegisterDescriptor *self);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
@ -396,7 +396,7 @@ typedef enum RabbitizerRegister_RspCop2Control {
|
||||
RABBITIZER_REG_RSP_COP2_CONTROL_28,
|
||||
RABBITIZER_REG_RSP_COP2_CONTROL_29,
|
||||
RABBITIZER_REG_RSP_COP2_CONTROL_30,
|
||||
RABBITIZER_REG_COP1_CONTROL_31,
|
||||
RABBITIZER_REG_RSP_COP2_CONTROL_31,
|
||||
} RabbitizerRegister_RspCop2Control;
|
||||
typedef enum RabbitizerRegister_RspVector {
|
||||
RABBITIZER_REG_RSP_VECTOR_v0,
|
||||
@ -433,72 +433,72 @@ typedef enum RabbitizerRegister_RspVector {
|
||||
RABBITIZER_REG_RSP_VECTOR_v31,
|
||||
} RabbitizerRegister_RspVector;
|
||||
typedef enum RabbitizerRegister_R5900VF {
|
||||
RABBITIZER_REG_R5900_VF_vf0,
|
||||
RABBITIZER_REG_R5900_VF_vf1,
|
||||
RABBITIZER_REG_R5900_VF_vf2,
|
||||
RABBITIZER_REG_R5900_VF_vf3,
|
||||
RABBITIZER_REG_R5900_VF_vf4,
|
||||
RABBITIZER_REG_R5900_VF_vf5,
|
||||
RABBITIZER_REG_R5900_VF_vf6,
|
||||
RABBITIZER_REG_R5900_VF_vf7,
|
||||
RABBITIZER_REG_R5900_VF_vf8,
|
||||
RABBITIZER_REG_R5900_VF_vf9,
|
||||
RABBITIZER_REG_R5900_VF_vf10,
|
||||
RABBITIZER_REG_R5900_VF_vf11,
|
||||
RABBITIZER_REG_R5900_VF_vf12,
|
||||
RABBITIZER_REG_R5900_VF_vf13,
|
||||
RABBITIZER_REG_R5900_VF_vf14,
|
||||
RABBITIZER_REG_R5900_VF_vf15,
|
||||
RABBITIZER_REG_R5900_VF_vf16,
|
||||
RABBITIZER_REG_R5900_VF_vf17,
|
||||
RABBITIZER_REG_R5900_VF_vf18,
|
||||
RABBITIZER_REG_R5900_VF_vf19,
|
||||
RABBITIZER_REG_R5900_VF_vf20,
|
||||
RABBITIZER_REG_R5900_VF_vf21,
|
||||
RABBITIZER_REG_R5900_VF_vf22,
|
||||
RABBITIZER_REG_R5900_VF_vf23,
|
||||
RABBITIZER_REG_R5900_VF_vf24,
|
||||
RABBITIZER_REG_R5900_VF_vf25,
|
||||
RABBITIZER_REG_R5900_VF_vf26,
|
||||
RABBITIZER_REG_R5900_VF_vf27,
|
||||
RABBITIZER_REG_R5900_VF_vf28,
|
||||
RABBITIZER_REG_R5900_VF_vf29,
|
||||
RABBITIZER_REG_R5900_VF_vf30,
|
||||
RABBITIZER_REG_R5900_VF_vf31,
|
||||
RABBITIZER_REG_R5900_VF_vf0,
|
||||
RABBITIZER_REG_R5900_VF_vf1,
|
||||
RABBITIZER_REG_R5900_VF_vf2,
|
||||
RABBITIZER_REG_R5900_VF_vf3,
|
||||
RABBITIZER_REG_R5900_VF_vf4,
|
||||
RABBITIZER_REG_R5900_VF_vf5,
|
||||
RABBITIZER_REG_R5900_VF_vf6,
|
||||
RABBITIZER_REG_R5900_VF_vf7,
|
||||
RABBITIZER_REG_R5900_VF_vf8,
|
||||
RABBITIZER_REG_R5900_VF_vf9,
|
||||
RABBITIZER_REG_R5900_VF_vf10,
|
||||
RABBITIZER_REG_R5900_VF_vf11,
|
||||
RABBITIZER_REG_R5900_VF_vf12,
|
||||
RABBITIZER_REG_R5900_VF_vf13,
|
||||
RABBITIZER_REG_R5900_VF_vf14,
|
||||
RABBITIZER_REG_R5900_VF_vf15,
|
||||
RABBITIZER_REG_R5900_VF_vf16,
|
||||
RABBITIZER_REG_R5900_VF_vf17,
|
||||
RABBITIZER_REG_R5900_VF_vf18,
|
||||
RABBITIZER_REG_R5900_VF_vf19,
|
||||
RABBITIZER_REG_R5900_VF_vf20,
|
||||
RABBITIZER_REG_R5900_VF_vf21,
|
||||
RABBITIZER_REG_R5900_VF_vf22,
|
||||
RABBITIZER_REG_R5900_VF_vf23,
|
||||
RABBITIZER_REG_R5900_VF_vf24,
|
||||
RABBITIZER_REG_R5900_VF_vf25,
|
||||
RABBITIZER_REG_R5900_VF_vf26,
|
||||
RABBITIZER_REG_R5900_VF_vf27,
|
||||
RABBITIZER_REG_R5900_VF_vf28,
|
||||
RABBITIZER_REG_R5900_VF_vf29,
|
||||
RABBITIZER_REG_R5900_VF_vf30,
|
||||
RABBITIZER_REG_R5900_VF_vf31,
|
||||
} RabbitizerRegister_R5900VF;
|
||||
typedef enum RabbitizerRegister_R5900VI {
|
||||
RABBITIZER_REG_R5900_VI_vi0,
|
||||
RABBITIZER_REG_R5900_VI_vi1,
|
||||
RABBITIZER_REG_R5900_VI_vi2,
|
||||
RABBITIZER_REG_R5900_VI_vi3,
|
||||
RABBITIZER_REG_R5900_VI_vi4,
|
||||
RABBITIZER_REG_R5900_VI_vi5,
|
||||
RABBITIZER_REG_R5900_VI_vi6,
|
||||
RABBITIZER_REG_R5900_VI_vi7,
|
||||
RABBITIZER_REG_R5900_VI_vi8,
|
||||
RABBITIZER_REG_R5900_VI_vi9,
|
||||
RABBITIZER_REG_R5900_VI_vi10,
|
||||
RABBITIZER_REG_R5900_VI_vi11,
|
||||
RABBITIZER_REG_R5900_VI_vi12,
|
||||
RABBITIZER_REG_R5900_VI_vi13,
|
||||
RABBITIZER_REG_R5900_VI_vi14,
|
||||
RABBITIZER_REG_R5900_VI_vi15,
|
||||
RABBITIZER_REG_R5900_VI_vi16,
|
||||
RABBITIZER_REG_R5900_VI_vi17,
|
||||
RABBITIZER_REG_R5900_VI_vi18,
|
||||
RABBITIZER_REG_R5900_VI_vi19,
|
||||
RABBITIZER_REG_R5900_VI_vi20,
|
||||
RABBITIZER_REG_R5900_VI_vi21,
|
||||
RABBITIZER_REG_R5900_VI_vi22,
|
||||
RABBITIZER_REG_R5900_VI_vi23,
|
||||
RABBITIZER_REG_R5900_VI_vi24,
|
||||
RABBITIZER_REG_R5900_VI_vi25,
|
||||
RABBITIZER_REG_R5900_VI_vi26,
|
||||
RABBITIZER_REG_R5900_VI_vi27,
|
||||
RABBITIZER_REG_R5900_VI_vi28,
|
||||
RABBITIZER_REG_R5900_VI_vi29,
|
||||
RABBITIZER_REG_R5900_VI_vi30,
|
||||
RABBITIZER_REG_R5900_VI_vi31,
|
||||
RABBITIZER_REG_R5900_VI_vi0,
|
||||
RABBITIZER_REG_R5900_VI_vi1,
|
||||
RABBITIZER_REG_R5900_VI_vi2,
|
||||
RABBITIZER_REG_R5900_VI_vi3,
|
||||
RABBITIZER_REG_R5900_VI_vi4,
|
||||
RABBITIZER_REG_R5900_VI_vi5,
|
||||
RABBITIZER_REG_R5900_VI_vi6,
|
||||
RABBITIZER_REG_R5900_VI_vi7,
|
||||
RABBITIZER_REG_R5900_VI_vi8,
|
||||
RABBITIZER_REG_R5900_VI_vi9,
|
||||
RABBITIZER_REG_R5900_VI_vi10,
|
||||
RABBITIZER_REG_R5900_VI_vi11,
|
||||
RABBITIZER_REG_R5900_VI_vi12,
|
||||
RABBITIZER_REG_R5900_VI_vi13,
|
||||
RABBITIZER_REG_R5900_VI_vi14,
|
||||
RABBITIZER_REG_R5900_VI_vi15,
|
||||
RABBITIZER_REG_R5900_VI_vi16,
|
||||
RABBITIZER_REG_R5900_VI_vi17,
|
||||
RABBITIZER_REG_R5900_VI_vi18,
|
||||
RABBITIZER_REG_R5900_VI_vi19,
|
||||
RABBITIZER_REG_R5900_VI_vi20,
|
||||
RABBITIZER_REG_R5900_VI_vi21,
|
||||
RABBITIZER_REG_R5900_VI_vi22,
|
||||
RABBITIZER_REG_R5900_VI_vi23,
|
||||
RABBITIZER_REG_R5900_VI_vi24,
|
||||
RABBITIZER_REG_R5900_VI_vi25,
|
||||
RABBITIZER_REG_R5900_VI_vi26,
|
||||
RABBITIZER_REG_R5900_VI_vi27,
|
||||
RABBITIZER_REG_R5900_VI_vi28,
|
||||
RABBITIZER_REG_R5900_VI_vi29,
|
||||
RABBITIZER_REG_R5900_VI_vi30,
|
||||
RABBITIZER_REG_R5900_VI_vi31,
|
||||
} RabbitizerRegister_R5900VI;
|
||||
|
||||
#endif
|
||||
|
@ -1,11 +1,11 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
RABBITIZER_REG_##prefix##_##name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
RABBITIZER_REG_##prefix##_##name,
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) \
|
||||
RABBITIZER_REG_##prefix##_##name
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
RABBITIZER_REG_##prefix##_##name,
|
||||
|
||||
|
||||
typedef enum RabbitizerRegister_GprO32 {
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Index, 0),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Random, 1),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, EntryLo0, 2),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, EntryLo1, 3),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Context, 4),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, PageMask, 5),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Wired, 6),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved07, 7),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, BadVaddr, 8),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Count, 9),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, EntryHi, 10),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Compare, 11),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Status, 12),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Cause, 13),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, EPC, 14),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, PRevID, 15),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Config, 16),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, LLAddr, 17),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, WatchLo, 18),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, WatchHi, 19),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, XContext, 20),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved21, 21),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved22, 22),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved23, 23),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved24, 24),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved25, 25),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, PErr, 26),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, CacheErr, 27),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, TagLo, 28),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, TagHi, 29),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, ErrorEPC, 30),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(COP0, Reserved31, 31),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Index, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Random, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, EntryLo0, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, EntryLo1, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Context, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, PageMask, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Wired, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved07, 7,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, BadVaddr, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Count, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, EntryHi, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Compare, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Status, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Cause, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, EPC, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, PRevID, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Config, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, LLAddr, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, WatchLo, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, WatchHi, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, XContext, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved21, 21,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved22, 22,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved23, 23,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved24, 24,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved25, 25,
|
||||
.isReserved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, PErr, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, CacheErr, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, TagLo, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, TagHi, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, ErrorEPC, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
COP0, Reserved31, 31,
|
||||
.isReserved=true
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 0, 0),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 1, 1),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 2, 2),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 3, 3),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 4, 4),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 5, 5),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 6, 6),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 7, 7),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 8, 8),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 9, 9),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 10, 10),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 11, 11),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 12, 12),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 13, 13),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 14, 14),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 15, 15),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 16, 16),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 17, 17),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 18, 18),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 19, 19),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 20, 20),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 21, 21),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 22, 22),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 23, 23),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 24, 24),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 25, 25),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 26, 26),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 27, 27),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 28, 28),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 29, 29),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 30, 30),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, FpcCsr, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, 30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_CONTROL, FpcCsr, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(COP1_N32, fv0, f0),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft14, f1),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fv1, f2),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft15, f3),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft0, f4),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft1, f5),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft2, f6),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft3, f7),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft4, f8),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft5, f9),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft6, f10),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft7, f11),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa0, f12),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa1, f13),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa2, f14),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa3, f15),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa4, f16),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa5, f17),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa6, f18),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fa7, f19),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs0, f20),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft8, f21),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs1, f22),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft9, f23),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs2, f24),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft10, f25),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs3, f26),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft11, f27),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs4, f28),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft12, f29),
|
||||
RABBITIZER_DEF_REG(COP1_N32, fs5, f30),
|
||||
RABBITIZER_DEF_REG(COP1_N32, ft13, f31),
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fv0, f0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft14, f1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fv1, f2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft15, f3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft0, f4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft1, f5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft2, f6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft3, f7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft4, f8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft5, f9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft6, f10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft7, f11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa0, f12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa1, f13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa2, f14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa3, f15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa4, f16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa5, f17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa6, f18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fa7, f19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs0, f20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft8, f21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs1, f22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft9, f23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs2, f24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft10, f25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs3, f26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft11, f27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs4, f28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft12, f29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, fs5, f30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N32, ft13, f31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(COP1_N64, fv0, f0),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft12, f1),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fv1, f2),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft13, f3),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft0, f4),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft1, f5),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft2, f6),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft3, f7),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft4, f8),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft5, f9),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft6, f10),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft7, f11),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa0, f12),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa1, f13),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa2, f14),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa3, f15),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa4, f16),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa5, f17),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa6, f18),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fa7, f19),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft8, f20),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft9, f21),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft10, f22),
|
||||
RABBITIZER_DEF_REG(COP1_N64, ft11, f23),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs0, f24),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs1, f25),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs2, f26),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs3, f27),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs4, f28),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs5, f29),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs6, f30),
|
||||
RABBITIZER_DEF_REG(COP1_N64, fs7, f31),
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fv0, f0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft12, f1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fv1, f2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft13, f3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft0, f4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft1, f5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft2, f6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft3, f7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft4, f8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft5, f9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft6, f10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft7, f11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa0, f12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa1, f13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa2, f14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa3, f15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa4, f16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa5, f17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa6, f18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fa7, f19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft8, f20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft9, f21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft10, f22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, ft11, f23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs0, f24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs1, f25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs2, f26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs3, f27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs4, f28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs5, f29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs6, f30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_N64, fs7, f31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(COP1_O32, fv0, f0),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fv0f, f1),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fv1, f2),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fv1f, f3),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft0, f4),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft0f, f5),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft1, f6),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft1f, f7),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft2, f8),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft2f, f9),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft3, f10),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft3f, f11),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fa0, f12),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fa0f, f13),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fa1, f14),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fa1f, f15),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft4, f16),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft4f, f17),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft5, f18),
|
||||
RABBITIZER_DEF_REG(COP1_O32, ft5f, f19),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs0, f20),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs0f, f21),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs1, f22),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs1f, f23),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs2, f24),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs2f, f25),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs3, f26),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs3f, f27),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs4, f28),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs4f, f29),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs5, f30),
|
||||
RABBITIZER_DEF_REG(COP1_O32, fs5f, f31),
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fv0, f0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fv0f, f1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fv1, f2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fv1f, f3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft0, f4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft0f, f5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft1, f6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft1f, f7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft2, f8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft2f, f9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft3, f10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft3f, f11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fa0, f12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fa0f, f13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fa1, f14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fa1f, f15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft4, f16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft4f, f17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft5, f18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, ft5f, f19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs0, f20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs0f, f21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs1, f22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs1f, f23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs2, f24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs2f, f25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs3, f26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs3f, f27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs4, f28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs4f, f29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs5, f30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP1_O32, fs5f, f31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(COP2, 0, 0),
|
||||
RABBITIZER_DEF_REG(COP2, 1, 1),
|
||||
RABBITIZER_DEF_REG(COP2, 2, 2),
|
||||
RABBITIZER_DEF_REG(COP2, 3, 3),
|
||||
RABBITIZER_DEF_REG(COP2, 4, 4),
|
||||
RABBITIZER_DEF_REG(COP2, 5, 5),
|
||||
RABBITIZER_DEF_REG(COP2, 6, 6),
|
||||
RABBITIZER_DEF_REG(COP2, 7, 7),
|
||||
RABBITIZER_DEF_REG(COP2, 8, 8),
|
||||
RABBITIZER_DEF_REG(COP2, 9, 9),
|
||||
RABBITIZER_DEF_REG(COP2, 10, 10),
|
||||
RABBITIZER_DEF_REG(COP2, 11, 11),
|
||||
RABBITIZER_DEF_REG(COP2, 12, 12),
|
||||
RABBITIZER_DEF_REG(COP2, 13, 13),
|
||||
RABBITIZER_DEF_REG(COP2, 14, 14),
|
||||
RABBITIZER_DEF_REG(COP2, 15, 15),
|
||||
RABBITIZER_DEF_REG(COP2, 16, 16),
|
||||
RABBITIZER_DEF_REG(COP2, 17, 17),
|
||||
RABBITIZER_DEF_REG(COP2, 18, 18),
|
||||
RABBITIZER_DEF_REG(COP2, 19, 19),
|
||||
RABBITIZER_DEF_REG(COP2, 20, 20),
|
||||
RABBITIZER_DEF_REG(COP2, 21, 21),
|
||||
RABBITIZER_DEF_REG(COP2, 22, 22),
|
||||
RABBITIZER_DEF_REG(COP2, 23, 23),
|
||||
RABBITIZER_DEF_REG(COP2, 24, 24),
|
||||
RABBITIZER_DEF_REG(COP2, 25, 25),
|
||||
RABBITIZER_DEF_REG(COP2, 26, 26),
|
||||
RABBITIZER_DEF_REG(COP2, 27, 27),
|
||||
RABBITIZER_DEF_REG(COP2, 28, 28),
|
||||
RABBITIZER_DEF_REG(COP2, 29, 29),
|
||||
RABBITIZER_DEF_REG(COP2, 30, 30),
|
||||
RABBITIZER_DEF_REG(COP2, 31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
COP2, 31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,149 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(GPR_N32, zero, 0),
|
||||
RABBITIZER_DEF_REG(GPR_N32, at, 1),
|
||||
RABBITIZER_DEF_REG(GPR_N32, v0, 2),
|
||||
RABBITIZER_DEF_REG(GPR_N32, v1, 3),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a0, 4),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a1, 5),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a2, 6),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a3, 7),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a4, 8),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a5, 9),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a6, 10),
|
||||
RABBITIZER_DEF_REG(GPR_N32, a7, 11),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t0, 12),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t1, 13),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t2, 14),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t3, 15),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s0, 16),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s1, 17),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s2, 18),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s3, 19),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s4, 20),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s5, 21),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s6, 22),
|
||||
RABBITIZER_DEF_REG(GPR_N32, s7, 23),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t8, 24),
|
||||
RABBITIZER_DEF_REG(GPR_N32, t9, 25),
|
||||
RABBITIZER_DEF_REG(GPR_N32, k0, 26),
|
||||
RABBITIZER_DEF_REG(GPR_N32, k1, 27),
|
||||
RABBITIZER_DEF_REG(GPR_N32, gp, 28),
|
||||
RABBITIZER_DEF_REG(GPR_N32, sp, 29),
|
||||
RABBITIZER_DEF_REG(GPR_N32, fp, 30),
|
||||
RABBITIZER_DEF_REG(GPR_N32, ra, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, zero, 0,
|
||||
.isZero=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, at, 1,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isAt=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, v0, 2,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isReturnReg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, v1, 3,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isReturnReg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a0, 4,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a1, 5,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a2, 6,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a3, 7,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a4, 8,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a5, 9,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a6, 10,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, a7, 11,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t0, 12,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t1, 13,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t2, 14,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t3, 15,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s0, 16,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s1, 17,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s2, 18,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s3, 19,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s4, 20,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s5, 21,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s6, 22,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, s7, 23,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t8, 24,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, t9, 25,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, k0, 26,
|
||||
.isKernel=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, k1, 27,
|
||||
.isKernel=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, gp, 28,
|
||||
.isGp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, sp, 29,
|
||||
.isStackPointer=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, fp, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_N32, ra, 31,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isRa=true
|
||||
)
|
||||
|
@ -1,35 +1,149 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(GPR_O32, zero, 0),
|
||||
RABBITIZER_DEF_REG(GPR_O32, at, 1),
|
||||
RABBITIZER_DEF_REG(GPR_O32, v0, 2),
|
||||
RABBITIZER_DEF_REG(GPR_O32, v1, 3),
|
||||
RABBITIZER_DEF_REG(GPR_O32, a0, 4),
|
||||
RABBITIZER_DEF_REG(GPR_O32, a1, 5),
|
||||
RABBITIZER_DEF_REG(GPR_O32, a2, 6),
|
||||
RABBITIZER_DEF_REG(GPR_O32, a3, 7),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t0, 8),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t1, 9),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t2, 10),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t3, 11),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t4, 12),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t5, 13),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t6, 14),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t7, 15),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s0, 16),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s1, 17),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s2, 18),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s3, 19),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s4, 20),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s5, 21),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s6, 22),
|
||||
RABBITIZER_DEF_REG(GPR_O32, s7, 23),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t8, 24),
|
||||
RABBITIZER_DEF_REG(GPR_O32, t9, 25),
|
||||
RABBITIZER_DEF_REG(GPR_O32, k0, 26),
|
||||
RABBITIZER_DEF_REG(GPR_O32, k1, 27),
|
||||
RABBITIZER_DEF_REG(GPR_O32, gp, 28),
|
||||
RABBITIZER_DEF_REG(GPR_O32, sp, 29),
|
||||
RABBITIZER_DEF_REG(GPR_O32, fp, 30),
|
||||
RABBITIZER_DEF_REG(GPR_O32, ra, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, zero, 0,
|
||||
.isZero=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, at, 1,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isAt=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, v0, 2,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isReturnReg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, v1, 3,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isReturnReg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, a0, 4,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, a1, 5,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, a2, 6,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, a3, 7,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isArg=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t0, 8,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t1, 9,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t2, 10,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t3, 11,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t4, 12,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t5, 13,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t6, 14,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t7, 15,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s0, 16,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s1, 17,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s2, 18,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s3, 19,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s4, 20,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s5, 21,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s6, 22,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, s7, 23,
|
||||
.isSaved=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t8, 24,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, t9, 25,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isTemp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, k0, 26,
|
||||
.isKernel=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, k1, 27,
|
||||
.isKernel=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, gp, 28,
|
||||
.isGp=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, sp, 29,
|
||||
.isStackPointer=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, fp, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
GPR_O32, ra, 31,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isRa=true
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf0, 0),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf1, 1),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf2, 2),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf3, 3),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf4, 4),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf5, 5),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf6, 6),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf7, 7),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf8, 8),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf9, 9),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf10, 10),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf11, 11),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf12, 12),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf13, 13),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf14, 14),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf15, 15),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf16, 16),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf17, 17),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf18, 18),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf19, 19),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf20, 20),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf21, 21),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf22, 22),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf23, 23),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf24, 24),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf25, 25),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf26, 26),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf27, 27),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf28, 28),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf29, 29),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf30, 30),
|
||||
RABBITIZER_DEF_REG(R5900_VF, vf31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VF, vf31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi0, 0),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi1, 1),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi2, 2),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi3, 3),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi4, 4),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi5, 5),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi6, 6),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi7, 7),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi8, 8),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi9, 9),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi10, 10),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi11, 11),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi12, 12),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi13, 13),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi14, 14),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi15, 15),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi16, 16),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi17, 17),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi18, 18),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi19, 19),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi20, 20),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi21, 21),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi22, 22),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi23, 23),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi24, 24),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi25, 25),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi26, 26),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi27, 27),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi28, 28),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi29, 29),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi30, 30),
|
||||
RABBITIZER_DEF_REG(R5900_VI, vi31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
R5900_VI, vi31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,19 +1,67 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_MEM_ADDR, 0),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_DRAM_ADDR, 1),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_RD_LEN, 2),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_WR_LEN, 3),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_STATUS, 4),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_DMA_FULL, 5),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_DMA_BUSY, 6),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, SP_SEMAPHORE, 7),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_START, 8),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_END, 9),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_CURRENT, 10),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_STATUS, 11),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_CLOCK, 12),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_BUFBUSY, 13),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_PIPEBUSY, 14),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(RSP_COP0, DPC_TMEM, 15),
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_MEM_ADDR, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_DRAM_ADDR, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_RD_LEN, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_WR_LEN, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_STATUS, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_DMA_FULL, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_DMA_BUSY, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, SP_SEMAPHORE, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_START, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_END, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_CURRENT, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_STATUS, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_CLOCK, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_BUFBUSY, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_PIPEBUSY, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG_NODOLLAR(
|
||||
RSP_COP0, DPC_TMEM, 15,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 0, 0),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 1, 1),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 2, 2),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 3, 3),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 4, 4),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 5, 5),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 6, 6),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 7, 7),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 8, 8),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 9, 9),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 10, 10),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 11, 11),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 12, 12),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 13, 13),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 14, 14),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 15, 15),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 16, 16),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 17, 17),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 18, 18),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 19, 19),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 20, 20),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 21, 21),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 22, 22),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 23, 23),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 24, 24),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 25, 25),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 26, 26),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 27, 27),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 28, 28),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 29, 29),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 30, 30),
|
||||
RABBITIZER_DEF_REG(RSP_COP2, 31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2, 31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 0, 0),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 1, 1),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 2, 2),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 3, 3),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 4, 4),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 5, 5),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 6, 6),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 7, 7),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 8, 8),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 9, 9),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 10, 10),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 11, 11),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 12, 12),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 13, 13),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 14, 14),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 15, 15),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 16, 16),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 17, 17),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 18, 18),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 19, 19),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 20, 20),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 21, 21),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 22, 22),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 23, 23),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 24, 24),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 25, 25),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 26, 26),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 27, 27),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 28, 28),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 29, 29),
|
||||
RABBITIZER_DEF_REG(RSP_COP2_CONTROL, 30, 30),
|
||||
RABBITIZER_DEF_REG(COP1_CONTROL, 31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_COP2_CONTROL, 31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -1,35 +1,132 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(RSP_GPR, zero, 0),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 1, 1),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 2, 2),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 3, 3),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 4, 4),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 5, 5),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 6, 6),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 7, 7),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 8, 8),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 9, 9),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 10, 10),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 11, 11),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 12, 12),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 13, 13),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 14, 14),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 15, 15),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 16, 16),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 17, 17),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 18, 18),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 19, 19),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 20, 20),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 21, 21),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 22, 22),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 23, 23),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 24, 24),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 25, 25),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 26, 26),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 27, 27),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 28, 28),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 29, 29),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, 30, 30),
|
||||
RABBITIZER_DEF_REG(RSP_GPR, ra, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, zero, 0,
|
||||
.isZero=true
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, 30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_GPR, ra, 31,
|
||||
.isClobberedByFuncCall=true,
|
||||
.isRa=true
|
||||
)
|
||||
|
@ -1,35 +1,131 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v0, 0),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v1, 1),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v2, 2),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v3, 3),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v4, 4),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v5, 5),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v6, 6),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v7, 7),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v8, 8),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v9, 9),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v10, 10),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v11, 11),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v12, 12),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v13, 13),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v14, 14),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v15, 15),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v16, 16),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v17, 17),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v18, 18),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v19, 19),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v20, 20),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v21, 21),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v22, 22),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v23, 23),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v24, 24),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v25, 25),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v26, 26),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v27, 27),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v28, 28),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v29, 29),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v30, 30),
|
||||
RABBITIZER_DEF_REG(RSP_VECTOR, v31, 31),
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v0, 0,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v1, 1,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v2, 2,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v3, 3,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v4, 4,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v5, 5,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v6, 6,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v7, 7,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v8, 8,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v9, 9,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v10, 10,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v11, 11,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v12, 12,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v13, 13,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v14, 14,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v15, 15,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v16, 16,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v17, 17,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v18, 18,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v19, 19,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v20, 20,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v21, 21,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v22, 22,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v23, 23,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v24, 24,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v25, 25,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v26, 26,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v27, 27,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v28, 28,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v29, 29,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v30, 30,
|
||||
0
|
||||
)
|
||||
RABBITIZER_DEF_REG(
|
||||
RSP_VECTOR, v31, 31,
|
||||
0
|
||||
)
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "instructions/RabbitizerInstrSuffix.h"
|
||||
#include "instructions/RabbitizerInstrDescriptor.h"
|
||||
#include "instructions/RabbitizerRegister.h"
|
||||
#include "instructions/RabbitizerRegisterDescriptor.h"
|
||||
#include "instructions/RabbitizerInstruction.h"
|
||||
#include "instructions/RabbitizerInstructionRsp.h"
|
||||
#include "instructions/RabbitizerInstructionR5900.h"
|
||||
|
@ -5,11 +5,11 @@
|
||||
#include "instructions/RabbitizerRegister.h"
|
||||
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
{ "RegGprN32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL }
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
{ "RegGprN32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL },
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) \
|
||||
{ "RegGprN32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL }
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
{ "RegGprN32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL },
|
||||
|
||||
RabbitizerEnumMetadata rabbitizer_enum_RegGprN32_enumvalues[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_GprN32.inc"
|
||||
|
@ -5,11 +5,11 @@
|
||||
#include "instructions/RabbitizerRegister.h"
|
||||
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
{ "RegGprO32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL }
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
{ "RegGprO32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL },
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) \
|
||||
{ "RegGprO32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL }
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
{ "RegGprO32", #name, RABBITIZER_REG_##prefix##_##name, false, NULL },
|
||||
|
||||
RabbitizerEnumMetadata rabbitizer_enum_RegGprO32_enumvalues[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_GprO32.inc"
|
||||
|
@ -454,7 +454,7 @@ pub mod registers {
|
||||
RSP_COP2_CONTROL_28,
|
||||
RSP_COP2_CONTROL_29,
|
||||
RSP_COP2_CONTROL_30,
|
||||
COP1_CONTROL_31,
|
||||
RSP_COP2_CONTROL_31,
|
||||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
@ -501,38 +501,38 @@ pub mod registers {
|
||||
#[derive(num_enum::TryFromPrimitive)]
|
||||
#[derive(num_enum::IntoPrimitive)]
|
||||
pub enum R5900VF {
|
||||
vf0,
|
||||
vf1,
|
||||
vf2,
|
||||
vf3,
|
||||
vf4,
|
||||
vf5,
|
||||
vf6,
|
||||
vf7,
|
||||
vf8,
|
||||
vf9,
|
||||
vf10,
|
||||
vf11,
|
||||
vf12,
|
||||
vf13,
|
||||
vf14,
|
||||
vf15,
|
||||
vf16,
|
||||
vf17,
|
||||
vf18,
|
||||
vf19,
|
||||
vf20,
|
||||
vf21,
|
||||
vf22,
|
||||
vf23,
|
||||
vf24,
|
||||
vf25,
|
||||
vf26,
|
||||
vf27,
|
||||
vf28,
|
||||
vf29,
|
||||
vf30,
|
||||
vf31,
|
||||
vf0,
|
||||
vf1,
|
||||
vf2,
|
||||
vf3,
|
||||
vf4,
|
||||
vf5,
|
||||
vf6,
|
||||
vf7,
|
||||
vf8,
|
||||
vf9,
|
||||
vf10,
|
||||
vf11,
|
||||
vf12,
|
||||
vf13,
|
||||
vf14,
|
||||
vf15,
|
||||
vf16,
|
||||
vf17,
|
||||
vf18,
|
||||
vf19,
|
||||
vf20,
|
||||
vf21,
|
||||
vf22,
|
||||
vf23,
|
||||
vf24,
|
||||
vf25,
|
||||
vf26,
|
||||
vf27,
|
||||
vf28,
|
||||
vf29,
|
||||
vf30,
|
||||
vf31,
|
||||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
@ -540,37 +540,37 @@ vf31,
|
||||
#[derive(num_enum::TryFromPrimitive)]
|
||||
#[derive(num_enum::IntoPrimitive)]
|
||||
pub enum R5900VI {
|
||||
vi0,
|
||||
vi1,
|
||||
vi2,
|
||||
vi3,
|
||||
vi4,
|
||||
vi5,
|
||||
vi6,
|
||||
vi7,
|
||||
vi8,
|
||||
vi9,
|
||||
vi10,
|
||||
vi11,
|
||||
vi12,
|
||||
vi13,
|
||||
vi14,
|
||||
vi15,
|
||||
vi16,
|
||||
vi17,
|
||||
vi18,
|
||||
vi19,
|
||||
vi20,
|
||||
vi21,
|
||||
vi22,
|
||||
vi23,
|
||||
vi24,
|
||||
vi25,
|
||||
vi26,
|
||||
vi27,
|
||||
vi28,
|
||||
vi29,
|
||||
vi30,
|
||||
vi31,
|
||||
vi0,
|
||||
vi1,
|
||||
vi2,
|
||||
vi3,
|
||||
vi4,
|
||||
vi5,
|
||||
vi6,
|
||||
vi7,
|
||||
vi8,
|
||||
vi9,
|
||||
vi10,
|
||||
vi11,
|
||||
vi12,
|
||||
vi13,
|
||||
vi14,
|
||||
vi15,
|
||||
vi16,
|
||||
vi17,
|
||||
vi18,
|
||||
vi19,
|
||||
vi20,
|
||||
vi21,
|
||||
vi22,
|
||||
vi23,
|
||||
vi24,
|
||||
vi25,
|
||||
vi26,
|
||||
vi27,
|
||||
vi28,
|
||||
vi29,
|
||||
vi30,
|
||||
vi31,
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,10 @@
|
||||
#define HASH_EXPANSION(x) x
|
||||
#define SPECIAL_RS_TAG(...) HASH_EXPANSION(HASH)[__VA_ARGS__]
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
name,
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) \
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
RABBITIZER_DEF_REG(prefix, name, numeric)
|
||||
|
||||
pub mod registers {
|
||||
@ -69,8 +69,8 @@ pub mod registers {
|
||||
|
||||
#undef RABBITIZER_DEF_REG
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
prefix##_##name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
prefix##_##name,
|
||||
|
||||
SPECIAL_RS_TAG(repr(u32))
|
||||
SPECIAL_RS_TAG(derive(Debug, Copy, Clone, Hash, PartialEq, Eq))
|
||||
@ -104,8 +104,8 @@ pub mod registers {
|
||||
|
||||
#undef RABBITIZER_DEF_REG
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
name,
|
||||
|
||||
SPECIAL_RS_TAG(repr(u32))
|
||||
SPECIAL_RS_TAG(derive(Debug, Copy, Clone, Hash, PartialEq, Eq))
|
||||
@ -118,8 +118,8 @@ pub mod registers {
|
||||
|
||||
#undef RABBITIZER_DEF_REG
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
prefix##_##name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
prefix##_##name,
|
||||
|
||||
SPECIAL_RS_TAG(repr(u32))
|
||||
SPECIAL_RS_TAG(derive(Debug, Copy, Clone, Hash, PartialEq, Eq))
|
||||
@ -141,8 +141,8 @@ pub mod registers {
|
||||
|
||||
#undef RABBITIZER_DEF_REG
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) \
|
||||
name
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
name,
|
||||
|
||||
SPECIAL_RS_TAG(repr(u32))
|
||||
SPECIAL_RS_TAG(derive(Debug, Copy, Clone, Hash, PartialEq, Eq))
|
||||
|
46
src/instructions/RabbitizerRegisterDescriptor.c
Normal file
46
src/instructions/RabbitizerRegisterDescriptor.c
Normal file
@ -0,0 +1,46 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#include "instructions/RabbitizerRegisterDescriptor.h"
|
||||
|
||||
#include "instructions/RabbitizerRegister.h"
|
||||
|
||||
#include "RegisterDescriptor_Descriptors_arrays.table.h"
|
||||
|
||||
|
||||
bool RabbitizerRegisterDescriptor_isClobberedByFuncCall(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isClobberedByFuncCall;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isReserved(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isReserved;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isKernel(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isKernel;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isZero(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isZero;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isAt(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isAt;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isReturnReg(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isReturnReg;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isRa(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isRa;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isStackPointer(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isStackPointer;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isGp(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isGp;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isTemp(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isTemp;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isArg(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isArg;
|
||||
}
|
||||
bool RabbitizerRegisterDescriptor_isSaved(const RabbitizerRegisterDescriptor *self) {
|
||||
return self->isSaved;
|
||||
}
|
504
src/instructions/RegisterDescriptor_Descriptors_arrays.table.h
Normal file
504
src/instructions/RegisterDescriptor_Descriptors_arrays.table.h
Normal file
@ -0,0 +1,504 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
/* Automatically generated. DO NOT MODIFY */
|
||||
|
||||
#ifndef RegisterDescriptor_Descriptors_arrays_table_h_automatic
|
||||
#define RegisterDescriptor_Descriptors_arrays_table_h_automatic
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_GprO32_Descriptors[] = {
|
||||
[RABBITIZER_REG_GPR_O32_zero] = { .isZero=true },
|
||||
[RABBITIZER_REG_GPR_O32_at] = { .isClobberedByFuncCall=true, .isAt=true },
|
||||
[RABBITIZER_REG_GPR_O32_v0] = { .isClobberedByFuncCall=true, .isReturnReg=true },
|
||||
[RABBITIZER_REG_GPR_O32_v1] = { .isClobberedByFuncCall=true, .isReturnReg=true },
|
||||
[RABBITIZER_REG_GPR_O32_a0] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_O32_a1] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_O32_a2] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_O32_a3] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_O32_t0] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t1] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t2] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t3] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t4] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t5] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t6] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t7] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_s0] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s1] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s2] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s3] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s4] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s5] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s6] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_s7] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_O32_t8] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_t9] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_O32_k0] = { .isKernel=true },
|
||||
[RABBITIZER_REG_GPR_O32_k1] = { .isKernel=true },
|
||||
[RABBITIZER_REG_GPR_O32_gp] = { .isGp=true },
|
||||
[RABBITIZER_REG_GPR_O32_sp] = { .isStackPointer=true },
|
||||
[RABBITIZER_REG_GPR_O32_fp] = { 0 },
|
||||
[RABBITIZER_REG_GPR_O32_ra] = { .isClobberedByFuncCall=true, .isRa=true },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_GprN32_Descriptors[] = {
|
||||
[RABBITIZER_REG_GPR_N32_zero] = { .isZero=true },
|
||||
[RABBITIZER_REG_GPR_N32_at] = { .isClobberedByFuncCall=true, .isAt=true },
|
||||
[RABBITIZER_REG_GPR_N32_v0] = { .isClobberedByFuncCall=true, .isReturnReg=true },
|
||||
[RABBITIZER_REG_GPR_N32_v1] = { .isClobberedByFuncCall=true, .isReturnReg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a0] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a1] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a2] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a3] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a4] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a5] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a6] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_a7] = { .isClobberedByFuncCall=true, .isArg=true },
|
||||
[RABBITIZER_REG_GPR_N32_t0] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_t1] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_t2] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_t3] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_s0] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s1] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s2] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s3] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s4] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s5] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s6] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_s7] = { .isSaved=true },
|
||||
[RABBITIZER_REG_GPR_N32_t8] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_t9] = { .isClobberedByFuncCall=true, .isTemp=true },
|
||||
[RABBITIZER_REG_GPR_N32_k0] = { .isKernel=true },
|
||||
[RABBITIZER_REG_GPR_N32_k1] = { .isKernel=true },
|
||||
[RABBITIZER_REG_GPR_N32_gp] = { .isGp=true },
|
||||
[RABBITIZER_REG_GPR_N32_sp] = { .isStackPointer=true },
|
||||
[RABBITIZER_REG_GPR_N32_fp] = { 0 },
|
||||
[RABBITIZER_REG_GPR_N32_ra] = { .isClobberedByFuncCall=true, .isRa=true },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop0_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP0_Index] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Random] = { 0 },
|
||||
[RABBITIZER_REG_COP0_EntryLo0] = { 0 },
|
||||
[RABBITIZER_REG_COP0_EntryLo1] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Context] = { 0 },
|
||||
[RABBITIZER_REG_COP0_PageMask] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Wired] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Reserved07] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_BadVaddr] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Count] = { 0 },
|
||||
[RABBITIZER_REG_COP0_EntryHi] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Compare] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Status] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Cause] = { 0 },
|
||||
[RABBITIZER_REG_COP0_EPC] = { 0 },
|
||||
[RABBITIZER_REG_COP0_PRevID] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Config] = { 0 },
|
||||
[RABBITIZER_REG_COP0_LLAddr] = { 0 },
|
||||
[RABBITIZER_REG_COP0_WatchLo] = { 0 },
|
||||
[RABBITIZER_REG_COP0_WatchHi] = { 0 },
|
||||
[RABBITIZER_REG_COP0_XContext] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Reserved21] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_Reserved22] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_Reserved23] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_Reserved24] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_Reserved25] = { .isReserved=true },
|
||||
[RABBITIZER_REG_COP0_PErr] = { 0 },
|
||||
[RABBITIZER_REG_COP0_CacheErr] = { 0 },
|
||||
[RABBITIZER_REG_COP0_TagLo] = { 0 },
|
||||
[RABBITIZER_REG_COP0_TagHi] = { 0 },
|
||||
[RABBITIZER_REG_COP0_ErrorEPC] = { 0 },
|
||||
[RABBITIZER_REG_COP0_Reserved31] = { .isReserved=true },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1O32_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP1_O32_fv0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fv0f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fv1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fv1f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft0f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft1f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft2f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft3f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fa0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fa0f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fa1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fa1f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft4f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_ft5f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs0f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs1f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs2f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs3f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs4f] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_O32_fs5f] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N32_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP1_N32_fv0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft14] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fv1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft15] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft7] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fa7] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft8] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft9] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft10] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft11] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft12] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_fs5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N32_ft13] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N64_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP1_N64_fv0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft12] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fv1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft13] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft7] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fa7] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft8] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft9] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft10] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_ft11] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_N64_fs7] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1Control_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP1_CONTROL_0] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_1] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_2] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_3] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_4] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_5] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_6] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_7] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_8] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_9] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_10] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_11] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_12] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_13] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_14] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_15] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_16] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_17] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_18] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_19] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_20] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_21] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_22] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_23] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_24] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_25] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_26] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_27] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_28] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_29] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_30] = { 0 },
|
||||
[RABBITIZER_REG_COP1_CONTROL_FpcCsr] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop2_Descriptors[] = {
|
||||
[RABBITIZER_REG_COP2_0] = { 0 },
|
||||
[RABBITIZER_REG_COP2_1] = { 0 },
|
||||
[RABBITIZER_REG_COP2_2] = { 0 },
|
||||
[RABBITIZER_REG_COP2_3] = { 0 },
|
||||
[RABBITIZER_REG_COP2_4] = { 0 },
|
||||
[RABBITIZER_REG_COP2_5] = { 0 },
|
||||
[RABBITIZER_REG_COP2_6] = { 0 },
|
||||
[RABBITIZER_REG_COP2_7] = { 0 },
|
||||
[RABBITIZER_REG_COP2_8] = { 0 },
|
||||
[RABBITIZER_REG_COP2_9] = { 0 },
|
||||
[RABBITIZER_REG_COP2_10] = { 0 },
|
||||
[RABBITIZER_REG_COP2_11] = { 0 },
|
||||
[RABBITIZER_REG_COP2_12] = { 0 },
|
||||
[RABBITIZER_REG_COP2_13] = { 0 },
|
||||
[RABBITIZER_REG_COP2_14] = { 0 },
|
||||
[RABBITIZER_REG_COP2_15] = { 0 },
|
||||
[RABBITIZER_REG_COP2_16] = { 0 },
|
||||
[RABBITIZER_REG_COP2_17] = { 0 },
|
||||
[RABBITIZER_REG_COP2_18] = { 0 },
|
||||
[RABBITIZER_REG_COP2_19] = { 0 },
|
||||
[RABBITIZER_REG_COP2_20] = { 0 },
|
||||
[RABBITIZER_REG_COP2_21] = { 0 },
|
||||
[RABBITIZER_REG_COP2_22] = { 0 },
|
||||
[RABBITIZER_REG_COP2_23] = { 0 },
|
||||
[RABBITIZER_REG_COP2_24] = { 0 },
|
||||
[RABBITIZER_REG_COP2_25] = { 0 },
|
||||
[RABBITIZER_REG_COP2_26] = { 0 },
|
||||
[RABBITIZER_REG_COP2_27] = { 0 },
|
||||
[RABBITIZER_REG_COP2_28] = { 0 },
|
||||
[RABBITIZER_REG_COP2_29] = { 0 },
|
||||
[RABBITIZER_REG_COP2_30] = { 0 },
|
||||
[RABBITIZER_REG_COP2_31] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspGpr_Descriptors[] = {
|
||||
[RABBITIZER_REG_RSP_GPR_zero] = { .isZero=true },
|
||||
[RABBITIZER_REG_RSP_GPR_1] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_2] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_3] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_4] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_5] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_6] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_7] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_8] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_9] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_10] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_11] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_12] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_13] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_14] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_15] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_16] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_17] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_18] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_19] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_20] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_21] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_22] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_23] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_24] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_25] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_26] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_27] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_28] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_29] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_30] = { 0 },
|
||||
[RABBITIZER_REG_RSP_GPR_ra] = { .isClobberedByFuncCall=true, .isRa=true },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop0_Descriptors[] = {
|
||||
[RABBITIZER_REG_RSP_COP0_SP_MEM_ADDR] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_DRAM_ADDR] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_RD_LEN] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_WR_LEN] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_STATUS] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_DMA_FULL] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_DMA_BUSY] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_SP_SEMAPHORE] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_START] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_END] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_CURRENT] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_STATUS] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_CLOCK] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_BUFBUSY] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_PIPEBUSY] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP0_DPC_TMEM] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2_Descriptors[] = {
|
||||
[RABBITIZER_REG_RSP_COP2_0] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_1] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_2] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_3] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_4] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_5] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_6] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_7] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_8] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_9] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_10] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_11] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_12] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_13] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_14] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_15] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_16] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_17] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_18] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_19] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_20] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_21] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_22] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_23] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_24] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_25] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_26] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_27] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_28] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_29] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_30] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_31] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2Control_Descriptors[] = {
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_0] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_1] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_2] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_3] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_4] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_5] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_6] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_7] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_8] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_9] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_10] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_11] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_12] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_13] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_14] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_15] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_16] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_17] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_18] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_19] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_20] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_21] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_22] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_23] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_24] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_25] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_26] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_27] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_28] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_29] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_30] = { 0 },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_31] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descriptors[] = {
|
||||
[RABBITIZER_REG_RSP_VECTOR_v0] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v1] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v2] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v3] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v4] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v5] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v6] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v7] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v8] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v9] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v10] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v11] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v12] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v13] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v14] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v15] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v16] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v17] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v18] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v19] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v20] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v21] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v22] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v23] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v24] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v25] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v26] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v27] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v28] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v29] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v30] = { 0 },
|
||||
[RABBITIZER_REG_RSP_VECTOR_v31] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[] = {
|
||||
[RABBITIZER_REG_R5900_VF_vf0] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf1] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf2] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf3] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf4] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf5] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf6] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf7] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf8] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf9] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf10] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf11] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf12] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf13] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf14] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf15] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf16] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf17] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf18] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf19] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf20] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf21] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf22] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf23] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf24] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf25] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf26] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf27] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf28] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf29] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf30] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VF_vf31] = { 0 },
|
||||
};
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VI_Descriptors[] = {
|
||||
[RABBITIZER_REG_R5900_VI_vi0] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi1] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi2] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi3] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi4] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi5] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi6] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi7] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi8] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi9] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi10] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi11] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi12] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi13] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi14] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi15] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi16] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi17] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi18] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi19] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi20] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi21] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi22] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi23] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi24] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi25] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi26] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi27] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi28] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi29] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi30] = { 0 },
|
||||
[RABBITIZER_REG_R5900_VI_vi31] = { 0 },
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,79 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
[RABBITIZER_REG_##prefix##_##name] = { __VA_ARGS__ },
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
RABBITIZER_DEF_REG(prefix, name, numeric, __VA_ARGS__)
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_GprO32_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_GprO32.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_GprN32_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_GprN32.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop0_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop0.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1O32_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop1O32.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N32_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop1N32.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1N64_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop1N64.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop1Control_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop1Control.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_Cop2_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_Cop2.inc"
|
||||
};
|
||||
|
||||
/* RSP */
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspGpr_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_RspGpr.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop0_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_RspCop0.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_RspCop2.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspCop2Control_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_RspCop2Control.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_RspVector.inc"
|
||||
};
|
||||
|
||||
/* RSP */
|
||||
|
||||
/* R5900 */
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_R5900VF.inc"
|
||||
};
|
||||
|
||||
const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VI_Descriptors[] = {
|
||||
#include "instructions/registers/RabbitizerRegister_R5900VI.inc"
|
||||
};
|
||||
|
||||
/* R5900 */
|
||||
|
||||
#undef RABBITIZER_DEF_REG
|
||||
#undef RABBITIZER_DEF_REG_NODOLLAR
|
@ -396,7 +396,7 @@ const char *RabbitizerRegister_RspCop2Control_Names[][2] = {
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_28] = { "$" "28", "$" "28" },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_29] = { "$" "29", "$" "29" },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_30] = { "$" "30", "$" "30" },
|
||||
[RABBITIZER_REG_COP1_CONTROL_31] = { "$" "31", "$" "31" },
|
||||
[RABBITIZER_REG_RSP_COP2_CONTROL_31] = { "$" "31", "$" "31" },
|
||||
};
|
||||
const char *RabbitizerRegister_RspVector_Names[][2] = {
|
||||
[RABBITIZER_REG_RSP_VECTOR_v0] = { "$" "0", "$" "v0" },
|
||||
@ -433,72 +433,72 @@ const char *RabbitizerRegister_RspVector_Names[][2] = {
|
||||
[RABBITIZER_REG_RSP_VECTOR_v31] = { "$" "31", "$" "v31" },
|
||||
};
|
||||
const char *RabbitizerRegister_R5900VF_Names[][2] = {
|
||||
[RABBITIZER_REG_R5900_VF_vf0] = { "$" "0", "$" "vf0" },
|
||||
[RABBITIZER_REG_R5900_VF_vf1] = { "$" "1", "$" "vf1" },
|
||||
[RABBITIZER_REG_R5900_VF_vf2] = { "$" "2", "$" "vf2" },
|
||||
[RABBITIZER_REG_R5900_VF_vf3] = { "$" "3", "$" "vf3" },
|
||||
[RABBITIZER_REG_R5900_VF_vf4] = { "$" "4", "$" "vf4" },
|
||||
[RABBITIZER_REG_R5900_VF_vf5] = { "$" "5", "$" "vf5" },
|
||||
[RABBITIZER_REG_R5900_VF_vf6] = { "$" "6", "$" "vf6" },
|
||||
[RABBITIZER_REG_R5900_VF_vf7] = { "$" "7", "$" "vf7" },
|
||||
[RABBITIZER_REG_R5900_VF_vf8] = { "$" "8", "$" "vf8" },
|
||||
[RABBITIZER_REG_R5900_VF_vf9] = { "$" "9", "$" "vf9" },
|
||||
[RABBITIZER_REG_R5900_VF_vf10] = { "$" "10", "$" "vf10" },
|
||||
[RABBITIZER_REG_R5900_VF_vf11] = { "$" "11", "$" "vf11" },
|
||||
[RABBITIZER_REG_R5900_VF_vf12] = { "$" "12", "$" "vf12" },
|
||||
[RABBITIZER_REG_R5900_VF_vf13] = { "$" "13", "$" "vf13" },
|
||||
[RABBITIZER_REG_R5900_VF_vf14] = { "$" "14", "$" "vf14" },
|
||||
[RABBITIZER_REG_R5900_VF_vf15] = { "$" "15", "$" "vf15" },
|
||||
[RABBITIZER_REG_R5900_VF_vf16] = { "$" "16", "$" "vf16" },
|
||||
[RABBITIZER_REG_R5900_VF_vf17] = { "$" "17", "$" "vf17" },
|
||||
[RABBITIZER_REG_R5900_VF_vf18] = { "$" "18", "$" "vf18" },
|
||||
[RABBITIZER_REG_R5900_VF_vf19] = { "$" "19", "$" "vf19" },
|
||||
[RABBITIZER_REG_R5900_VF_vf20] = { "$" "20", "$" "vf20" },
|
||||
[RABBITIZER_REG_R5900_VF_vf21] = { "$" "21", "$" "vf21" },
|
||||
[RABBITIZER_REG_R5900_VF_vf22] = { "$" "22", "$" "vf22" },
|
||||
[RABBITIZER_REG_R5900_VF_vf23] = { "$" "23", "$" "vf23" },
|
||||
[RABBITIZER_REG_R5900_VF_vf24] = { "$" "24", "$" "vf24" },
|
||||
[RABBITIZER_REG_R5900_VF_vf25] = { "$" "25", "$" "vf25" },
|
||||
[RABBITIZER_REG_R5900_VF_vf26] = { "$" "26", "$" "vf26" },
|
||||
[RABBITIZER_REG_R5900_VF_vf27] = { "$" "27", "$" "vf27" },
|
||||
[RABBITIZER_REG_R5900_VF_vf28] = { "$" "28", "$" "vf28" },
|
||||
[RABBITIZER_REG_R5900_VF_vf29] = { "$" "29", "$" "vf29" },
|
||||
[RABBITIZER_REG_R5900_VF_vf30] = { "$" "30", "$" "vf30" },
|
||||
[RABBITIZER_REG_R5900_VF_vf31] = { "$" "31", "$" "vf31" },
|
||||
[RABBITIZER_REG_R5900_VF_vf0] = { "$" "0", "$" "vf0" },
|
||||
[RABBITIZER_REG_R5900_VF_vf1] = { "$" "1", "$" "vf1" },
|
||||
[RABBITIZER_REG_R5900_VF_vf2] = { "$" "2", "$" "vf2" },
|
||||
[RABBITIZER_REG_R5900_VF_vf3] = { "$" "3", "$" "vf3" },
|
||||
[RABBITIZER_REG_R5900_VF_vf4] = { "$" "4", "$" "vf4" },
|
||||
[RABBITIZER_REG_R5900_VF_vf5] = { "$" "5", "$" "vf5" },
|
||||
[RABBITIZER_REG_R5900_VF_vf6] = { "$" "6", "$" "vf6" },
|
||||
[RABBITIZER_REG_R5900_VF_vf7] = { "$" "7", "$" "vf7" },
|
||||
[RABBITIZER_REG_R5900_VF_vf8] = { "$" "8", "$" "vf8" },
|
||||
[RABBITIZER_REG_R5900_VF_vf9] = { "$" "9", "$" "vf9" },
|
||||
[RABBITIZER_REG_R5900_VF_vf10] = { "$" "10", "$" "vf10" },
|
||||
[RABBITIZER_REG_R5900_VF_vf11] = { "$" "11", "$" "vf11" },
|
||||
[RABBITIZER_REG_R5900_VF_vf12] = { "$" "12", "$" "vf12" },
|
||||
[RABBITIZER_REG_R5900_VF_vf13] = { "$" "13", "$" "vf13" },
|
||||
[RABBITIZER_REG_R5900_VF_vf14] = { "$" "14", "$" "vf14" },
|
||||
[RABBITIZER_REG_R5900_VF_vf15] = { "$" "15", "$" "vf15" },
|
||||
[RABBITIZER_REG_R5900_VF_vf16] = { "$" "16", "$" "vf16" },
|
||||
[RABBITIZER_REG_R5900_VF_vf17] = { "$" "17", "$" "vf17" },
|
||||
[RABBITIZER_REG_R5900_VF_vf18] = { "$" "18", "$" "vf18" },
|
||||
[RABBITIZER_REG_R5900_VF_vf19] = { "$" "19", "$" "vf19" },
|
||||
[RABBITIZER_REG_R5900_VF_vf20] = { "$" "20", "$" "vf20" },
|
||||
[RABBITIZER_REG_R5900_VF_vf21] = { "$" "21", "$" "vf21" },
|
||||
[RABBITIZER_REG_R5900_VF_vf22] = { "$" "22", "$" "vf22" },
|
||||
[RABBITIZER_REG_R5900_VF_vf23] = { "$" "23", "$" "vf23" },
|
||||
[RABBITIZER_REG_R5900_VF_vf24] = { "$" "24", "$" "vf24" },
|
||||
[RABBITIZER_REG_R5900_VF_vf25] = { "$" "25", "$" "vf25" },
|
||||
[RABBITIZER_REG_R5900_VF_vf26] = { "$" "26", "$" "vf26" },
|
||||
[RABBITIZER_REG_R5900_VF_vf27] = { "$" "27", "$" "vf27" },
|
||||
[RABBITIZER_REG_R5900_VF_vf28] = { "$" "28", "$" "vf28" },
|
||||
[RABBITIZER_REG_R5900_VF_vf29] = { "$" "29", "$" "vf29" },
|
||||
[RABBITIZER_REG_R5900_VF_vf30] = { "$" "30", "$" "vf30" },
|
||||
[RABBITIZER_REG_R5900_VF_vf31] = { "$" "31", "$" "vf31" },
|
||||
};
|
||||
const char *RabbitizerRegister_R5900VI_Names[][2] = {
|
||||
[RABBITIZER_REG_R5900_VI_vi0] = { "$" "0", "$" "vi0" },
|
||||
[RABBITIZER_REG_R5900_VI_vi1] = { "$" "1", "$" "vi1" },
|
||||
[RABBITIZER_REG_R5900_VI_vi2] = { "$" "2", "$" "vi2" },
|
||||
[RABBITIZER_REG_R5900_VI_vi3] = { "$" "3", "$" "vi3" },
|
||||
[RABBITIZER_REG_R5900_VI_vi4] = { "$" "4", "$" "vi4" },
|
||||
[RABBITIZER_REG_R5900_VI_vi5] = { "$" "5", "$" "vi5" },
|
||||
[RABBITIZER_REG_R5900_VI_vi6] = { "$" "6", "$" "vi6" },
|
||||
[RABBITIZER_REG_R5900_VI_vi7] = { "$" "7", "$" "vi7" },
|
||||
[RABBITIZER_REG_R5900_VI_vi8] = { "$" "8", "$" "vi8" },
|
||||
[RABBITIZER_REG_R5900_VI_vi9] = { "$" "9", "$" "vi9" },
|
||||
[RABBITIZER_REG_R5900_VI_vi10] = { "$" "10", "$" "vi10" },
|
||||
[RABBITIZER_REG_R5900_VI_vi11] = { "$" "11", "$" "vi11" },
|
||||
[RABBITIZER_REG_R5900_VI_vi12] = { "$" "12", "$" "vi12" },
|
||||
[RABBITIZER_REG_R5900_VI_vi13] = { "$" "13", "$" "vi13" },
|
||||
[RABBITIZER_REG_R5900_VI_vi14] = { "$" "14", "$" "vi14" },
|
||||
[RABBITIZER_REG_R5900_VI_vi15] = { "$" "15", "$" "vi15" },
|
||||
[RABBITIZER_REG_R5900_VI_vi16] = { "$" "16", "$" "vi16" },
|
||||
[RABBITIZER_REG_R5900_VI_vi17] = { "$" "17", "$" "vi17" },
|
||||
[RABBITIZER_REG_R5900_VI_vi18] = { "$" "18", "$" "vi18" },
|
||||
[RABBITIZER_REG_R5900_VI_vi19] = { "$" "19", "$" "vi19" },
|
||||
[RABBITIZER_REG_R5900_VI_vi20] = { "$" "20", "$" "vi20" },
|
||||
[RABBITIZER_REG_R5900_VI_vi21] = { "$" "21", "$" "vi21" },
|
||||
[RABBITIZER_REG_R5900_VI_vi22] = { "$" "22", "$" "vi22" },
|
||||
[RABBITIZER_REG_R5900_VI_vi23] = { "$" "23", "$" "vi23" },
|
||||
[RABBITIZER_REG_R5900_VI_vi24] = { "$" "24", "$" "vi24" },
|
||||
[RABBITIZER_REG_R5900_VI_vi25] = { "$" "25", "$" "vi25" },
|
||||
[RABBITIZER_REG_R5900_VI_vi26] = { "$" "26", "$" "vi26" },
|
||||
[RABBITIZER_REG_R5900_VI_vi27] = { "$" "27", "$" "vi27" },
|
||||
[RABBITIZER_REG_R5900_VI_vi28] = { "$" "28", "$" "vi28" },
|
||||
[RABBITIZER_REG_R5900_VI_vi29] = { "$" "29", "$" "vi29" },
|
||||
[RABBITIZER_REG_R5900_VI_vi30] = { "$" "30", "$" "vi30" },
|
||||
[RABBITIZER_REG_R5900_VI_vi31] = { "$" "31", "$" "vi31" },
|
||||
[RABBITIZER_REG_R5900_VI_vi0] = { "$" "0", "$" "vi0" },
|
||||
[RABBITIZER_REG_R5900_VI_vi1] = { "$" "1", "$" "vi1" },
|
||||
[RABBITIZER_REG_R5900_VI_vi2] = { "$" "2", "$" "vi2" },
|
||||
[RABBITIZER_REG_R5900_VI_vi3] = { "$" "3", "$" "vi3" },
|
||||
[RABBITIZER_REG_R5900_VI_vi4] = { "$" "4", "$" "vi4" },
|
||||
[RABBITIZER_REG_R5900_VI_vi5] = { "$" "5", "$" "vi5" },
|
||||
[RABBITIZER_REG_R5900_VI_vi6] = { "$" "6", "$" "vi6" },
|
||||
[RABBITIZER_REG_R5900_VI_vi7] = { "$" "7", "$" "vi7" },
|
||||
[RABBITIZER_REG_R5900_VI_vi8] = { "$" "8", "$" "vi8" },
|
||||
[RABBITIZER_REG_R5900_VI_vi9] = { "$" "9", "$" "vi9" },
|
||||
[RABBITIZER_REG_R5900_VI_vi10] = { "$" "10", "$" "vi10" },
|
||||
[RABBITIZER_REG_R5900_VI_vi11] = { "$" "11", "$" "vi11" },
|
||||
[RABBITIZER_REG_R5900_VI_vi12] = { "$" "12", "$" "vi12" },
|
||||
[RABBITIZER_REG_R5900_VI_vi13] = { "$" "13", "$" "vi13" },
|
||||
[RABBITIZER_REG_R5900_VI_vi14] = { "$" "14", "$" "vi14" },
|
||||
[RABBITIZER_REG_R5900_VI_vi15] = { "$" "15", "$" "vi15" },
|
||||
[RABBITIZER_REG_R5900_VI_vi16] = { "$" "16", "$" "vi16" },
|
||||
[RABBITIZER_REG_R5900_VI_vi17] = { "$" "17", "$" "vi17" },
|
||||
[RABBITIZER_REG_R5900_VI_vi18] = { "$" "18", "$" "vi18" },
|
||||
[RABBITIZER_REG_R5900_VI_vi19] = { "$" "19", "$" "vi19" },
|
||||
[RABBITIZER_REG_R5900_VI_vi20] = { "$" "20", "$" "vi20" },
|
||||
[RABBITIZER_REG_R5900_VI_vi21] = { "$" "21", "$" "vi21" },
|
||||
[RABBITIZER_REG_R5900_VI_vi22] = { "$" "22", "$" "vi22" },
|
||||
[RABBITIZER_REG_R5900_VI_vi23] = { "$" "23", "$" "vi23" },
|
||||
[RABBITIZER_REG_R5900_VI_vi24] = { "$" "24", "$" "vi24" },
|
||||
[RABBITIZER_REG_R5900_VI_vi25] = { "$" "25", "$" "vi25" },
|
||||
[RABBITIZER_REG_R5900_VI_vi26] = { "$" "26", "$" "vi26" },
|
||||
[RABBITIZER_REG_R5900_VI_vi27] = { "$" "27", "$" "vi27" },
|
||||
[RABBITIZER_REG_R5900_VI_vi28] = { "$" "28", "$" "vi28" },
|
||||
[RABBITIZER_REG_R5900_VI_vi29] = { "$" "29", "$" "vi29" },
|
||||
[RABBITIZER_REG_R5900_VI_vi30] = { "$" "30", "$" "vi30" },
|
||||
[RABBITIZER_REG_R5900_VI_vi31] = { "$" "31", "$" "vi31" },
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1,9 +1,11 @@
|
||||
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
|
||||
/* SPDX-License-Identifier: MIT */
|
||||
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric) [RABBITIZER_REG_##prefix##_##name] = { "$" #numeric, "$" #name }
|
||||
#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \
|
||||
[RABBITIZER_REG_##prefix##_##name] = { "$" #numeric, "$" #name },
|
||||
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric) [RABBITIZER_REG_##prefix##_##name] = { "$" #numeric, #name }
|
||||
#define RABBITIZER_DEF_REG_NODOLLAR(prefix, name, numeric, ...) \
|
||||
[RABBITIZER_REG_##prefix##_##name] = { "$" #numeric, #name },
|
||||
|
||||
// numeric, named
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user