Home | History | Annotate | Line # | Download | only in opcode
      1   1.1  christos /* score-datadep.h -- Score Instructions data dependency table
      2  1.10  christos    Copyright (C) 2006-2025 Free Software Foundation, Inc.
      3   1.1  christos    Contributed by:
      4   1.1  christos    Brain.lin (brain.lin (at) sunplusct.com)
      5   1.1  christos    Mei Ligang (ligang (at) sunnorth.com.cn)
      6   1.1  christos    Pei-Lin Tsai (pltsai (at) sunplus.com)
      7   1.1  christos 
      8   1.1  christos    This file is part of GAS, the GNU Assembler.
      9   1.1  christos 
     10   1.1  christos    GAS is free software; you can redistribute it and/or modify
     11   1.1  christos    it under the terms of the GNU General Public License as published by
     12   1.1  christos    the Free Software Foundation; either version 3, or (at your option)
     13   1.1  christos    any later version.
     14   1.1  christos 
     15   1.1  christos    GAS is distributed in the hope that it will be useful,
     16   1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     17   1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     18   1.1  christos    GNU General Public License for more details.
     19   1.1  christos 
     20   1.1  christos    You should have received a copy of the GNU General Public License
     21   1.1  christos    along with GAS; see the file COPYING3.  If not, write to the Free
     22   1.1  christos    Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
     23   1.1  christos    Boston, MA 02110-1301, USA.  */
     24   1.1  christos 
     25   1.1  christos #ifndef SCORE_DATA_DEPENDENCY_H
     26   1.1  christos #define SCORE_DATA_DEPENDENCY_H
     27   1.1  christos 
     28   1.1  christos #define INSN_NAME_LEN 16
     29   1.1  christos 
     30   1.1  christos enum insn_type_for_dependency
     31   1.1  christos {
     32   1.1  christos   D_mtcr,
     33   1.1  christos   D_all_insn
     34   1.1  christos };
     35   1.1  christos 
     36   1.1  christos struct insn_to_dependency
     37   1.1  christos {
     38   1.1  christos   char *insn_name;
     39   1.1  christos   enum insn_type_for_dependency type;
     40   1.1  christos };
     41   1.1  christos 
     42   1.1  christos struct data_dependency
     43   1.1  christos {
     44   1.1  christos   enum insn_type_for_dependency pre_insn_type;
     45   1.1  christos   char pre_reg[6];
     46   1.1  christos   enum insn_type_for_dependency cur_insn_type;
     47   1.1  christos   char cur_reg[6];
     48   1.1  christos   int bubblenum_7;
     49   1.1  christos   int bubblenum_3;
     50   1.1  christos   int warn_or_error;           /* warning - 0; error - 1  */
     51   1.1  christos };
     52   1.1  christos 
     53   1.1  christos static const struct insn_to_dependency insn_to_dependency_table[] =
     54   1.1  christos {
     55   1.1  christos   /* move spectial instruction.  */
     56   1.1  christos   {"mtcr",      D_mtcr},
     57   1.1  christos };
     58   1.1  christos 
     59   1.1  christos static const struct data_dependency data_dependency_table[] =
     60   1.1  christos {
     61   1.1  christos   /* Status regiser.  */
     62   1.1  christos   {D_mtcr, "cr0", D_all_insn, "", 5, 1, 0},
     63   1.1  christos };
     64   1.1  christos 
     65   1.1  christos #endif
     66