Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: src/sh4/opcodes-sh4.h

Issue 11275184: First draft of the sh4 port Base URL: http://github.com/v8/v8.git@master
Patch Set: Use GYP and fixe some typos Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/sh4/opcodes-disasm-sh4.c ('k') | src/sh4/opcodes-sh4.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2011-2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are
4 // met:
5 //
6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided
11 // with the distribution.
12 // * Neither the name of Google Inc. nor the names of its
13 // contributors may be used to endorse or promote products derived
14 // from this software without specific prior written permission.
15 //
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28 // Low level function that generate sh4 opcodes
29
30 void add_imm_(int imm, Register Rd);
31
32 void add_(Register Rs, Register Rd);
33
34 void addc_(Register Rs, Register Rd);
35
36 void addv_(Register Rs, Register Rd);
37
38 void and_imm_R0_(int imm);
39
40 void and_(Register Rs, Register Rd);
41
42 void andb_imm_dispR0GBR_(int imm);
43
44 void bra_(int imm);
45
46 void bsr_(int imm);
47
48 void bt_(int imm);
49
50 void bf_(int imm);
51
52 void bts_(int imm);
53
54 void bfs_(int imm);
55
56 void clrmac_();
57
58 void clrs_();
59
60 void clrt_();
61
62 void cmpeq_imm_R0_(int imm);
63
64 void cmpeq_(Register Rs, Register Rd);
65
66 void cmpge_(Register Rs, Register Rd);
67
68 void cmpgt_(Register Rs, Register Rd);
69
70 void cmphi_(Register Rs, Register Rd);
71
72 void cmphs_(Register Rs, Register Rd);
73
74 void cmppl_(Register Rd);
75
76 void cmppz_(Register Rd);
77
78 void cmpstr_(Register Rs, Register Rd);
79
80 void div0s_(Register Rs, Register Rd);
81
82 void div0u_();
83
84 void div1_(Register Rs, Register Rd);
85
86 void extsb_(Register Rs, Register Rd);
87
88 void extsw_(Register Rs, Register Rd);
89
90 void extub_(Register Rs, Register Rd);
91
92 void extuw_(Register Rs, Register Rd);
93
94 void icbi_indRd_(Register Rd);
95
96 void jmp_indRd_(Register Rd);
97
98 void jsr_indRd_(Register Rd);
99
100 void ldc_SR_(Register Rd);
101
102 void ldc_GBR_(Register Rd);
103
104 void ldc_SGR_(Register Rd);
105
106 void ldc_VBR_(Register Rd);
107
108 void ldc_SSR_(Register Rd);
109
110 void ldc_SPC_(Register Rd);
111
112 void ldc_DBR_(Register Rd);
113
114 void ldc_bank_(Register Rd, int imm);
115
116 void ldcl_incRd_SR_(Register Rd);
117
118 void ldcl_incRd_GBR_(Register Rd);
119
120 void ldcl_incRd_VBR_(Register Rd);
121
122 void ldcl_incRd_SGR_(Register Rd);
123
124 void ldcl_incRd_SSR_(Register Rd);
125
126 void ldcl_incRd_SPC_(Register Rd);
127
128 void ldcl_incRd_DBR_(Register Rd);
129
130 void ldcl_incRd_bank_(Register Rd, int imm);
131
132 void lds_MACH_(Register Rd);
133
134 void lds_MACL_(Register Rd);
135
136 void lds_PR_(Register Rd);
137
138 void lds_FPUL_(Register Rs);
139
140 void lds_FPSCR_(Register Rs);
141
142 void ldsl_incRd_MACH_(Register Rd);
143
144 void ldsl_incRd_MACL_(Register Rd);
145
146 void ldsl_incRd_PR_(Register Rd);
147
148 void ldsl_incRs_FPUL_(Register Rs);
149
150 void ldsl_incRs_FPSCR_(Register Rs);
151
152 void ldtlb_();
153
154 void macw_incRs_incRd_(Register Rs, Register Rd);
155
156 void mov_imm_(int imm, Register Rd);
157
158 void mov_(Register Rs, Register Rd);
159
160 void movb_dispR0Rd_(Register Rs, Register Rd);
161
162 void movb_decRd_(Register Rs, Register Rd);
163
164 void movb_indRd_(Register Rs, Register Rd);
165
166 void movb_dispRs_R0_(int imm, Register Rs);
167
168 void movb_dispGBR_R0_(int imm);
169
170 void movb_dispR0Rs_(Register Rs, Register Rd);
171
172 void movb_incRs_(Register Rs, Register Rd);
173
174 void movb_indRs_(Register Rs, Register Rd);
175
176 void movb_R0_dispRd_(int imm, Register Rd);
177
178 void movb_R0_dispGBR_(int imm);
179
180 void movl_dispRd_(Register Rs, int imm, Register Rd);
181
182 void movl_dispR0Rd_(Register Rs, Register Rd);
183
184 void movl_decRd_(Register Rs, Register Rd);
185
186 void movl_indRd_(Register Rs, Register Rd);
187
188 void movl_dispRs_(int imm, Register Rs, Register Rd);
189
190 void movl_dispGBR_R0_(int imm);
191
192 void movl_dispPC_(int imm, Register Rd);
193
194 void movl_dispR0Rs_(Register Rs, Register Rd);
195
196 void movl_incRs_(Register Rs, Register Rd);
197
198 void movl_indRs_(Register Rs, Register Rd);
199
200 void movl_R0_dispGBR_(int imm);
201
202 void movw_dispR0Rd_(Register Rs, Register Rd);
203
204 void movw_decRd_(Register Rs, Register Rd);
205
206 void movw_indRd_(Register Rs, Register Rd);
207
208 void movw_dispRs_R0_(int imm, Register Rs);
209
210 void movw_dispGBR_R0_(int imm);
211
212 void movw_dispPC_(int imm, Register Rd);
213
214 void movw_dispR0Rs_(Register Rs, Register Rd);
215
216 void movw_incRs_(Register Rs, Register Rd);
217
218 void movw_indRs_(Register Rs, Register Rd);
219
220 void movw_R0_dispRd_(int imm, Register Rd);
221
222 void movw_R0_dispGBR_(int imm);
223
224 void mova_dispPC_R0_(int imm);
225
226 void movcal_R0_indRd_(Register Rd);
227
228 void movcol_R0_indRd_(Register Rd);
229
230 void movlil_indRs_R0_(Register Rs);
231
232 void movt_(Register Rd);
233
234 void movual_indRs_R0_(Register Rs);
235
236 void movual_incRs_R0_(Register Rs);
237
238 void mulsw_(Register Rs, Register Rd);
239
240 void muls_(Register Rs, Register Rd);
241
242 void mull_(Register Rs, Register Rd);
243
244 void muluw_(Register Rs, Register Rd);
245
246 void mulu_(Register Rs, Register Rd);
247
248 void neg_(Register Rs, Register Rd);
249
250 void negc_(Register Rs, Register Rd);
251
252 void nop_();
253
254 void not_(Register Rs, Register Rd);
255
256 void ocbi_indRd_(Register Rd);
257
258 void ocbp_indRd_(Register Rd);
259
260 void ocbwb_indRd_(Register Rd);
261
262 void or_imm_R0_(int imm);
263
264 void or_(Register Rs, Register Rd);
265
266 void orb_imm_dispR0GBR_(int imm);
267
268 void pref_indRd_(Register Rd);
269
270 void prefi_indRd_(Register Rd);
271
272 void rotcl_(Register Rd);
273
274 void rotcr_(Register Rd);
275
276 void rotl_(Register Rd);
277
278 void rotr_(Register Rd);
279
280 void rte_();
281
282 void rts_();
283
284 void sets_();
285
286 void sett_();
287
288 void shad_(Register Rs, Register Rd);
289
290 void shld_(Register Rs, Register Rd);
291
292 void shal_(Register Rd);
293
294 void shar_(Register Rd);
295
296 void shll_(Register Rd);
297
298 void shll16_(Register Rd);
299
300 void shll2_(Register Rd);
301
302 void shll8_(Register Rd);
303
304 void shlr_(Register Rd);
305
306 void shlr16_(Register Rd);
307
308 void shlr2_(Register Rd);
309
310 void shlr8_(Register Rd);
311
312 void sleep_();
313
314 void stc_SR_(Register Rd);
315
316 void stc_GBR_(Register Rd);
317
318 void stc_VBR_(Register Rd);
319
320 void stc_SSR_(Register Rd);
321
322 void stc_SPC_(Register Rd);
323
324 void stc_SGR_(Register Rd);
325
326 void stc_DBR_(Register Rd);
327
328 void stc_bank_(int imm, Register Rd);
329
330 void stcl_SR_decRd_(Register Rd);
331
332 void stcl_VBR_decRd_(Register Rd);
333
334 void stcl_SSR_decRd_(Register Rd);
335
336 void stcl_SPC_decRd_(Register Rd);
337
338 void stcl_GBR_decRd_(Register Rd);
339
340 void stcl_SGR_decRd_(Register Rd);
341
342 void stcl_DBR_decRd_(Register Rd);
343
344 void stcl_bank_decRd_(int imm, Register Rd);
345
346 void sts_MACH_(Register Rd);
347
348 void sts_MACL_(Register Rd);
349
350 void sts_PR_(Register Rd);
351
352 void sts_FPUL_(Register Rd);
353
354 void sts_FPSCR_(Register Rd);
355
356 void stsl_MACH_decRd_(Register Rd);
357
358 void stsl_MACL_decRd_(Register Rd);
359
360 void stsl_PR_decRd_(Register Rd);
361
362 void stsl_FPUL_decRd_(Register Rd);
363
364 void stsl_FPSCR_decRd_(Register Rd);
365
366 void sub_(Register Rs, Register Rd);
367
368 void subc_(Register Rs, Register Rd);
369
370 void subv_(Register Rs, Register Rd);
371
372 void swapb_(Register Rs, Register Rd);
373
374 void swapw_(Register Rs, Register Rd);
375
376 void synco_();
377
378 void tasb_indRd_(Register Rd);
379
380 void trapa_imm_(int imm);
381
382 void tst_imm_R0_(int imm);
383
384 void tst_(Register Rs, Register Rd);
385
386 void tstb_imm_dispR0GBR_(int imm);
387
388 void xor_imm_R0_(int imm);
389
390 void xor_(Register Rs, Register Rd);
391
392 void xorb_imm_dispR0GBR_(int imm);
393
394 void xtrct_(Register Rs, Register Rd);
395
396 void dt_(Register Rd);
397
398 void dmulsl_(Register Rs, Register Rd);
399
400 void dmulul_(Register Rs, Register Rd);
401
402 void macl_incRs_incRd_(Register Rs, Register Rd);
403
404 void braf_(Register Rd);
405
406 void bsrf_(Register Rd);
407
408 void fabs_(SwVfpRegister Rd);
409
410 void fabs_double_(DwVfpRegister Rd);
411
412 void fadd_(SwVfpRegister Rs, SwVfpRegister Rd);
413
414 void fadd_double_(DwVfpRegister Rs, DwVfpRegister Rd);
415
416 void fcmpeq_(SwVfpRegister Rs, SwVfpRegister Rd);
417
418 void fcmpeq_double_(DwVfpRegister Rs, DwVfpRegister Rd);
419
420 void fcmpgt_(SwVfpRegister Rs, SwVfpRegister Rd);
421
422 void fcmpgt_double_(DwVfpRegister Rs, DwVfpRegister Rd);
423
424 void fcnvds_double_FPUL_(DwVfpRegister Rd);
425
426 void fcnvsd_FPUL_double_(DwVfpRegister Rd);
427
428 void fdiv_(SwVfpRegister Rs, SwVfpRegister Rd);
429
430 void fdiv_double_(DwVfpRegister Rs, DwVfpRegister Rd);
431
432 void fipr_(SwVfpRegister Rs, SwVfpRegister Rd);
433
434 void fldi0_(SwVfpRegister Rd);
435
436 void fldi1_(SwVfpRegister Rd);
437
438 void flds_FPUL_(SwVfpRegister Rd);
439
440 void float_FPUL_(SwVfpRegister Rd);
441
442 void float_FPUL_double_(DwVfpRegister Rd);
443
444 void fmac_(SwVfpRegister Rs, SwVfpRegister Rd);
445
446 void fmov_(SwVfpRegister Rs, SwVfpRegister Rd);
447
448 void fmov_Xdouble_Xdouble_(DwVfpRegister Rs, DwVfpRegister Rd);
449
450 void fmov_indRs_(Register Rs, SwVfpRegister Rd);
451
452 void fmov_indRs_Xdouble_(Register Rs, DwVfpRegister Rd);
453
454 void fmov_indRd_(SwVfpRegister Rs, Register Rd);
455
456 void fmov_Xdouble_indRd_(DwVfpRegister Rs, Register Rd);
457
458 void fmov_incRs_(Register Rs, SwVfpRegister Rd);
459
460 void fmov_decRd_(SwVfpRegister Rs, Register Rd);
461
462 void fmov_dispR0Rs_(Register Rs, SwVfpRegister Rd);
463
464 void fmov_dispR0Rs_Xdouble_(Register Rs, DwVfpRegister Rd);
465
466 void fmov_dispR0Rd_(SwVfpRegister Rs, Register Rd);
467
468 void fmov_Xdouble_dispR0Rd_(DwVfpRegister Rs, Register Rd);
469
470 void fmovd_indRs_Xdouble_(Register Rs, DwVfpRegister Rd);
471
472 void fmovd_Xdouble_indRd_(DwVfpRegister Rs, Register Rd);
473
474 void fmovd_incRs_Xdouble_(Register Rs, DwVfpRegister Rd);
475
476 void fmovd_Xdouble_decRd_(DwVfpRegister Rs, Register Rd);
477
478 void fmovd_dispR0Rs_Xdouble_(Register Rs, DwVfpRegister Rd);
479
480 void fmovd_Xdouble_dispR0Rd_(DwVfpRegister Rs, Register Rd);
481
482 void fmovs_indRs_(Register Rs, SwVfpRegister Rd);
483
484 void fmovs_indRd_(SwVfpRegister Rs, Register Rd);
485
486 void fmovs_incRs_(Register Rs, SwVfpRegister Rd);
487
488 void fmovs_decRd_(SwVfpRegister Rs, Register Rd);
489
490 void fmovs_dispR0Rs_(Register Rs, SwVfpRegister Rd);
491
492 void fmovs_dispR0Rd_(SwVfpRegister Rs, Register Rd);
493
494 void fmul_(SwVfpRegister Rs, SwVfpRegister Rd);
495
496 void fmul_double_(DwVfpRegister Rs, DwVfpRegister Rd);
497
498 void fneg_(SwVfpRegister Rd);
499
500 void fneg_double_(DwVfpRegister Rd);
501
502 void fpchg_();
503
504 void frchg_();
505
506 void fsca_FPUL_double_(DwVfpRegister Rd);
507
508 void fschg_();
509
510 void fsqrt_(SwVfpRegister Rd);
511
512 void fsqrt_double_(DwVfpRegister Rd);
513
514 void fsrra_(SwVfpRegister Rd);
515
516 void fsts_FPUL_(SwVfpRegister Rd);
517
518 void fsub_(SwVfpRegister Rs, SwVfpRegister Rd);
519
520 void fsub_double_(DwVfpRegister Rs, DwVfpRegister Rd);
521
522 void ftrc_FPUL_(SwVfpRegister Rd);
523
524 void ftrc_double_FPUL_(DwVfpRegister Rd);
525
526 void ftrv_(Register Rd);
OLDNEW
« no previous file with comments | « src/sh4/opcodes-disasm-sh4.c ('k') | src/sh4/opcodes-sh4.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698