xref: /netbsd-src/external/gpl3/gdb/dist/sim/igen/gen-idecode.h (revision 71f621822dbfd5073a314948bec169b7bb05f7be)
14e98e3e1Schristos /* The IGEN simulator generator for GDB, the GNU Debugger.
24e98e3e1Schristos 
3*71f62182Schristos    Copyright 2002-2024 Free Software Foundation, Inc.
44e98e3e1Schristos 
54e98e3e1Schristos    Contributed by Andrew Cagney.
64e98e3e1Schristos 
74e98e3e1Schristos    This file is part of GDB.
84e98e3e1Schristos 
94e98e3e1Schristos    This program is free software; you can redistribute it and/or modify
104e98e3e1Schristos    it under the terms of the GNU General Public License as published by
114e98e3e1Schristos    the Free Software Foundation; either version 3 of the License, or
124e98e3e1Schristos    (at your option) any later version.
134e98e3e1Schristos 
144e98e3e1Schristos    This program is distributed in the hope that it will be useful,
154e98e3e1Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
164e98e3e1Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
174e98e3e1Schristos    GNU General Public License for more details.
184e98e3e1Schristos 
194e98e3e1Schristos    You should have received a copy of the GNU General Public License
204e98e3e1Schristos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
214e98e3e1Schristos 
22*71f62182Schristos #ifndef IGEN_GEN_IDECODE_H
23*71f62182Schristos #define IGEN_GEN_IDECODE_H
244e98e3e1Schristos 
254e98e3e1Schristos void print_idecode_issue_function_header
264e98e3e1Schristos   (lf *file,
274e98e3e1Schristos    const char *processor,
284e98e3e1Schristos    function_decl_type decl_type, int nr_prefetched_words);
294e98e3e1Schristos 
304e98e3e1Schristos void print_idecode_globals (lf *file);
314e98e3e1Schristos 
324e98e3e1Schristos void print_idecode_lookups
334b169a6bSchristos   (lf *file,
344b169a6bSchristos    const gen_entry *table,
354b169a6bSchristos    cache_entry *cache_rules);
364e98e3e1Schristos 
374b169a6bSchristos void print_idecode_body (lf *file, const gen_entry *table, const char *result);
384e98e3e1Schristos 
394e98e3e1Schristos 
404e98e3e1Schristos 
414e98e3e1Schristos /* Output code to do any final checks on the decoded instruction.
424e98e3e1Schristos    This includes things like verifying any on decoded fields have the
434e98e3e1Schristos    correct value and checking that (for floating point) floating point
444e98e3e1Schristos    hardware isn't disabled */
454e98e3e1Schristos 
464e98e3e1Schristos extern void print_idecode_validate
474b169a6bSchristos   (lf *file,
484b169a6bSchristos    const insn_entry *instruction,
494b169a6bSchristos    const insn_opcodes *opcode_paths);
50*71f62182Schristos 
51*71f62182Schristos #endif /* IGEN_GEN_IDECODE_H */
52