aboutsummaryrefslogtreecommitdiff
path: root/opcodes/mep-dis.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2009-05-22 17:37:45 +0000
committerDJ Delorie <dj@redhat.com>2009-05-22 17:37:45 +0000
commit1d74713bc6983fddbae51aed5337c0b88b0a672f (patch)
tree04746389866a2bc40caf9dfd7e5efd3ed24251a2 /opcodes/mep-dis.c
parentc1e679ec0a47d39a315c7adb5e28106fcb27beac (diff)
downloadgdb-1d74713bc6983fddbae51aed5337c0b88b0a672f.zip
gdb-1d74713bc6983fddbae51aed5337c0b88b0a672f.tar.gz
gdb-1d74713bc6983fddbae51aed5337c0b88b0a672f.tar.bz2
[cgen]
* cpu/mep.opc (mep_examine_ivc2_insns): Fix bug in ivc2 decoder. (mep_config_map): Regenerate. * cpu/mep-ivc2.cpu (h-ccr-ivc2): Add generic names as well as ivc2-specific names. (simm8p20): New. (cmovc): move to after field definitions, use ivc2-specific register names. (cpmovi_b_P0S_P1): New. [utils/mep] * mepcfgtool.c (do_cgen_config_opc): Propagate endianness and VLIW size to default configuration. [sid/component/cgen-cpu/mep] * mep-cop1-16-decode.cxx: Regenerate. * mep-cop1-16-decode.h: Regenerate. * mep-cop1-16-model.cxx: Regenerate. * mep-cop1-16-model.h: Regenerate. * mep-cop1-16-sem.cxx: Regenerate. * mep-cop1-64-decode.cxx: Regenerate. * mep-cop1-64-decode.h: Regenerate. * mep-cop1-64-model.cxx: Regenerate. * mep-cop1-64-model.h: Regenerate. * mep-cop1-64-sem.cxx: Regenerate. [opcodes] * mep-asm.c: Regenerate. * mep-desc.c: Regenerate. * mep-desc.h: Regenerate. * mep-dis.c: Regenerate. * mep-ibld.c: Regenerate. * mep-opc.c: Regenerate. * mep-opc.h: Regenerate.
Diffstat (limited to 'opcodes/mep-dis.c')
-rw-r--r--opcodes/mep-dis.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/opcodes/mep-dis.c b/opcodes/mep-dis.c
index ee0d507..c1f3be3 100644
--- a/opcodes/mep-dis.c
+++ b/opcodes/mep-dis.c
@@ -558,7 +558,7 @@ mep_examine_ivc2_insns (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, bfd_vma pc ATTRIBUTE_
else
e = 0;
- if ((buf[0^e] & 0xf0) != 0xf0)
+ if (((unsigned char)buf[0^e] & 0xf0) < 0xc0)
{
/* <--00--><--11--><--22--><--33--><--44--><--55--><--66--><--77--> */
/* V1 [-----core-----][--------p0s-------][------------p1------------] */
@@ -928,8 +928,11 @@ mep_cgen_print_operand (CGEN_CPU_DESC cd,
case MEP_OPERAND_IVC_X_6_3 :
print_normal (cd, info, fields->f_ivc2_3u6, 0, pc, length);
break;
+ case MEP_OPERAND_IVC2C3CCRN :
+ print_keyword (cd, info, & mep_cgen_opval_h_ccr_ivc2, fields->f_ccrn, 0|(1<<CGEN_OPERAND_VIRTUAL));
+ break;
case MEP_OPERAND_IVC2CCRN :
- print_keyword (cd, info, & mep_cgen_opval_h_ccr, fields->f_ivc2_ccrn, 0|(1<<CGEN_OPERAND_VIRTUAL));
+ print_keyword (cd, info, & mep_cgen_opval_h_ccr_ivc2, fields->f_ivc2_ccrn, 0|(1<<CGEN_OPERAND_VIRTUAL));
break;
case MEP_OPERAND_IVC2CRN :
print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_crnx, 0|(1<<CGEN_OPERAND_VIRTUAL));
@@ -1060,6 +1063,9 @@ mep_cgen_print_operand (CGEN_CPU_DESC cd,
case MEP_OPERAND_SIMM8P0 :
print_normal (cd, info, fields->f_ivc2_8s0, 0|(1<<CGEN_OPERAND_SIGNED), pc, length);
break;
+ case MEP_OPERAND_SIMM8P20 :
+ print_normal (cd, info, fields->f_ivc2_8s20, 0|(1<<CGEN_OPERAND_SIGNED), pc, length);
+ break;
case MEP_OPERAND_SIMM8P4 :
print_normal (cd, info, fields->f_ivc2_8s4, 0|(1<<CGEN_OPERAND_SIGNED), pc, length);
break;