blob: c2b159021cbae71bd886b496c46011608bd4eac6 (
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
--- include/opcode/vfpu.h.orig 1970-01-01 01:00:00.000000000 +0100
+++ include/opcode/vfpu.h 2006-05-09 02:55:36.000000000 +0100
@@ -0,0 +1,261 @@
+#ifndef _VFPU_H_
+#define _VFPU_H_
+
+////////////////////////////////////
+// data type
+#define VFPU_MASK_DTYPE 0x8080
+#define VFPU_QUAD 0x8080
+#define VFPU_TRIPLE 0x8000
+#define VFPU_PAIR 0x0080
+#define VFPU_SINGLE 0x0000
+
+////////////////////////////////////
+// register index
+#define VFPU_MASK_VT 0x7f0000
+#define VFPU_MASK_VS 0x007f00
+#define VFPU_MASK_VD 0x00007f
+
+////////////////////////////////////
+// condition and comapre inst
+#define VFPU_PADD_BIN_CMP 0x70
+
+////////////////////////////////////
+// load/store left/right
+#define VFPU_MASK_LDST_LR 0x2
+#define VFPU_LDST_L 0x0
+#define VFPU_LDST_R 0x2
+
+////////////////////////////////////
+// load/store memory/buffer
+#define VFPU_MASK_LDST_MB 0x2
+#define VFPU_LDST_M 0x0
+#define VFPU_LDST_B 0x2
+
+////////////////////////////////////
+// coprocessor move
+#define VFPU_MASK_COP_MV 0xff80
+#define VFPU_MASK_COP_MVC 0xff00
+
+////////////////////////////////////
+// sync code
+#define VFPU_MASK_SYNC_CODE 0xffff
+#define VFPU_SYNC_CODE_DEFAULT 0x0320
+#define VFPU_SYNC_CODE_NOP 0x0000
+#define VFPU_SYNC_CODE_FLUSH 0x040d
+
+////////////////////////////////////
+#define VFPU_INST_BR_F 0x49000000
+#define VFPU_MASK_BR_F 0xffe30000
+#define VFPU_INST_BR_FL 0x49020000
+#define VFPU_MASK_BR_FL 0xffe30000
+#define VFPU_INST_BR_T 0x49010000
+#define VFPU_MASK_BR_T 0xffe30000
+#define VFPU_INST_BR_TL 0x49030000
+#define VFPU_MASK_BR_TL 0xffe30000
+
+#define VFPU_INST_COP_LD_S 0xc8000000
+#define VFPU_MASK_COP_LD_S 0xfc000000
+#define VFPU_INST_COP_ST_S 0xe8000000
+#define VFPU_MASK_COP_ST_S 0xfc000000
+#define VFPU_INST_COP_LD_Q 0xd8000000
+#define VFPU_MASK_COP_LD_Q 0xfc000000
+#define VFPU_INST_COP_ST_Q 0xf8000000
+#define VFPU_MASK_COP_ST_Q 0xfc000000
+#define VFPU_INST_COP_LD_U 0xd4000000
+#define VFPU_MASK_COP_LD_U 0xfc000000
+#define VFPU_INST_COP_ST_U 0xf4000000
+#define VFPU_MASK_COP_ST_U 0xfc000000
+#define VFPU_INST_COP_MF 0x48600000
+#define VFPU_MASK_COP_MF 0xffe00000
+#define VFPU_INST_COP_MT 0x48e00000
+#define VFPU_MASK_COP_MT 0xffe00000
+
+#define VFPU_INST_BIN_ADD 0x60000000
+#define VFPU_MASK_BIN_ADD 0xff800000
+#define VFPU_INST_BIN_SUB 0x60800000
+#define VFPU_MASK_BIN_SUB 0xff800000
+#define VFPU_INST_BIN_SBN 0x61000000
+#define VFPU_MASK_BIN_SBN 0xff800000
+#define VFPU_INST_BIN_DIV 0x63800000
+#define VFPU_MASK_BIN_DIV 0xff800000
+#define VFPU_INST_BIN_MUL 0x64000000
+#define VFPU_MASK_BIN_MUL 0xff800000
+#define VFPU_INST_BIN_DOT 0x64800000
+#define VFPU_MASK_BIN_DOT 0xff800000
+#define VFPU_INST_BIN_SCL 0x65000000
+#define VFPU_MASK_BIN_SCL 0xff800000
+#define VFPU_INST_BIN_HDP 0x66000000
+#define VFPU_MASK_BIN_HDP 0xff800000
+#define VFPU_INST_BIN_CRS 0x66800000
+#define VFPU_MASK_BIN_CRS 0xff800000
+#define VFPU_INST_BIN_DET 0x67000000
+#define VFPU_MASK_BIN_DET 0xff800000
+#define VFPU_INST_BIN_CMP 0x6c000000
+#define VFPU_MASK_BIN_CMP 0xff800000
+#define VFPU_INST_BIN_MIN 0x6d000000
+#define VFPU_MASK_BIN_MIN 0xff800000
+#define VFPU_INST_BIN_MAX 0x6d800000
+#define VFPU_MASK_BIN_MAX 0xff800000
+#define VFPU_INST_BIN_SCMP 0x6e800000
+#define VFPU_MASK_BIN_SCMP 0xff800000
+#define VFPU_INST_BIN_SGE 0x6f000000
+#define VFPU_MASK_BIN_SGE 0xff800000
+#define VFPU_INST_BIN_SLT 0x6f800000
+#define VFPU_MASK_BIN_SLT 0xff800000
+
+#define VFPU_INST_UNR_MOV 0xd0000000
+#define VFPU_MASK_UNR_MOV 0xffff0000
+#define VFPU_INST_UNR_ABS 0xd0010000
+#define VFPU_MASK_UNR_ABS 0xffff0000
+#define VFPU_INST_UNR_NEG 0xd0020000
+#define VFPU_MASK_UNR_NEG 0xffff0000
+#define VFPU_INST_UNR_IDT 0xd0030000
+#define VFPU_MASK_UNR_IDT 0xffff0000
+#define VFPU_INST_UNR_SAT0 0xd0040000
+#define VFPU_MASK_UNR_SAT0 0xffff0000
+#define VFPU_INST_UNR_SAT1 0xd0050000
+#define VFPU_MASK_UNR_SAT1 0xffff0000
+#define VFPU_INST_UNR_ZERO 0xd0060000
+#define VFPU_MASK_UNR_ZERO 0xffff0000
+#define VFPU_INST_UNR_ONE 0xd0070000
+#define VFPU_MASK_UNR_ONE 0xffff0000
+#define VFPU_INST_UNR_RCP 0xd0100000
+#define VFPU_MASK_UNR_RCP 0xffff0000
+#define VFPU_INST_UNR_RSQ 0xd0110000
+#define VFPU_MASK_UNR_RSQ 0xffff0000
+#define VFPU_INST_UNR_SIN 0xd0120000
+#define VFPU_MASK_UNR_SIN 0xffff0000
+#define VFPU_INST_UNR_COS 0xd0130000
+#define VFPU_MASK_UNR_COS 0xffff0000
+#define VFPU_INST_UNR_EXP2 0xd0140000
+#define VFPU_MASK_UNR_EXP2 0xffff0000
+#define VFPU_INST_UNR_LOG2 0xd0150000
+#define VFPU_MASK_UNR_LOG2 0xffff0000
+#define VFPU_INST_UNR_SQR 0xd0160000
+#define VFPU_MASK_UNR_SQR 0xffff0000
+#define VFPU_INST_UNR_ASIN 0xd0170000
+#define VFPU_MASK_UNR_ASIN 0xffff0000
+#define VFPU_INST_UNR_NRCP 0xd0180000
+#define VFPU_MASK_UNR_NRCP 0xffff0000
+#define VFPU_INST_UNR_NSIN 0xd01a0000
+#define VFPU_MASK_UNR_NSIN 0xffff0000
+#define VFPU_INST_UNR_REXP2 0xd01c0000
+#define VFPU_MASK_UNR_REXP2 0xffff0000
+#define VFPU_INST_UNR_RNDS 0xd0200000
+#define VFPU_MASK_UNR_RNDS 0xffff0000
+#define VFPU_INST_UNR_RNDI 0xd0210000
+#define VFPU_MASK_UNR_RNDI 0xffff0000
+#define VFPU_INST_UNR_RNDF1 0xd0220000
+#define VFPU_MASK_UNR_RNDF1 0xffff0000
+#define VFPU_INST_UNR_RNDF2 0xd0230000
+#define VFPU_MASK_UNR_RNDF2 0xffff0000
+#define VFPU_INST_UNR_F2H 0xd0320000
+#define VFPU_MASK_UNR_F2H 0xffff0000
+#define VFPU_INST_UNR_H2F 0xd0330000
+#define VFPU_MASK_UNR_H2F 0xffff0000
+#define VFPU_INST_UNR_SBZ 0xd0360000
+#define VFPU_MASK_UNR_SBZ 0xffff0000
+#define VFPU_INST_UNR_LGB 0xd0370000
+#define VFPU_MASK_UNR_LGB 0xffff0000
+#define VFPU_INST_UNR_US2I 0xd03a0000
+#define VFPU_MASK_UNR_US2I 0xffff0000
+#define VFPU_INST_UNR_S2I 0xd03b0000
+#define VFPU_MASK_UNR_S2I 0xffff0000
+#define VFPU_INST_UNR_I2UC 0xd03c0000
+#define VFPU_MASK_UNR_I2UC 0xffff0000
+#define VFPU_INST_UNR_I2C 0xd03d0000
+#define VFPU_MASK_UNR_I2C 0xffff0000
+#define VFPU_INST_UNR_I2US 0xd03e0000
+#define VFPU_MASK_UNR_I2US 0xffff0000
+#define VFPU_INST_UNR_I2S 0xd03f0000
+#define VFPU_MASK_UNR_I2S 0xffff0000
+#define VFPU_INST_UNR_SRT1 0xd0400000
+#define VFPU_MASK_UNR_SRT1 0xffff0000
+#define VFPU_INST_UNR_SRT2 0xd0410000
+#define VFPU_MASK_UNR_SRT2 0xffff0000
+#define VFPU_INST_UNR_BFY1 0xd0420000
+#define VFPU_MASK_UNR_BFY1 0xffff0000
+#define VFPU_INST_UNR_BFY2 0xd0430000
+#define VFPU_MASK_UNR_BFY2 0xffff0000
+#define VFPU_INST_UNR_OCP 0xd0440000
+#define VFPU_MASK_UNR_OCP 0xffff0000
+#define VFPU_INST_UNR_SOCP 0xd0450000
+#define VFPU_MASK_UNR_SOCP 0xffff0000
+#define VFPU_INST_UNR_FAD 0xd0460000
+#define VFPU_MASK_UNR_FAD 0xffff0000
+#define VFPU_INST_UNR_AVG 0xd0470000
+#define VFPU_MASK_UNR_AVG 0xffff0000
+#define VFPU_INST_UNR_SRT3 0xd0480000
+#define VFPU_MASK_UNR_SRT3 0xffff0000
+#define VFPU_INST_UNR_SRT4 0xd0490000
+#define VFPU_MASK_UNR_SRT4 0xffff0000
+#define VFPU_INST_UNR_SGN 0xd04a0000
+#define VFPU_MASK_UNR_SGN 0xffff0000
+#define VFPU_INST_UNR_CF 0xd0500000
+#define VFPU_MASK_UNR_CF 0xffff0080
+#define VFPU_INST_UNR_CT 0xd0510000
+#define VFPU_MASK_UNR_CT 0xffff8000
+#define VFPU_INST_UNR_T4444 0xd0590000
+#define VFPU_MASK_UNR_T4444 0xffff0000
+#define VFPU_INST_UNR_T5551 0xd05a0000
+#define VFPU_MASK_UNR_T5551 0xffff0000
+#define VFPU_INST_UNR_T5650 0xd05b0000
+#define VFPU_MASK_UNR_T5650 0xffff0000
+#define VFPU_INST_UNR_CST 0xd0600000
+#define VFPU_MASK_UNR_CST 0xffe00000
+
+#define VFPU_INST_UNRI_F2I_N 0xd2000000
+#define VFPU_MASK_UNRI_F2I_N 0xffe00000
+#define VFPU_INST_UNRI_F2I_Z 0xd2200000
+#define VFPU_MASK_UNRI_F2I_Z 0xffe00000
+#define VFPU_INST_UNRI_F2I_U 0xd2400000
+#define VFPU_MASK_UNRI_F2I_U 0xffe00000
+#define VFPU_INST_UNRI_F2I_D 0xd2600000
+#define VFPU_MASK_UNRI_F2I_D 0xffe00000
+#define VFPU_INST_UNRI_I2F 0xd2800000
+#define VFPU_MASK_UNRI_I2F 0xffe00000
+#define VFPU_INST_UNRI_CMOV_T 0xd2a00000
+#define VFPU_MASK_UNRI_CMOV_T 0xfff80000
+#define VFPU_INST_UNRI_CMOV_F 0xd2a80000
+#define VFPU_MASK_UNRI_CMOV_F 0xfff80000
+#define VFPU_INST_UNRI_WBN 0xd3000000
+#define VFPU_MASK_UNRI_WBN 0xff000000
+
+#define VFPU_INST_PFX_RA 0xdc000000
+#define VFPU_MASK_PFX_RA 0xff000000
+#define VFPU_INST_PFX_RB 0xdd000000
+#define VFPU_MASK_PFX_RB 0xff000000
+#define VFPU_INST_PFX_W 0xde000000
+#define VFPU_MASK_PFX_W 0xff000000
+#define VFPU_INST_IIM 0xdf000000
+#define VFPU_MASK_IIM 0xff800000
+#define VFPU_INST_FIM 0xdf800000
+#define VFPU_MASK_FIM 0xff800000
+
+#define VFPU_INST_RPT_MMUL 0xf0000000
+#define VFPU_MASK_RPT_MMUL 0xff800000
+#define VFPU_INST_RPT_TFM2 0xf0800000
+#define VFPU_MASK_RPT_TFM2 0xff800000
+#define VFPU_INST_RPT_TFM3 0xf1000000
+#define VFPU_MASK_RPT_TFM3 0xff800000
+#define VFPU_INST_RPT_TFM4 0xf1800000
+#define VFPU_MASK_RPT_TFM4 0xff800000
+#define VFPU_INST_RPT_MSCL 0xf2000000
+#define VFPU_MASK_RPT_MSCL 0xff800000
+#define VFPU_INST_RPT_QMUL 0xf2800000
+#define VFPU_MASK_RPT_QMUL 0xff800000
+#define VFPU_INST_RPT_MMOV 0xf3800000
+#define VFPU_MASK_RPT_MMOV 0xffff0000
+#define VFPU_INST_RPT_MIDT 0xf3830000
+#define VFPU_MASK_RPT_MIDT 0xffff0000
+#define VFPU_INST_RPT_MZERO 0xf3860000
+#define VFPU_MASK_RPT_MZERO 0xffff0000
+#define VFPU_INST_RPT_MONE 0xf3870000
+#define VFPU_MASK_RPT_MONE 0xffff0000
+#define VFPU_INST_RPT_ROT 0xf3a00000
+#define VFPU_MASK_RPT_ROT 0xffe00000
+
+#define VFPU_INST_SYNC 0xffff0000
+#define VFPU_MASK_SYNC 0xffff0000
+
+#endif /* _VFPU_H_ */
|