rabbitizer/include/instructions/RabbitizerInstrId.h

128 lines
3.3 KiB
C
Raw Normal View History

2022-06-03 17:46:51 +00:00
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
/* SPDX-License-Identifier: MIT */
#ifndef RABBITIZER_INSTRID_H
#define RABBITIZER_INSTRID_H
#pragma once
2022-06-03 21:05:00 +00:00
#define RABBITIZER_DEF_INSTR_ID(prefix, name, ...) \
RABBITIZER_INSTR_##prefix##_##name
2022-06-03 21:05:00 +00:00
#define RABBITIZER_DEF_INSTR_ID_ALTNAME(prefix, name, altname, ...) \
RABBITIZER_INSTR_##prefix##_##name
2022-06-03 21:05:00 +00:00
typedef enum RabbitizerInstrCpuId {
#include "instructions/RabbitizerInstrId_cpu.inc"
RABBITIZER_DEF_INSTR_ID(CPU_ID, MAX),
2022-06-03 17:46:51 +00:00
} RabbitizerInstrCpuId;
#undef RABBITIZER_DEF_INSTR_ID
#undef RABBITIZER_DEF_INSTR_ID_ALTNAME
2022-06-03 17:46:51 +00:00
typedef enum RabbitizerInstrRspId {
2022-06-03 21:33:10 +00:00
RABBITIZER_INSTR_RSP_ID_INVALID = RABBITIZER_INSTR_CPU_ID_MAX+1,
RABBITIZER_INSTR_RSP_ID_vmulf,
RABBITIZER_INSTR_RSP_ID_vmulu,
RABBITIZER_INSTR_RSP_ID_vrndp,
RABBITIZER_INSTR_RSP_ID_vmulq,
RABBITIZER_INSTR_RSP_ID_vmudl,
RABBITIZER_INSTR_RSP_ID_vmudm,
RABBITIZER_INSTR_RSP_ID_vmudn,
RABBITIZER_INSTR_RSP_ID_vmudh,
RABBITIZER_INSTR_RSP_ID_vmacf,
RABBITIZER_INSTR_RSP_ID_vmacu,
RABBITIZER_INSTR_RSP_ID_vrndn,
RABBITIZER_INSTR_RSP_ID_vmacq,
RABBITIZER_INSTR_RSP_ID_vmadl,
RABBITIZER_INSTR_RSP_ID_vmadm,
RABBITIZER_INSTR_RSP_ID_vmadn,
RABBITIZER_INSTR_RSP_ID_vmadh,
RABBITIZER_INSTR_RSP_ID_vadd,
RABBITIZER_INSTR_RSP_ID_vsub,
RABBITIZER_INSTR_RSP_ID_vabs,
RABBITIZER_INSTR_RSP_ID_vaddc,
RABBITIZER_INSTR_RSP_ID_vsubc,
RABBITIZER_INSTR_RSP_ID_vsar,
RABBITIZER_INSTR_RSP_ID_vand,
RABBITIZER_INSTR_RSP_ID_vnand,
RABBITIZER_INSTR_RSP_ID_vor,
RABBITIZER_INSTR_RSP_ID_vnor,
RABBITIZER_INSTR_RSP_ID_vxor,
RABBITIZER_INSTR_RSP_ID_vnxor,
RABBITIZER_INSTR_RSP_ID_vlt,
RABBITIZER_INSTR_RSP_ID_veq,
RABBITIZER_INSTR_RSP_ID_vne,
RABBITIZER_INSTR_RSP_ID_vge,
RABBITIZER_INSTR_RSP_ID_vcl,
RABBITIZER_INSTR_RSP_ID_vch,
RABBITIZER_INSTR_RSP_ID_vcr,
RABBITIZER_INSTR_RSP_ID_vmrg,
RABBITIZER_INSTR_RSP_ID_vrcp,
RABBITIZER_INSTR_RSP_ID_vrcpl,
RABBITIZER_INSTR_RSP_ID_vrcph,
RABBITIZER_INSTR_RSP_ID_vmov,
RABBITIZER_INSTR_RSP_ID_vrsq,
RABBITIZER_INSTR_RSP_ID_vrsql,
RABBITIZER_INSTR_RSP_ID_vrsqh,
RABBITIZER_INSTR_RSP_ID_vnop,
RABBITIZER_INSTR_RSP_ID_mfc2,
RABBITIZER_INSTR_RSP_ID_mtc2,
RABBITIZER_INSTR_RSP_ID_cfc2,
RABBITIZER_INSTR_RSP_ID_ctc2,
RABBITIZER_INSTR_RSP_ID_sbv,
RABBITIZER_INSTR_RSP_ID_ssv,
RABBITIZER_INSTR_RSP_ID_slv,
RABBITIZER_INSTR_RSP_ID_sdv,
RABBITIZER_INSTR_RSP_ID_sqv,
RABBITIZER_INSTR_RSP_ID_srv,
RABBITIZER_INSTR_RSP_ID_spv,
RABBITIZER_INSTR_RSP_ID_suv,
RABBITIZER_INSTR_RSP_ID_swv,
RABBITIZER_INSTR_RSP_ID_shv,
RABBITIZER_INSTR_RSP_ID_sfv,
RABBITIZER_INSTR_RSP_ID_stv,
RABBITIZER_INSTR_RSP_ID_lbv,
RABBITIZER_INSTR_RSP_ID_lsv,
RABBITIZER_INSTR_RSP_ID_llv,
RABBITIZER_INSTR_RSP_ID_ldv,
RABBITIZER_INSTR_RSP_ID_lqv,
RABBITIZER_INSTR_RSP_ID_lrv,
RABBITIZER_INSTR_RSP_ID_lpv,
RABBITIZER_INSTR_RSP_ID_luv,
RABBITIZER_INSTR_RSP_ID_lhv,
RABBITIZER_INSTR_RSP_ID_lfv,
RABBITIZER_INSTR_RSP_ID_ltv,
RABBITIZER_INSTR_RSP_ID_MAX,
2022-06-03 17:46:51 +00:00
} RabbitizerInstrRspId;
typedef union RabbitizerInstrId {
RabbitizerInstrCpuId cpuId;
RabbitizerInstrRspId rspId;
} RabbitizerInstrId;
2022-06-03 21:33:10 +00:00
extern const char *RabbitizerInstrId_Names[];
2022-06-03 17:46:51 +00:00
#endif