/*
 * RSP Compiler plug in for Project 64 (A Nintendo 64 emulator).
 *
 * (c) Copyright 2001 jabo (jabo@emulation64.com) and
 * zilmar (zilmar@emulation64.com)
 *
 * pj64 homepage: www.pj64.net
 * 
 * Permission to use, copy, modify and distribute Project64 in both binary and
 * source form, for non-commercial purposes, is hereby granted without fee,
 * providing that this license information and copyright notice appear with
 * all copies and any derived work.
 *
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event shall the authors be held liable for any damages
 * arising from the use of this software.
 *
 * Project64 is freeware for PERSONAL USE only. Commercial users should
 * seek permission of the copyright holders first. Commercial use includes
 * charging money for Project64 or software derived from Project64.
 *
 * The copyright holders request that bug fixes and improvements to the code
 * should be forwarded to them so if they want them.
 *
 */

/************************* OpCode functions *************************/
void Compile_SPECIAL       ( void );
void Compile_REGIMM        ( void );
void Compile_J             ( void );
void Compile_JAL           ( void );
void Compile_BEQ           ( void );
void Compile_BNE           ( void );
void Compile_BLEZ          ( void );
void Compile_BGTZ          ( void );
void Compile_ADDI          ( void );
void Compile_ADDIU         ( void );
void Compile_SLTI          ( void );
void Compile_SLTIU         ( void );
void Compile_ANDI          ( void );
void Compile_ORI           ( void );
void Compile_XORI          ( void );
void Compile_LUI           ( void );
void Compile_COP0          ( void );
void Compile_COP2          ( void );
void Compile_LB            ( void );
void Compile_LH            ( void );
void Compile_LW            ( void );
void Compile_LBU           ( void );
void Compile_LHU           ( void );
void Compile_SB            ( void );
void Compile_SH            ( void );
void Compile_SW            ( void );
void Compile_LC2           ( void );
void Compile_SC2           ( void );
/********************** R4300i OpCodes: Special **********************/
void Compile_Special_SLL   ( void );
void Compile_Special_SRL   ( void );
void Compile_Special_SRA   ( void );
void Compile_Special_SLLV  ( void );
void Compile_Special_SRLV  ( void );
void Compile_Special_SRAV  ( void );
void Compile_Special_JR    ( void );
void Compile_Special_JALR  ( void );
void Compile_Special_BREAK ( void );
void Compile_Special_ADD   ( void );
void Compile_Special_ADDU  ( void );
void Compile_Special_SUB   ( void );
void Compile_Special_SUBU  ( void );
void Compile_Special_AND   ( void );
void Compile_Special_OR    ( void );
void Compile_Special_XOR   ( void );
void Compile_Special_NOR   ( void );
void Compile_Special_SLT   ( void );
void Compile_Special_SLTU  ( void );
/********************** R4300i OpCodes: RegImm **********************/
void Compile_RegImm_BLTZ   ( void );
void Compile_RegImm_BGEZ   ( void );
void Compile_RegImm_BLTZAL ( void );
void Compile_RegImm_BGEZAL ( void );
/************************** Cop0 functions *************************/
void Compile_Cop0_MF       ( void );
void Compile_Cop0_MT       ( void );
/************************** Cop2 functions *************************/
void Compile_Cop2_MF       ( void );
void Compile_Cop2_CF       ( void );
void Compile_Cop2_MT       ( void );
void Compile_Cop2_CT       ( void );
void Compile_COP2_VECTOR  ( void );
/************************** Vect functions **************************/
void Compile_Vector_VMULF  ( void );
void Compile_Vector_VMULU  ( void );
void Compile_Vector_VMUDL  ( void );
void Compile_Vector_VMUDM  ( void );
void Compile_Vector_VMUDN  ( void );
void Compile_Vector_VMUDH  ( void );
void Compile_Vector_VMACF  ( void );
void Compile_Vector_VMACU  ( void );
void Compile_Vector_VMACQ  ( void );
void Compile_Vector_VMADL  ( void );
void Compile_Vector_VMADM  ( void );
void Compile_Vector_VMADN  ( void );
void Compile_Vector_VMADH  ( void );
void Compile_Vector_VADD   ( void );
void Compile_Vector_VSUB   ( void );
void Compile_Vector_VABS   ( void );
void Compile_Vector_VADDC  ( void );
void Compile_Vector_VSUBC  ( void );
void Compile_Vector_VSAW   ( void );
void Compile_Vector_VLT    ( void );
void Compile_Vector_VEQ    ( void );
void Compile_Vector_VNE    ( void );
void Compile_Vector_VGE    ( void );
void Compile_Vector_VCL    ( void );
void Compile_Vector_VCH    ( void );
void Compile_Vector_VCR    ( void );
void Compile_Vector_VMRG   ( void );
void Compile_Vector_VAND   ( void );
void Compile_Vector_VNAND  ( void );
void Compile_Vector_VOR    ( void );
void Compile_Vector_VNOR   ( void );
void Compile_Vector_VXOR   ( void );
void Compile_Vector_VNXOR  ( void );
void Compile_Vector_VRCP   ( void );
void Compile_Vector_VRCPL  ( void );
void Compile_Vector_VRCPH  ( void );
void Compile_Vector_VMOV   ( void );
void Compile_Vector_VRSQ   ( void );
void Compile_Vector_VRSQL  ( void );
void Compile_Vector_VRSQH  ( void );
void Compile_Vector_VNOOP  ( void );
/************************** lc2 functions **************************/
void Compile_Opcode_LBV    ( void );
void Compile_Opcode_LSV    ( void );
void Compile_Opcode_LLV    ( void );
void Compile_Opcode_LDV    ( void );
void Compile_Opcode_LQV    ( void );
void Compile_Opcode_LRV    ( void );
void Compile_Opcode_LPV    ( void );
void Compile_Opcode_LUV    ( void );
void Compile_Opcode_LHV    ( void );
void Compile_Opcode_LFV    ( void );
void Compile_Opcode_LTV    ( void );
/************************** sc2 functions **************************/
void Compile_Opcode_SBV    ( void );
void Compile_Opcode_SSV    ( void );
void Compile_Opcode_SLV    ( void );
void Compile_Opcode_SDV    ( void );
void Compile_Opcode_SQV    ( void );
void Compile_Opcode_SRV    ( void );
void Compile_Opcode_SPV    ( void );
void Compile_Opcode_SUV    ( void );
void Compile_Opcode_SHV    ( void );
void Compile_Opcode_SFV    ( void );
void Compile_Opcode_SWV    ( void );
void Compile_Opcode_STV    ( void );
/************************** Other functions **************************/
void Compile_UnknownOpcode (void);