/* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
/* Instruction opcode header for fr30.
THIS FILE IS MACHINE GENERATED WITH CGEN.
Copyright (C) 1996-2025 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
This file is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
It is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef FR30_OPC_H
#define FR30_OPC_H
#ifdef __cplusplus
extern "C" {
#endif
/* -- opc.h */
/* ??? This can be improved upon. */
#undef CGEN_DIS_HASH_SIZE
#define CGEN_DIS_HASH_SIZE 16
#undef CGEN_DIS_HASH
#define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 4)
/* Index of `invalid' insn place holder. */
#define CGEN_INSN_INVALID FR30_INSN_INVALID
/* Total number of insns in table. */
#define MAX_INSNS ((int) FR30_INSN_XCHB + 1)
/* This struct records data prior to insertion or after extraction. */
struct cgen_fields
{
int length;
long f_nil;
long f_anyof;
long f_op1;
long f_op2;
long f_op3;
long f_op4;
long f_op5;
long f_cc;
long f_ccc;
long f_Rj;
long f_Ri;
long f_Rs1;
long f_Rs2;
long f_Rjc;
long f_Ric;
long f_CRj;
long f_CRi;
long f_u4;
long f_u4c;
long f_i4;
long f_m4;
long f_u8;
long f_i8;
long f_i20_4;
long f_i20_16;
long f_i20;
long f_i32;
long f_udisp6;
long f_disp8;
long f_disp9;
long f_disp10;
long f_s10;
long f_u10;
long f_rel9;
long f_dir8;
long f_dir9;
long f_dir10;
long f_rel12;
long f_reglist_hi_st;
long f_reglist_low_st;
long f_reglist_hi_ld;
long f_reglist_low_ld;
};