1 /* Decode header for sh5_media.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
12 #ifndef SH5_MEDIA_DECODE_H
13 #define SH5_MEDIA_DECODE_H
16 // forward declaration of struct in -defs.h
25 typedef UINT sh5_media_insn_word;
27 /* Enum declaration for instructions in cpu family sh5_media. */
28 typedef enum sh5_media_insn_type {
29 SH5_MEDIA_INSN_X_INVALID, SH5_MEDIA_INSN_ADD, SH5_MEDIA_INSN_ADDL, SH5_MEDIA_INSN_ADDI
30 , SH5_MEDIA_INSN_ADDIL, SH5_MEDIA_INSN_ADDZL, SH5_MEDIA_INSN_ALLOCO, SH5_MEDIA_INSN_AND
31 , SH5_MEDIA_INSN_ANDC, SH5_MEDIA_INSN_ANDI, SH5_MEDIA_INSN_BEQ, SH5_MEDIA_INSN_BEQI
32 , SH5_MEDIA_INSN_BGE, SH5_MEDIA_INSN_BGEU, SH5_MEDIA_INSN_BGT, SH5_MEDIA_INSN_BGTU
33 , SH5_MEDIA_INSN_BLINK, SH5_MEDIA_INSN_BNE, SH5_MEDIA_INSN_BNEI, SH5_MEDIA_INSN_BRK
34 , SH5_MEDIA_INSN_BYTEREV, SH5_MEDIA_INSN_CMPEQ, SH5_MEDIA_INSN_CMPGT, SH5_MEDIA_INSN_CMPGTU
35 , SH5_MEDIA_INSN_CMVEQ, SH5_MEDIA_INSN_CMVNE, SH5_MEDIA_INSN_FABSD, SH5_MEDIA_INSN_FABSS
36 , SH5_MEDIA_INSN_FADDD, SH5_MEDIA_INSN_FADDS, SH5_MEDIA_INSN_FCMPEQD, SH5_MEDIA_INSN_FCMPEQS
37 , SH5_MEDIA_INSN_FCMPGED, SH5_MEDIA_INSN_FCMPGES, SH5_MEDIA_INSN_FCMPGTD, SH5_MEDIA_INSN_FCMPGTS
38 , SH5_MEDIA_INSN_FCMPUND, SH5_MEDIA_INSN_FCMPUNS, SH5_MEDIA_INSN_FCNVDS, SH5_MEDIA_INSN_FCNVSD
39 , SH5_MEDIA_INSN_FDIVD, SH5_MEDIA_INSN_FDIVS, SH5_MEDIA_INSN_FGETSCR, SH5_MEDIA_INSN_FIPRS
40 , SH5_MEDIA_INSN_FLDD, SH5_MEDIA_INSN_FLDP, SH5_MEDIA_INSN_FLDS, SH5_MEDIA_INSN_FLDXD
41 , SH5_MEDIA_INSN_FLDXP, SH5_MEDIA_INSN_FLDXS, SH5_MEDIA_INSN_FLOATLD, SH5_MEDIA_INSN_FLOATLS
42 , SH5_MEDIA_INSN_FLOATQD, SH5_MEDIA_INSN_FLOATQS, SH5_MEDIA_INSN_FMACS, SH5_MEDIA_INSN_FMOVD
43 , SH5_MEDIA_INSN_FMOVDQ, SH5_MEDIA_INSN_FMOVLS, SH5_MEDIA_INSN_FMOVQD, SH5_MEDIA_INSN_FMOVS
44 , SH5_MEDIA_INSN_FMOVSL, SH5_MEDIA_INSN_FMULD, SH5_MEDIA_INSN_FMULS, SH5_MEDIA_INSN_FNEGD
45 , SH5_MEDIA_INSN_FNEGS, SH5_MEDIA_INSN_FPUTSCR, SH5_MEDIA_INSN_FSQRTD, SH5_MEDIA_INSN_FSQRTS
46 , SH5_MEDIA_INSN_FSTD, SH5_MEDIA_INSN_FSTP, SH5_MEDIA_INSN_FSTS, SH5_MEDIA_INSN_FSTXD
47 , SH5_MEDIA_INSN_FSTXP, SH5_MEDIA_INSN_FSTXS, SH5_MEDIA_INSN_FSUBD, SH5_MEDIA_INSN_FSUBS
48 , SH5_MEDIA_INSN_FTRCDL, SH5_MEDIA_INSN_FTRCSL, SH5_MEDIA_INSN_FTRCDQ, SH5_MEDIA_INSN_FTRCSQ
49 , SH5_MEDIA_INSN_FTRVS, SH5_MEDIA_INSN_GETCFG, SH5_MEDIA_INSN_GETCON, SH5_MEDIA_INSN_GETTR
50 , SH5_MEDIA_INSN_ICBI, SH5_MEDIA_INSN_LDB, SH5_MEDIA_INSN_LDL, SH5_MEDIA_INSN_LDQ
51 , SH5_MEDIA_INSN_LDUB, SH5_MEDIA_INSN_LDUW, SH5_MEDIA_INSN_LDW, SH5_MEDIA_INSN_LDHIL
52 , SH5_MEDIA_INSN_LDHIQ, SH5_MEDIA_INSN_LDLOL, SH5_MEDIA_INSN_LDLOQ, SH5_MEDIA_INSN_LDXB
53 , SH5_MEDIA_INSN_LDXL, SH5_MEDIA_INSN_LDXQ, SH5_MEDIA_INSN_LDXUB, SH5_MEDIA_INSN_LDXUW
54 , SH5_MEDIA_INSN_LDXW, SH5_MEDIA_INSN_MABSL, SH5_MEDIA_INSN_MABSW, SH5_MEDIA_INSN_MADDL
55 , SH5_MEDIA_INSN_MADDW, SH5_MEDIA_INSN_MADDSL, SH5_MEDIA_INSN_MADDSUB, SH5_MEDIA_INSN_MADDSW
56 , SH5_MEDIA_INSN_MCMPEQB, SH5_MEDIA_INSN_MCMPEQL, SH5_MEDIA_INSN_MCMPEQW, SH5_MEDIA_INSN_MCMPGTL
57 , SH5_MEDIA_INSN_MCMPGTUB, SH5_MEDIA_INSN_MCMPGTW, SH5_MEDIA_INSN_MCMV, SH5_MEDIA_INSN_MCNVSLW
58 , SH5_MEDIA_INSN_MCNVSWB, SH5_MEDIA_INSN_MCNVSWUB, SH5_MEDIA_INSN_MEXTR1, SH5_MEDIA_INSN_MEXTR2
59 , SH5_MEDIA_INSN_MEXTR3, SH5_MEDIA_INSN_MEXTR4, SH5_MEDIA_INSN_MEXTR5, SH5_MEDIA_INSN_MEXTR6
60 , SH5_MEDIA_INSN_MEXTR7, SH5_MEDIA_INSN_MMACFXWL, SH5_MEDIA_INSN_MMACNFX_WL, SH5_MEDIA_INSN_MMULL
61 , SH5_MEDIA_INSN_MMULW, SH5_MEDIA_INSN_MMULFXL, SH5_MEDIA_INSN_MMULFXW, SH5_MEDIA_INSN_MMULFXRPW
62 , SH5_MEDIA_INSN_MMULHIWL, SH5_MEDIA_INSN_MMULLOWL, SH5_MEDIA_INSN_MMULSUMWQ, SH5_MEDIA_INSN_MOVI
63 , SH5_MEDIA_INSN_MPERMW, SH5_MEDIA_INSN_MSADUBQ, SH5_MEDIA_INSN_MSHALDSL, SH5_MEDIA_INSN_MSHALDSW
64 , SH5_MEDIA_INSN_MSHARDL, SH5_MEDIA_INSN_MSHARDW, SH5_MEDIA_INSN_MSHARDSQ, SH5_MEDIA_INSN_MSHFHIB
65 , SH5_MEDIA_INSN_MSHFHIL, SH5_MEDIA_INSN_MSHFHIW, SH5_MEDIA_INSN_MSHFLOB, SH5_MEDIA_INSN_MSHFLOL
66 , SH5_MEDIA_INSN_MSHFLOW, SH5_MEDIA_INSN_MSHLLDL, SH5_MEDIA_INSN_MSHLLDW, SH5_MEDIA_INSN_MSHLRDL
67 , SH5_MEDIA_INSN_MSHLRDW, SH5_MEDIA_INSN_MSUBL, SH5_MEDIA_INSN_MSUBW, SH5_MEDIA_INSN_MSUBSL
68 , SH5_MEDIA_INSN_MSUBSUB, SH5_MEDIA_INSN_MSUBSW, SH5_MEDIA_INSN_MULSL, SH5_MEDIA_INSN_MULUL
69 , SH5_MEDIA_INSN_NOP, SH5_MEDIA_INSN_NSB, SH5_MEDIA_INSN_OCBI, SH5_MEDIA_INSN_OCBP
70 , SH5_MEDIA_INSN_OCBWB, SH5_MEDIA_INSN_OR, SH5_MEDIA_INSN_ORI, SH5_MEDIA_INSN_PREFI
71 , SH5_MEDIA_INSN_PTA, SH5_MEDIA_INSN_PTABS, SH5_MEDIA_INSN_PTB, SH5_MEDIA_INSN_PTREL
72 , SH5_MEDIA_INSN_PUTCFG, SH5_MEDIA_INSN_PUTCON, SH5_MEDIA_INSN_RTE, SH5_MEDIA_INSN_SHARD
73 , SH5_MEDIA_INSN_SHARDL, SH5_MEDIA_INSN_SHARI, SH5_MEDIA_INSN_SHARIL, SH5_MEDIA_INSN_SHLLD
74 , SH5_MEDIA_INSN_SHLLDL, SH5_MEDIA_INSN_SHLLI, SH5_MEDIA_INSN_SHLLIL, SH5_MEDIA_INSN_SHLRD
75 , SH5_MEDIA_INSN_SHLRDL, SH5_MEDIA_INSN_SHLRI, SH5_MEDIA_INSN_SHLRIL, SH5_MEDIA_INSN_SHORI
76 , SH5_MEDIA_INSN_SLEEP, SH5_MEDIA_INSN_STB, SH5_MEDIA_INSN_STL, SH5_MEDIA_INSN_STQ
77 , SH5_MEDIA_INSN_STW, SH5_MEDIA_INSN_STHIL, SH5_MEDIA_INSN_STHIQ, SH5_MEDIA_INSN_STLOL
78 , SH5_MEDIA_INSN_STLOQ, SH5_MEDIA_INSN_STXB, SH5_MEDIA_INSN_STXL, SH5_MEDIA_INSN_STXQ
79 , SH5_MEDIA_INSN_STXW, SH5_MEDIA_INSN_SUB, SH5_MEDIA_INSN_SUBL, SH5_MEDIA_INSN_SWAPQ
80 , SH5_MEDIA_INSN_SYNCI, SH5_MEDIA_INSN_SYNCO, SH5_MEDIA_INSN_TRAPA, SH5_MEDIA_INSN_XOR
82 } SH5_MEDIA_INSN_TYPE;
87 struct sh5_media_scache;
88 typedef void (sh5_media_sem_fn) (sh5_cpu* cpu, sh5_media_scache* sem, int tick, sh5_media::write_stacks &buf);
91 // Instruction descriptor.
93 struct sh5_media_idesc {
95 // scache engine executor for this insn
96 sh5_media_sem_fn* execute;
98 const char* insn_name;
99 enum sh5_media_insn_type sem_index;
102 // idesc table: indexed by sem_index
103 static sh5_media_idesc idesc_table[];
105 static sh5_media_insn_type lookup_virtual (virtual_insn_type vit);
108 // Instruction argument buffer.
110 union sh5_media_sem_fields {
111 struct { /* no operands */
117 unsigned char out_rd;
122 unsigned char out_rm;
128 unsigned char out_rd;
134 unsigned char out_tra;
139 unsigned char in_frgh;
140 unsigned char out_rd;
145 unsigned char in_drgh;
146 unsigned char out_rd;
151 unsigned char in_frgh;
152 unsigned char out_drf;
157 unsigned char in_drgh;
158 unsigned char out_frf;
163 unsigned char in_frgh;
164 unsigned char out_frf;
169 unsigned char in_drgh;
170 unsigned char out_drf;
175 unsigned char in_trb;
176 unsigned char out_rd;
183 unsigned char out_rd;
218 unsigned char out_rd;
232 unsigned char out_tra;
239 unsigned char out_rd;
246 unsigned char out_rd;
253 unsigned char out_rd;
260 unsigned char out_rd;
267 unsigned char out_rd;
273 unsigned char in_frf;
280 unsigned char in_drf;
288 unsigned char out_frf;
295 unsigned char out_drf;
302 unsigned char out_rd;
308 unsigned char in_frf;
316 unsigned char in_drf;
326 unsigned char out_frf;
334 unsigned char out_drf;
340 unsigned char in_fpf;
342 unsigned char out_fpf;
348 unsigned char in_frg;
349 unsigned char in_frh;
350 unsigned char out_rd;
356 unsigned char in_drg;
357 unsigned char in_drh;
358 unsigned char out_rd;
364 unsigned char in_drg;
365 unsigned char in_drh;
366 unsigned char out_drf;
374 unsigned char in_tra;
383 unsigned char out_rd;
389 unsigned char in_frf;
390 unsigned char in_frg;
391 unsigned char in_frh;
392 unsigned char out_frf;
398 unsigned char in_fpf;
401 unsigned char out_fpf;
410 unsigned char in_tra;
416 unsigned char in_fvg;
417 unsigned char in_fvh;
418 unsigned char out_frf;
419 unsigned char out_fvg;
420 unsigned char out_fvh;
426 unsigned char in_fvf;
427 unsigned char in_fvh;
428 unsigned char in_mtrxg;
429 unsigned char out_fvf;
430 unsigned char out_fvh;
431 unsigned char out_mtrxg;
433 // This one is for chain/cti-chain virtual insns.
435 // Number of insns in pbb.
437 // This is used by chain insns and by untaken conditional branches.
438 sh5_media_scache* next;
439 sh5_media_scache* branch_target;
441 // This one is for `before' virtual insns.
443 // The cache entry of the real insn.
444 sh5_media_scache* insn;
448 // Simulator instruction cache.
450 struct sh5_media_scache {
454 sh5_media_sem_fn* fn;
457 // PC of this instruction.
461 sh5_media_idesc* idesc;
464 sh5_media_sem_fields fields;
468 // Only used if profiling or parallel execution support enabled during
470 unsigned long long written;
473 // decode given instruction
474 void decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
477 } // end sh5 namespace
479 // Decls of each semantic fn.
481 using sh5::sh5_media_sem_fn;
482 extern sh5_media_sem_fn sh5_media_sem_x_invalid;
483 extern sh5_media_sem_fn sh5_media_sem_add;
484 extern sh5_media_sem_fn sh5_media_sem_addl;
485 extern sh5_media_sem_fn sh5_media_sem_addi;
486 extern sh5_media_sem_fn sh5_media_sem_addil;
487 extern sh5_media_sem_fn sh5_media_sem_addzl;
488 extern sh5_media_sem_fn sh5_media_sem_alloco;
489 extern sh5_media_sem_fn sh5_media_sem_and;
490 extern sh5_media_sem_fn sh5_media_sem_andc;
491 extern sh5_media_sem_fn sh5_media_sem_andi;
492 extern sh5_media_sem_fn sh5_media_sem_beq;
493 extern sh5_media_sem_fn sh5_media_sem_beqi;
494 extern sh5_media_sem_fn sh5_media_sem_bge;
495 extern sh5_media_sem_fn sh5_media_sem_bgeu;
496 extern sh5_media_sem_fn sh5_media_sem_bgt;
497 extern sh5_media_sem_fn sh5_media_sem_bgtu;
498 extern sh5_media_sem_fn sh5_media_sem_blink;
499 extern sh5_media_sem_fn sh5_media_sem_bne;
500 extern sh5_media_sem_fn sh5_media_sem_bnei;
501 extern sh5_media_sem_fn sh5_media_sem_brk;
502 extern sh5_media_sem_fn sh5_media_sem_byterev;
503 extern sh5_media_sem_fn sh5_media_sem_cmpeq;
504 extern sh5_media_sem_fn sh5_media_sem_cmpgt;
505 extern sh5_media_sem_fn sh5_media_sem_cmpgtu;
506 extern sh5_media_sem_fn sh5_media_sem_cmveq;
507 extern sh5_media_sem_fn sh5_media_sem_cmvne;
508 extern sh5_media_sem_fn sh5_media_sem_fabsd;
509 extern sh5_media_sem_fn sh5_media_sem_fabss;
510 extern sh5_media_sem_fn sh5_media_sem_faddd;
511 extern sh5_media_sem_fn sh5_media_sem_fadds;
512 extern sh5_media_sem_fn sh5_media_sem_fcmpeqd;
513 extern sh5_media_sem_fn sh5_media_sem_fcmpeqs;
514 extern sh5_media_sem_fn sh5_media_sem_fcmpged;
515 extern sh5_media_sem_fn sh5_media_sem_fcmpges;
516 extern sh5_media_sem_fn sh5_media_sem_fcmpgtd;
517 extern sh5_media_sem_fn sh5_media_sem_fcmpgts;
518 extern sh5_media_sem_fn sh5_media_sem_fcmpund;
519 extern sh5_media_sem_fn sh5_media_sem_fcmpuns;
520 extern sh5_media_sem_fn sh5_media_sem_fcnvds;
521 extern sh5_media_sem_fn sh5_media_sem_fcnvsd;
522 extern sh5_media_sem_fn sh5_media_sem_fdivd;
523 extern sh5_media_sem_fn sh5_media_sem_fdivs;
524 extern sh5_media_sem_fn sh5_media_sem_fgetscr;
525 extern sh5_media_sem_fn sh5_media_sem_fiprs;
526 extern sh5_media_sem_fn sh5_media_sem_fldd;
527 extern sh5_media_sem_fn sh5_media_sem_fldp;
528 extern sh5_media_sem_fn sh5_media_sem_flds;
529 extern sh5_media_sem_fn sh5_media_sem_fldxd;
530 extern sh5_media_sem_fn sh5_media_sem_fldxp;
531 extern sh5_media_sem_fn sh5_media_sem_fldxs;
532 extern sh5_media_sem_fn sh5_media_sem_floatld;
533 extern sh5_media_sem_fn sh5_media_sem_floatls;
534 extern sh5_media_sem_fn sh5_media_sem_floatqd;
535 extern sh5_media_sem_fn sh5_media_sem_floatqs;
536 extern sh5_media_sem_fn sh5_media_sem_fmacs;
537 extern sh5_media_sem_fn sh5_media_sem_fmovd;
538 extern sh5_media_sem_fn sh5_media_sem_fmovdq;
539 extern sh5_media_sem_fn sh5_media_sem_fmovls;
540 extern sh5_media_sem_fn sh5_media_sem_fmovqd;
541 extern sh5_media_sem_fn sh5_media_sem_fmovs;
542 extern sh5_media_sem_fn sh5_media_sem_fmovsl;
543 extern sh5_media_sem_fn sh5_media_sem_fmuld;
544 extern sh5_media_sem_fn sh5_media_sem_fmuls;
545 extern sh5_media_sem_fn sh5_media_sem_fnegd;
546 extern sh5_media_sem_fn sh5_media_sem_fnegs;
547 extern sh5_media_sem_fn sh5_media_sem_fputscr;
548 extern sh5_media_sem_fn sh5_media_sem_fsqrtd;
549 extern sh5_media_sem_fn sh5_media_sem_fsqrts;
550 extern sh5_media_sem_fn sh5_media_sem_fstd;
551 extern sh5_media_sem_fn sh5_media_sem_fstp;
552 extern sh5_media_sem_fn sh5_media_sem_fsts;
553 extern sh5_media_sem_fn sh5_media_sem_fstxd;
554 extern sh5_media_sem_fn sh5_media_sem_fstxp;
555 extern sh5_media_sem_fn sh5_media_sem_fstxs;
556 extern sh5_media_sem_fn sh5_media_sem_fsubd;
557 extern sh5_media_sem_fn sh5_media_sem_fsubs;
558 extern sh5_media_sem_fn sh5_media_sem_ftrcdl;
559 extern sh5_media_sem_fn sh5_media_sem_ftrcsl;
560 extern sh5_media_sem_fn sh5_media_sem_ftrcdq;
561 extern sh5_media_sem_fn sh5_media_sem_ftrcsq;
562 extern sh5_media_sem_fn sh5_media_sem_ftrvs;
563 extern sh5_media_sem_fn sh5_media_sem_getcfg;
564 extern sh5_media_sem_fn sh5_media_sem_getcon;
565 extern sh5_media_sem_fn sh5_media_sem_gettr;
566 extern sh5_media_sem_fn sh5_media_sem_icbi;
567 extern sh5_media_sem_fn sh5_media_sem_ldb;
568 extern sh5_media_sem_fn sh5_media_sem_ldl;
569 extern sh5_media_sem_fn sh5_media_sem_ldq;
570 extern sh5_media_sem_fn sh5_media_sem_ldub;
571 extern sh5_media_sem_fn sh5_media_sem_lduw;
572 extern sh5_media_sem_fn sh5_media_sem_ldw;
573 extern sh5_media_sem_fn sh5_media_sem_ldhil;
574 extern sh5_media_sem_fn sh5_media_sem_ldhiq;
575 extern sh5_media_sem_fn sh5_media_sem_ldlol;
576 extern sh5_media_sem_fn sh5_media_sem_ldloq;
577 extern sh5_media_sem_fn sh5_media_sem_ldxb;
578 extern sh5_media_sem_fn sh5_media_sem_ldxl;
579 extern sh5_media_sem_fn sh5_media_sem_ldxq;
580 extern sh5_media_sem_fn sh5_media_sem_ldxub;
581 extern sh5_media_sem_fn sh5_media_sem_ldxuw;
582 extern sh5_media_sem_fn sh5_media_sem_ldxw;
583 extern sh5_media_sem_fn sh5_media_sem_mabsl;
584 extern sh5_media_sem_fn sh5_media_sem_mabsw;
585 extern sh5_media_sem_fn sh5_media_sem_maddl;
586 extern sh5_media_sem_fn sh5_media_sem_maddw;
587 extern sh5_media_sem_fn sh5_media_sem_maddsl;
588 extern sh5_media_sem_fn sh5_media_sem_maddsub;
589 extern sh5_media_sem_fn sh5_media_sem_maddsw;
590 extern sh5_media_sem_fn sh5_media_sem_mcmpeqb;
591 extern sh5_media_sem_fn sh5_media_sem_mcmpeql;
592 extern sh5_media_sem_fn sh5_media_sem_mcmpeqw;
593 extern sh5_media_sem_fn sh5_media_sem_mcmpgtl;
594 extern sh5_media_sem_fn sh5_media_sem_mcmpgtub;
595 extern sh5_media_sem_fn sh5_media_sem_mcmpgtw;
596 extern sh5_media_sem_fn sh5_media_sem_mcmv;
597 extern sh5_media_sem_fn sh5_media_sem_mcnvslw;
598 extern sh5_media_sem_fn sh5_media_sem_mcnvswb;
599 extern sh5_media_sem_fn sh5_media_sem_mcnvswub;
600 extern sh5_media_sem_fn sh5_media_sem_mextr1;
601 extern sh5_media_sem_fn sh5_media_sem_mextr2;
602 extern sh5_media_sem_fn sh5_media_sem_mextr3;
603 extern sh5_media_sem_fn sh5_media_sem_mextr4;
604 extern sh5_media_sem_fn sh5_media_sem_mextr5;
605 extern sh5_media_sem_fn sh5_media_sem_mextr6;
606 extern sh5_media_sem_fn sh5_media_sem_mextr7;
607 extern sh5_media_sem_fn sh5_media_sem_mmacfxwl;
608 extern sh5_media_sem_fn sh5_media_sem_mmacnfx_wl;
609 extern sh5_media_sem_fn sh5_media_sem_mmull;
610 extern sh5_media_sem_fn sh5_media_sem_mmulw;
611 extern sh5_media_sem_fn sh5_media_sem_mmulfxl;
612 extern sh5_media_sem_fn sh5_media_sem_mmulfxw;
613 extern sh5_media_sem_fn sh5_media_sem_mmulfxrpw;
614 extern sh5_media_sem_fn sh5_media_sem_mmulhiwl;
615 extern sh5_media_sem_fn sh5_media_sem_mmullowl;
616 extern sh5_media_sem_fn sh5_media_sem_mmulsumwq;
617 extern sh5_media_sem_fn sh5_media_sem_movi;
618 extern sh5_media_sem_fn sh5_media_sem_mpermw;
619 extern sh5_media_sem_fn sh5_media_sem_msadubq;
620 extern sh5_media_sem_fn sh5_media_sem_mshaldsl;
621 extern sh5_media_sem_fn sh5_media_sem_mshaldsw;
622 extern sh5_media_sem_fn sh5_media_sem_mshardl;
623 extern sh5_media_sem_fn sh5_media_sem_mshardw;
624 extern sh5_media_sem_fn sh5_media_sem_mshardsq;
625 extern sh5_media_sem_fn sh5_media_sem_mshfhib;
626 extern sh5_media_sem_fn sh5_media_sem_mshfhil;
627 extern sh5_media_sem_fn sh5_media_sem_mshfhiw;
628 extern sh5_media_sem_fn sh5_media_sem_mshflob;
629 extern sh5_media_sem_fn sh5_media_sem_mshflol;
630 extern sh5_media_sem_fn sh5_media_sem_mshflow;
631 extern sh5_media_sem_fn sh5_media_sem_mshlldl;
632 extern sh5_media_sem_fn sh5_media_sem_mshlldw;
633 extern sh5_media_sem_fn sh5_media_sem_mshlrdl;
634 extern sh5_media_sem_fn sh5_media_sem_mshlrdw;
635 extern sh5_media_sem_fn sh5_media_sem_msubl;
636 extern sh5_media_sem_fn sh5_media_sem_msubw;
637 extern sh5_media_sem_fn sh5_media_sem_msubsl;
638 extern sh5_media_sem_fn sh5_media_sem_msubsub;
639 extern sh5_media_sem_fn sh5_media_sem_msubsw;
640 extern sh5_media_sem_fn sh5_media_sem_mulsl;
641 extern sh5_media_sem_fn sh5_media_sem_mulul;
642 extern sh5_media_sem_fn sh5_media_sem_nop;
643 extern sh5_media_sem_fn sh5_media_sem_nsb;
644 extern sh5_media_sem_fn sh5_media_sem_ocbi;
645 extern sh5_media_sem_fn sh5_media_sem_ocbp;
646 extern sh5_media_sem_fn sh5_media_sem_ocbwb;
647 extern sh5_media_sem_fn sh5_media_sem_or;
648 extern sh5_media_sem_fn sh5_media_sem_ori;
649 extern sh5_media_sem_fn sh5_media_sem_prefi;
650 extern sh5_media_sem_fn sh5_media_sem_pta;
651 extern sh5_media_sem_fn sh5_media_sem_ptabs;
652 extern sh5_media_sem_fn sh5_media_sem_ptb;
653 extern sh5_media_sem_fn sh5_media_sem_ptrel;
654 extern sh5_media_sem_fn sh5_media_sem_putcfg;
655 extern sh5_media_sem_fn sh5_media_sem_putcon;
656 extern sh5_media_sem_fn sh5_media_sem_rte;
657 extern sh5_media_sem_fn sh5_media_sem_shard;
658 extern sh5_media_sem_fn sh5_media_sem_shardl;
659 extern sh5_media_sem_fn sh5_media_sem_shari;
660 extern sh5_media_sem_fn sh5_media_sem_sharil;
661 extern sh5_media_sem_fn sh5_media_sem_shlld;
662 extern sh5_media_sem_fn sh5_media_sem_shlldl;
663 extern sh5_media_sem_fn sh5_media_sem_shlli;
664 extern sh5_media_sem_fn sh5_media_sem_shllil;
665 extern sh5_media_sem_fn sh5_media_sem_shlrd;
666 extern sh5_media_sem_fn sh5_media_sem_shlrdl;
667 extern sh5_media_sem_fn sh5_media_sem_shlri;
668 extern sh5_media_sem_fn sh5_media_sem_shlril;
669 extern sh5_media_sem_fn sh5_media_sem_shori;
670 extern sh5_media_sem_fn sh5_media_sem_sleep;
671 extern sh5_media_sem_fn sh5_media_sem_stb;
672 extern sh5_media_sem_fn sh5_media_sem_stl;
673 extern sh5_media_sem_fn sh5_media_sem_stq;
674 extern sh5_media_sem_fn sh5_media_sem_stw;
675 extern sh5_media_sem_fn sh5_media_sem_sthil;
676 extern sh5_media_sem_fn sh5_media_sem_sthiq;
677 extern sh5_media_sem_fn sh5_media_sem_stlol;
678 extern sh5_media_sem_fn sh5_media_sem_stloq;
679 extern sh5_media_sem_fn sh5_media_sem_stxb;
680 extern sh5_media_sem_fn sh5_media_sem_stxl;
681 extern sh5_media_sem_fn sh5_media_sem_stxq;
682 extern sh5_media_sem_fn sh5_media_sem_stxw;
683 extern sh5_media_sem_fn sh5_media_sem_sub;
684 extern sh5_media_sem_fn sh5_media_sem_subl;
685 extern sh5_media_sem_fn sh5_media_sem_swapq;
686 extern sh5_media_sem_fn sh5_media_sem_synci;
687 extern sh5_media_sem_fn sh5_media_sem_synco;
688 extern sh5_media_sem_fn sh5_media_sem_trapa;
689 extern sh5_media_sem_fn sh5_media_sem_xor;
690 extern sh5_media_sem_fn sh5_media_sem_xori;
692 #endif /* SH5_MEDIA_DECODE_H */