summaryrefslogtreecommitdiff
path: root/devel/psptoolchain-binutils/files/patch-include-opcode-vfpu.h
blob: e32399f789acf5a113f6c5d042642e1e0978e669 (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	2012-01-21 13:31:35.000000000 +0000
+++ ./include/opcode/vfpu.h	2012-01-21 13:31:35.000000000 +0000
@@ -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_ */