rabbitizer/include/instructions/instr_id/rsp/rsp_cop2_vu.inc

54 lines
7.5 KiB
PHP
Raw Normal View History

2022-08-23 19:07:25 +00:00
/* SPDX-FileCopyrightText: © 2022 Decompollaborate */
/* SPDX-License-Identifier: MIT */
// OP vd, vs, vt[elementhigh]
RABBITIZER_DEF_INSTR_ID(rsp, 0x00, vmulf, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x01, vmulu, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x02, vrndp, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x03, vmulq, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x04, vmudl, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x05, vmudm, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x06, vmudn, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x07, vmudh, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x08, vmacf, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x09, vmacu, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0A, vrndn, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0B, vmacq, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0C, vmadl, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0D, vmadm, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0E, vmadn, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x0F, vmadh, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x10, vadd, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x11, vsub, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x13, vabs, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x14, vaddc, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x15, vsubc, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x1D, vsar, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x28, vand, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x29, vnand, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x2A, vor, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x2B, vnor, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x2C, vxor, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x2D, vnxor, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x20, vlt, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x21, veq, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x22, vne, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x23, vge, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x24, vcl, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x25, vch, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x26, vcr, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x27, vmrg, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd, RABBITIZER_OPERAND_TYPE_RSP_vs, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
// OP vd[de], vt[elementhigh]
RABBITIZER_DEF_INSTR_ID(rsp, 0x30, vrcp, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x31, vrcpl, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh}) // operands may be wrong
RABBITIZER_DEF_INSTR_ID(rsp, 0x32, vrcph, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x33, vmov, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x34, vrsq, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x35, vrsql, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
RABBITIZER_DEF_INSTR_ID(rsp, 0x36, vrsqh, .operands={RABBITIZER_OPERAND_TYPE_RSP_vd_de, RABBITIZER_OPERAND_TYPE_RSP_vt_elementhigh})
// OP
RABBITIZER_DEF_INSTR_ID(rsp, 0x37, vnop, .operands={0})