+2004-10-27 Nick Clifton <nickc@redhat.com>
+
+ * iq2000m.cpu (pkrlr1, pkrlr30, rbr1, rbr30, rxr1, rxr30, wbr1,
+ wbr1u, wbr30, wbr30u, wxr1, wxr1u, wxr30, wxr30u): Add an index
+ operand.
+ * iq2000.cpu (dnop index): Rename to _index to avoid complications
+ with guile.
+
2004-08-27 Richard Sandiford <rsandifo@redhat.com>
* frv.cpu (cfmovs): Change UNIT attribute to FMALL.
; IQ2000/IQ10 Common CPU description. -*- Scheme -*-
-;
-; Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
-;
-; Contributed by Red Hat Inc; developed under contract from Vitesse.
-;
-; This file is part of the GNU Binutils.
-;
-; This program 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 2 of the License, or
-; (at your option) any later version.
-;
-; This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+; Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
+; This file is part of CGEN.
+; See file COPYING.CGEN for details.
(include "simplify.inc")
(dnop maskq10 "iq10 mask" () h-uint f-maskq10)
(dnop maskl "mask left" () h-uint f-maskl)
(dnop count "count" () h-uint f-count)
-(dnop index "index" () h-uint f-index)
+(dnop _index "index" () h-uint f-index)
(dnop execode "execcode" () h-uint f-excode)
(dnop bytecount "byte count" () h-uint f-bytecount)
(dnop cam-y "cam global opn y" () h-uint f-cam-y)
; IQ2000-only CPU description. -*- Scheme -*-
;
-; Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
+; Copyright 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
;
; Contributed by Red Hat Inc; developed under contract from Vitesse.
;
())
(dni pkrlr1 "pkrlr1" (MACH2000 USES-RT YIELD-INSN)
- "pkrlr1 $rt,$count"
- (+ OP_COP3 (f-rs 29) rt count)
+ "pkrlr1 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 29) rt count _index)
(unimp pkrlr1)
())
(dni pkrlr30 "pkrlr30" (MACH2000 USES-RT YIELD-INSN)
- "pkrlr30 $rt,$count"
- (+ OP_COP3 (f-rs 31) rt count)
+ "pkrlr30 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 31) rt count _index)
(unimp pkrlr30)
())
())
(dni rbr1 "dma read bytes using r1" (MACH2000 USES-RT YIELD-INSN)
- "rbr1 $rt,$count"
- (+ OP_COP3 (f-rs 24) rt count)
+ "rbr1 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 24) rt count _index)
(unimp rbr1)
())
(dni rbr30 "dma read bytes using r30" (MACH2000 USES-RT YIELD-INSN)
- "rbr30 $rt,$count"
- (+ OP_COP3 (f-rs 26) rt count)
+ "rbr30 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 26) rt count _index)
(unimp rbr30)
())
())
(dni rxr1 "dma read word64s using r1" (MACH2000 USES-RT YIELD-INSN)
- "rxr1 $rt,$count"
- (+ OP_COP3 (f-rs 28) rt count)
+ "rxr1 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 28) rt count _index)
(unimp rxr1)
())
(dni rxr30 "dma read word 64s using r30" (MACH2000 USES-RT YIELD-INSN)
- "rxr30 $rt,$count"
- (+ OP_COP3 (f-rs 30) rt count)
+ "rxr30 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 30) rt count _index)
(unimp rxr30)
())
())
(dni wbr1 "dma write bytes using r1" (MACH2000 USES-RT YIELD-INSN)
- "wbr1 $rt,$count"
- (+ OP_COP3 (f-rs 16) rt count)
+ "wbr1 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 16) rt count _index)
(unimp wbr1)
())
(dni wbr1u "dma write bytes using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
- "wbr1u $rt,$count"
- (+ OP_COP3 (f-rs 17) rt count)
+ "wbr1u $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 17) rt count _index)
(unimp wbr1u)
())
(dni wbr30 "dma write bytes using r30" (MACH2000 USES-RT YIELD-INSN)
- "wbr30 $rt,$count"
- (+ OP_COP3 (f-rs 18) rt count)
+ "wbr30 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 18) rt count _index)
(unimp wbr30)
())
(dni wbr30u "dma write bytes using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
- "wbr30u $rt,$count"
- (+ OP_COP3 (f-rs 19) rt count)
+ "wbr30u $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 19) rt count _index)
(unimp wbr30u)
())
())
(dni wxr1 "dma write word64s using r1" (MACH2000 USES-RT YIELD-INSN)
- "wxr1 $rt,$count"
- (+ OP_COP3 (f-rs 20) rt count)
+ "wxr1 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 20) rt count _index)
(unimp wxr1)
())
(dni wxr1u "dma write word64s using r1 and unlock" (MACH2000 USES-RT YIELD-INSN)
- "wxr1u $rt,$count"
- (+ OP_COP3 (f-rs 21) rt count)
+ "wxr1u $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 21) rt count _index)
(unimp wxr1u)
())
(dni wxr30 "dma write word64s using r30" (MACH2000 USES-RT YIELD-INSN)
- "wxr30 $rt,$count"
- (+ OP_COP3 (f-rs 22) rt count)
+ "wxr30 $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 22) rt count _index)
(unimp wxr30)
())
(dni wxr30u "dma write word64s using r30 and unlock" (MACH2000 USES-RT YIELD-INSN)
- "wxr30u $rt,$count"
- (+ OP_COP3 (f-rs 23) rt count)
+ "wxr30u $rt,$_index,$count"
+ (+ OP_COP3 (f-rs 23) rt count _index)
(unimp wxr30u)
())
+2004-10-27 Nick Clifton <nickc@redhat.com>
+
+ * opcodes/iq2000-asm.c: Regenerate.
+ * opcodes/iq2000-desc.c: Regenerate.
+ * opcodes/iq2000-desc.h: Regenerate.
+ * opcodes/iq2000-dis.c: Regenerate.
+ * opcodes/iq2000-ibld.c: Regenerate.
+ * opcodes/iq2000-opc.c: Regenerate.
+ * opcodes/iq2000-opc.h: Regenerate.
+
2004-10-21 Tomer Levi <Tomer.Levi@nsc.com>
* crx-opc.c (crx_instruction): Replace i3, i4, i5 with us3,
/* -- assembler routines inserted here. */
/* -- asm.c */
+
+#include "safe-ctype.h"
+
+static int iq2000_cgen_isa_register PARAMS ((const char **));
+static const char * parse_jtargq10 PARAMS ((CGEN_CPU_DESC, const char **, int, int, enum cgen_parse_operand_result *, unsigned long *));
static const char * parse_mimm PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
static const char * parse_imm PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
static const char * parse_hi16 PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
static const char * parse_lo16 PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
+static const char * parse_mlo16 PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
/* Special check to ensure that instruction exists for given machine */
int
iq2000_cgen_insn_supported (cd, insn)
CGEN_CPU_DESC cd;
- CGEN_INSN *insn;
+ const CGEN_INSN *insn;
{
int machs = cd->machs;
return 1;
}
}
- if (**strp == '%' && tolower((*strp)[1]) != 'l' && tolower((*strp)[1]) != 'h')
+ if (**strp == '%' && TOLOWER((*strp)[1]) != 'l' && TOLOWER((*strp)[1]) != 'h')
return 1;
return 0;
}
long *valuep;
{
const char *errmsg;
- long value;
/* Verify this isn't a register */
if (iq2000_cgen_isa_register (strp))
if (errmsg == NULL)
{
long x = (-value) & 0xFFFF0000;
- if (x != 0 && x != 0xFFFF0000)
+ if (x != 0 && x != (long) 0xFFFF0000)
errmsg = _("immediate value out of range");
else
*valuep = (-value & 0xFFFF);
unsigned long *valuep;
{
const char *errmsg;
- long value;
if (iq2000_cgen_isa_register (strp))
errmsg = _("immediate value cannot be register");
if (errmsg == NULL)
{
long x = value & 0xFFFF0000;
- if (x != 0 && x != 0xFFFF0000)
+ if (x != 0 && x != (long) 0xFFFF0000)
errmsg = _("immediate value out of range");
else
*valuep = (value & 0xFFFF);
CGEN_CPU_DESC cd;
const char **strp;
int opindex;
- int reloc;
- enum cgen_parse_operand_result *type_addr;
+ int reloc ATTRIBUTE_UNUSED;
+ enum cgen_parse_operand_result *type_addr ATTRIBUTE_UNUSED;
unsigned long *valuep;
{
const char *errmsg;
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, IQ2000_OPERAND__INDEX, &fields->f_index);
+ break;
case IQ2000_OPERAND_BASE :
errmsg = cgen_parse_keyword (cd, strp, & iq2000_cgen_opval_gr_names, & fields->f_rs);
break;
case IQ2000_OPERAND_EXECODE :
errmsg = cgen_parse_unsigned_integer (cd, strp, IQ2000_OPERAND_EXECODE, &fields->f_excode);
break;
- case IQ2000_OPERAND_F_INDEX :
- errmsg = cgen_parse_unsigned_integer (cd, strp, IQ2000_OPERAND_F_INDEX, &fields->f_index);
- break;
case IQ2000_OPERAND_HI16 :
errmsg = parse_hi16 (cd, strp, IQ2000_OPERAND_HI16, &fields->f_imm);
break;
THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright 1996-2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
/* Instruction set variants. */
static const CGEN_ISA iq2000_cgen_isa_table[] = {
- { "iq2000", 32, 32, 23, 32 },
+ { "iq2000", 32, 32, 32, 32 },
{ 0, 0, 0, 0, 0 }
};
{ "count", IQ2000_OPERAND_COUNT, HW_H_UINT, 15, 7,
{ 0, { (const PTR) &iq2000_cgen_ifld_table[IQ2000_F_COUNT] } },
{ 0, { (1<<MACH_BASE) } } },
-/* f-index: index */
- { "f-index", IQ2000_OPERAND_F_INDEX, HW_H_UINT, 8, 9,
+/* _index: index */
+ { "_index", IQ2000_OPERAND__INDEX, HW_H_UINT, 8, 9,
{ 0, { (const PTR) &iq2000_cgen_ifld_table[IQ2000_F_INDEX] } },
{ 0, { (1<<MACH_BASE) } } },
/* execode: execcode */
IQ2000_INSN_PKRL, "pkrl", "pkrl", 32,
{ 0|A(YIELD_INSN)|A(USES_RT)|A(USES_RD), { (1<<MACH_IQ2000) } }
},
-/* pkrlr1 $rt,$count */
+/* pkrlr1 $rt,$_index,$count */
{
- IQ2000_INSN_PKRLR1, "pkrlr1", "pkrlr1", 23,
+ IQ2000_INSN_PKRLR1, "pkrlr1", "pkrlr1", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* pkrlr30 $rt,$count */
+/* pkrlr30 $rt,$_index,$count */
{
- IQ2000_INSN_PKRLR30, "pkrlr30", "pkrlr30", 23,
+ IQ2000_INSN_PKRLR30, "pkrlr30", "pkrlr30", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
/* rb $rd,$rt */
IQ2000_INSN_RB, "rb", "rb", 32,
{ 0|A(YIELD_INSN)|A(USES_RT)|A(USES_RD), { (1<<MACH_IQ2000) } }
},
-/* rbr1 $rt,$count */
+/* rbr1 $rt,$_index,$count */
{
- IQ2000_INSN_RBR1, "rbr1", "rbr1", 23,
+ IQ2000_INSN_RBR1, "rbr1", "rbr1", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* rbr30 $rt,$count */
+/* rbr30 $rt,$_index,$count */
{
- IQ2000_INSN_RBR30, "rbr30", "rbr30", 23,
+ IQ2000_INSN_RBR30, "rbr30", "rbr30", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
/* rfe */
IQ2000_INSN_RX, "rx", "rx", 32,
{ 0|A(YIELD_INSN)|A(USES_RT)|A(USES_RD), { (1<<MACH_IQ2000) } }
},
-/* rxr1 $rt,$count */
+/* rxr1 $rt,$_index,$count */
{
- IQ2000_INSN_RXR1, "rxr1", "rxr1", 23,
+ IQ2000_INSN_RXR1, "rxr1", "rxr1", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* rxr30 $rt,$count */
+/* rxr30 $rt,$_index,$count */
{
- IQ2000_INSN_RXR30, "rxr30", "rxr30", 23,
+ IQ2000_INSN_RXR30, "rxr30", "rxr30", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
/* sleep */
IQ2000_INSN_WBU, "wbu", "wbu", 32,
{ 0|A(YIELD_INSN)|A(USES_RT)|A(USES_RD), { (1<<MACH_IQ2000) } }
},
-/* wbr1 $rt,$count */
+/* wbr1 $rt,$_index,$count */
{
- IQ2000_INSN_WBR1, "wbr1", "wbr1", 23,
+ IQ2000_INSN_WBR1, "wbr1", "wbr1", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wbr1u $rt,$count */
+/* wbr1u $rt,$_index,$count */
{
- IQ2000_INSN_WBR1U, "wbr1u", "wbr1u", 23,
+ IQ2000_INSN_WBR1U, "wbr1u", "wbr1u", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wbr30 $rt,$count */
+/* wbr30 $rt,$_index,$count */
{
- IQ2000_INSN_WBR30, "wbr30", "wbr30", 23,
+ IQ2000_INSN_WBR30, "wbr30", "wbr30", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wbr30u $rt,$count */
+/* wbr30u $rt,$_index,$count */
{
- IQ2000_INSN_WBR30U, "wbr30u", "wbr30u", 23,
+ IQ2000_INSN_WBR30U, "wbr30u", "wbr30u", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
/* wx $rd,$rt */
IQ2000_INSN_WXU, "wxu", "wxu", 32,
{ 0|A(YIELD_INSN)|A(USES_RT)|A(USES_RD), { (1<<MACH_IQ2000) } }
},
-/* wxr1 $rt,$count */
+/* wxr1 $rt,$_index,$count */
{
- IQ2000_INSN_WXR1, "wxr1", "wxr1", 23,
+ IQ2000_INSN_WXR1, "wxr1", "wxr1", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wxr1u $rt,$count */
+/* wxr1u $rt,$_index,$count */
{
- IQ2000_INSN_WXR1U, "wxr1u", "wxr1u", 23,
+ IQ2000_INSN_WXR1U, "wxr1u", "wxr1u", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wxr30 $rt,$count */
+/* wxr30 $rt,$_index,$count */
{
- IQ2000_INSN_WXR30, "wxr30", "wxr30", 23,
+ IQ2000_INSN_WXR30, "wxr30", "wxr30", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
-/* wxr30u $rt,$count */
+/* wxr30u $rt,$_index,$count */
{
- IQ2000_INSN_WXR30U, "wxr30u", "wxr30u", 23,
+ IQ2000_INSN_WXR30U, "wxr30u", "wxr30u", 32,
{ 0|A(YIELD_INSN)|A(USES_RT), { (1<<MACH_IQ2000) } }
},
/* ldw $rt,$lo16($base) */
THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright 1996-2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#define CGEN_INSN_LSB0_P 1
/* Minimum size of any insn (in bytes). */
-#define CGEN_MIN_INSN_SIZE 3
+#define CGEN_MIN_INSN_SIZE 4
/* Maximum size of any insn (in bytes). */
#define CGEN_MAX_INSN_SIZE 4
, IQ2000_OPERAND_RD_RS, IQ2000_OPERAND_RD_RT, IQ2000_OPERAND_RT_RS, IQ2000_OPERAND_SHAMT
, IQ2000_OPERAND_IMM, IQ2000_OPERAND_OFFSET, IQ2000_OPERAND_BASEOFF, IQ2000_OPERAND_JMPTARG
, IQ2000_OPERAND_MASK, IQ2000_OPERAND_MASKQ10, IQ2000_OPERAND_MASKL, IQ2000_OPERAND_COUNT
- , IQ2000_OPERAND_F_INDEX, IQ2000_OPERAND_EXECODE, IQ2000_OPERAND_BYTECOUNT, IQ2000_OPERAND_CAM_Y
+ , IQ2000_OPERAND__INDEX, IQ2000_OPERAND_EXECODE, IQ2000_OPERAND_BYTECOUNT, IQ2000_OPERAND_CAM_Y
, IQ2000_OPERAND_CAM_Z, IQ2000_OPERAND_CM_3FUNC, IQ2000_OPERAND_CM_4FUNC, IQ2000_OPERAND_CM_3Z
, IQ2000_OPERAND_CM_4Z, IQ2000_OPERAND_BASE, IQ2000_OPERAND_MASKR, IQ2000_OPERAND_BITNUM
, IQ2000_OPERAND_HI16, IQ2000_OPERAND_LO16, IQ2000_OPERAND_MLO16, IQ2000_OPERAND_JMPTARGQ10
extern CGEN_KEYWORD iq2000_cgen_opval_gr_names;
+extern const CGEN_HW_ENTRY iq2000_cgen_hw_table[];
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ print_normal (cd, info, fields->f_index, 0, pc, length);
+ break;
case IQ2000_OPERAND_BASE :
print_keyword (cd, info, & iq2000_cgen_opval_gr_names, fields->f_rs, 0);
break;
case IQ2000_OPERAND_EXECODE :
print_normal (cd, info, fields->f_excode, 0, pc, length);
break;
- case IQ2000_OPERAND_F_INDEX :
- print_normal (cd, info, fields->f_index, 0, pc, length);
- break;
case IQ2000_OPERAND_HI16 :
print_normal (cd, info, fields->f_imm, 0, pc, length);
break;
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ errmsg = insert_normal (cd, fields->f_index, 0, 0, 8, 9, 32, total_length, buffer);
+ break;
case IQ2000_OPERAND_BASE :
errmsg = insert_normal (cd, fields->f_rs, 0, 0, 25, 5, 32, total_length, buffer);
break;
case IQ2000_OPERAND_EXECODE :
errmsg = insert_normal (cd, fields->f_excode, 0, 0, 25, 20, 32, total_length, buffer);
break;
- case IQ2000_OPERAND_F_INDEX :
- errmsg = insert_normal (cd, fields->f_index, 0, 0, 8, 9, 32, total_length, buffer);
- break;
case IQ2000_OPERAND_HI16 :
errmsg = insert_normal (cd, fields->f_imm, 0, 0, 15, 16, 32, total_length, buffer);
break;
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 9, 32, total_length, pc, & fields->f_index);
+ break;
case IQ2000_OPERAND_BASE :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 5, 32, total_length, pc, & fields->f_rs);
break;
case IQ2000_OPERAND_EXECODE :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 20, 32, total_length, pc, & fields->f_excode);
break;
- case IQ2000_OPERAND_F_INDEX :
- length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 9, 32, total_length, pc, & fields->f_index);
- break;
case IQ2000_OPERAND_HI16 :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 16, 32, total_length, pc, & fields->f_imm);
break;
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ value = fields->f_index;
+ break;
case IQ2000_OPERAND_BASE :
value = fields->f_rs;
break;
case IQ2000_OPERAND_EXECODE :
value = fields->f_excode;
break;
- case IQ2000_OPERAND_F_INDEX :
- value = fields->f_index;
- break;
case IQ2000_OPERAND_HI16 :
value = fields->f_imm;
break;
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ value = fields->f_index;
+ break;
case IQ2000_OPERAND_BASE :
value = fields->f_rs;
break;
case IQ2000_OPERAND_EXECODE :
value = fields->f_excode;
break;
- case IQ2000_OPERAND_F_INDEX :
- value = fields->f_index;
- break;
case IQ2000_OPERAND_HI16 :
value = fields->f_imm;
break;
{
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ fields->f_index = value;
+ break;
case IQ2000_OPERAND_BASE :
fields->f_rs = value;
break;
case IQ2000_OPERAND_EXECODE :
fields->f_excode = value;
break;
- case IQ2000_OPERAND_F_INDEX :
- fields->f_index = value;
- break;
case IQ2000_OPERAND_HI16 :
fields->f_imm = value;
break;
{
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ fields->f_index = value;
+ break;
case IQ2000_OPERAND_BASE :
fields->f_rs = value;
break;
case IQ2000_OPERAND_EXECODE :
fields->f_excode = value;
break;
- case IQ2000_OPERAND_F_INDEX :
- fields->f_index = value;
- break;
case IQ2000_OPERAND_HI16 :
fields->f_imm = value;
break;
THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright 1996-2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
};
static const CGEN_IFMT ifmt_pkrlr1 = {
- 23, 23, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_COUNT) }, { 0 } }
+ 32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_COUNT) }, { F (F_INDEX) }, { 0 } }
};
static const CGEN_IFMT ifmt_rfe = {
{ { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
& ifmt_chkhdr, { 0x4c200007 }
},
-/* pkrlr1 $rt,$count */
+/* pkrlr1 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4fa00000 }
},
-/* pkrlr30 $rt,$count */
+/* pkrlr30 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4fe00000 }
},
/* rb $rd,$rt */
{ { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
& ifmt_chkhdr, { 0x4c200004 }
},
-/* rbr1 $rt,$count */
+/* rbr1 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4f000000 }
},
-/* rbr30 $rt,$count */
+/* rbr30 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4f400000 }
},
/* rfe */
{ { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
& ifmt_chkhdr, { 0x4c200006 }
},
-/* rxr1 $rt,$count */
+/* rxr1 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4f800000 }
},
-/* rxr30 $rt,$count */
+/* rxr30 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4fc00000 }
},
/* sleep */
{ { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
& ifmt_chkhdr, { 0x4c200001 }
},
-/* wbr1 $rt,$count */
+/* wbr1 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4e000000 }
},
-/* wbr1u $rt,$count */
+/* wbr1u $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4e200000 }
},
-/* wbr30 $rt,$count */
+/* wbr30 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4e400000 }
},
-/* wbr30u $rt,$count */
+/* wbr30u $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4e600000 }
},
/* wx $rd,$rt */
{ { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
& ifmt_chkhdr, { 0x4c200003 }
},
-/* wxr1 $rt,$count */
+/* wxr1 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4e800000 }
},
-/* wxr1u $rt,$count */
+/* wxr1u $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4ea00000 }
},
-/* wxr30 $rt,$count */
+/* wxr30 $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4ec00000 }
},
-/* wxr30u $rt,$count */
+/* wxr30u $rt,$_index,$count */
{
{ 0, 0, 0, 0 },
- { { MNEM, ' ', OP (RT), ',', OP (COUNT), 0 } },
+ { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
& ifmt_pkrlr1, { 0x4ee00000 }
},
/* ldw $rt,$lo16($base) */
THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright 1996-2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and/or GDB, the GNU debugger.
instructions have same mnemonics but different functionality. */
#define CGEN_VALIDATE_INSN_SUPPORTED
-extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC cd, CGEN_INSN *insn);
+extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn);
/* -- asm.c */
/* Enum declaration for iq2000 instruction types. */