blob: d56e04e753280dcb17e30864035853fb00184012 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
/***************************************************************************
rspcp2d.h
Interface file for Reality Signal Processor (RSP) vector extensions
using Universal Machine Language (UML) dynamic recompilation.
***************************************************************************/
#pragma once
#ifndef __RSPCP2D_H__
#define __RSPCP2D_H__
#include "cpu/drcuml.h"
#include "rsp.h"
#include "rspcp2.h"
class rsp_cop2_drc : public rsp_cop2
{
friend class rsp_device;
rsp_cop2_drc(rsp_device &rsp, running_machine &machine) : rsp_cop2(rsp, machine) { }
virtual int generate_cop2(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
virtual int generate_lwc2(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
virtual int generate_swc2(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
virtual void state_string_export(const int index, std::string &str);
void cfunc_unimplemented_opcode();
public:
virtual void lbv();
virtual void lsv();
virtual void llv();
virtual void ldv();
virtual void lqv();
virtual void lrv();
virtual void lpv();
virtual void luv();
virtual void lhv();
virtual void lfv();
virtual void lwv();
virtual void ltv();
virtual void sbv();
virtual void ssv();
virtual void slv();
virtual void sdv();
virtual void sqv();
virtual void srv();
virtual void spv();
virtual void suv();
virtual void shv();
virtual void sfv();
virtual void swv();
virtual void stv();
virtual void vmulf();
virtual void vmulu();
virtual void vmudl();
virtual void vmudm();
virtual void vmudn();
virtual void vmudh();
virtual void vmacf();
virtual void vmacu();
virtual void vmadl();
virtual void vmadm();
virtual void vmadn();
virtual void vmadh();
virtual void vadd();
virtual void vsub();
virtual void vabs();
virtual void vaddc();
virtual void vsubc();
virtual void vaddb();
virtual void vsaw();
virtual void vlt();
virtual void veq();
virtual void vne();
virtual void vge();
virtual void vcl();
virtual void vch();
virtual void vcr();
virtual void vmrg();
virtual void vand();
virtual void vnand();
virtual void vor();
virtual void vnor();
virtual void vxor();
virtual void vnxor();
virtual void vrcp();
virtual void vrcpl();
virtual void vrcph();
virtual void vmov();
virtual void vrsql();
virtual void vrsqh();
virtual void vrsq();
virtual void mfc2();
virtual void cfc2();
virtual void mtc2();
virtual void ctc2();
private:
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
};
#endif /* __RSPCP2D_H__ */
|