aboutsummaryrefslogtreecommitdiff
path: root/opcodes/m32c-asm.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2006-03-14 04:23:52 +0000
committerDJ Delorie <dj@redhat.com>2006-03-14 04:23:52 +0000
commit5398310abcbb731dab6708072b9e911ccd9dc1dd (patch)
tree9df8ad182ebce2cb12a6390bd55540212a5e0ae2 /opcodes/m32c-asm.c
parent43aa3bb1d43045f9a60a2a91be8766582a4aab42 (diff)
downloadgdb-5398310abcbb731dab6708072b9e911ccd9dc1dd.zip
gdb-5398310abcbb731dab6708072b9e911ccd9dc1dd.tar.gz
gdb-5398310abcbb731dab6708072b9e911ccd9dc1dd.tar.bz2
* m32c-asm.c: Regenerate.
* m32c-desc.c: Likewise. * m32c-desc.h: Likewise. * m32c-dis.c: Likewise. * m32c-ibld.c: Likewise. * m32c-opc.c: Likewise. * m32c-opc.h: Likewise.
Diffstat (limited to 'opcodes/m32c-asm.c')
-rw-r--r--opcodes/m32c-asm.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/opcodes/m32c-asm.c b/opcodes/m32c-asm.c
index e2d8c49..9407ed8 100644
--- a/opcodes/m32c-asm.c
+++ b/opcodes/m32c-asm.c
@@ -504,6 +504,24 @@ parse_imm3_S (CGEN_CPU_DESC cd, const char **strp,
}
static const char *
+parse_bit3_S (CGEN_CPU_DESC cd, const char **strp,
+ int opindex, signed long *valuep)
+{
+ const char *errmsg = 0;
+ signed long value;
+
+ errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
+ if (errmsg)
+ return errmsg;
+
+ if (value < 0 || value > 7)
+ return _("immediate is out of range 0-7");
+
+ *valuep = value;
+ return 0;
+}
+
+static const char *
parse_lab_5_3 (CGEN_CPU_DESC cd,
const char **strp,
int opindex ATTRIBUTE_UNUSED,
@@ -933,6 +951,9 @@ m32c_cgen_parse_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_BIT16RN :
errmsg = cgen_parse_keyword (cd, strp, & m32c_cgen_opval_h_gr_HI, & fields->f_dst16_rn);
break;
+ case M32C_OPERAND_BIT3_S :
+ errmsg = parse_bit3_S (cd, strp, M32C_OPERAND_BIT3_S, (long *) (& fields->f_imm3_S));
+ break;
case M32C_OPERAND_BIT32ANPREFIXED :
errmsg = cgen_parse_keyword (cd, strp, & m32c_cgen_opval_h_ar, & fields->f_dst32_an_prefixed);
break;