diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2004-01-14 10:05:00 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@nildram.co.uk> | 2004-01-14 10:05:00 +0000 |
commit | fe02502c281e161f54b778e58d1e99fd8f657be4 (patch) | |
tree | 864733fb01c0084a31bd88d990632230d8c87e08 /opcodes | |
parent | a09fc859c5c9b859883dba864c87eb8733c6373e (diff) | |
download | gdb-fe02502c281e161f54b778e58d1e99fd8f657be4.tar.gz |
cpu/
* frv.cpu (UNIT): Add IACC.
(iacc-multiply-r-r): Use it.
* frv.opc (fr400_unit_mapping): Add entry for IACC.
(fr500_unit_mapping, fr550_unit_mapping): Likewise.
opcodes/
* frv-desc.h: Regenerate.
* frv-desc.c: Regenerate.
* frv-opc.c: Regenerate.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/frv-desc.c | 7 | ||||
-rw-r--r-- | opcodes/frv-desc.h | 6 | ||||
-rw-r--r-- | opcodes/frv-opc.c | 3 |
4 files changed, 16 insertions, 6 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 747ca77ff61..b972bfa3d48 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2004-01-14 Richard Sandiford <rsandifo@redhat.com> + + * frv-desc.h: Regenerate. + * frv-desc.c: Regenerate. + * frv-opc.c: Regenerate. + 2004-01-13 Michael Snyder <msnyder@redhat.com> * sh-dis.c (print_insn_sh): Allocate 4 bytes for insn. diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c index 9cc85fef499..35659c7b420 100644 --- a/opcodes/frv-desc.c +++ b/opcodes/frv-desc.c @@ -84,6 +84,7 @@ static const CGEN_ATTR_ENTRY UNIT_attr[] = { "B01", UNIT_B01 }, { "C", UNIT_C }, { "MULT_DIV", UNIT_MULT_DIV }, + { "IACC", UNIT_IACC }, { "LOAD", UNIT_LOAD }, { "STORE", UNIT_STORE }, { "SCAN", UNIT_SCAN }, @@ -2397,17 +2398,17 @@ static const CGEN_IBASE frv_cgen_insn_table[MAX_INSNS] = /* smu$pack $GRi,$GRj */ { FRV_INSN_SMU, "smu", "smu", 32, - { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } + { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } }, /* smass$pack $GRi,$GRj */ { FRV_INSN_SMASS, "smass", "smass", 32, - { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } + { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } }, /* smsss$pack $GRi,$GRj */ { FRV_INSN_SMSSS, "smsss", "smsss", 32, - { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } + { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } } }, /* sll$pack $GRi,$GRj,$GRk */ { diff --git a/opcodes/frv-desc.h b/opcodes/frv-desc.h index 5f72800379d..f46c3f957c1 100644 --- a/opcodes/frv-desc.h +++ b/opcodes/frv-desc.h @@ -549,9 +549,9 @@ typedef enum unit_attr { , UNIT_I2, UNIT_I3, UNIT_IALL, UNIT_FM0 , UNIT_FM1, UNIT_FM01, UNIT_FM2, UNIT_FM3 , UNIT_FMALL, UNIT_FMLOW, UNIT_B0, UNIT_B1 - , UNIT_B01, UNIT_C, UNIT_MULT_DIV, UNIT_LOAD - , UNIT_STORE, UNIT_SCAN, UNIT_DCPL, UNIT_MDUALACC - , UNIT_MCLRACC_1, UNIT_NUM_UNITS + , UNIT_B01, UNIT_C, UNIT_MULT_DIV, UNIT_IACC + , UNIT_LOAD, UNIT_STORE, UNIT_SCAN, UNIT_DCPL + , UNIT_MDUALACC, UNIT_MCLRACC_1, UNIT_NUM_UNITS } UNIT_ATTR; /* Enum declaration for fr400 major insn categories. */ diff --git a/opcodes/frv-opc.c b/opcodes/frv-opc.c index 61bdb4530eb..1560d207dce 100644 --- a/opcodes/frv-opc.c +++ b/opcodes/frv-opc.c @@ -239,6 +239,7 @@ static CGEN_ATTR_VALUE_TYPE fr400_unit_mapping[] = /* B01 */ UNIT_B0, /* C */ UNIT_C, /* MULT-DIV */ UNIT_I0, /* multiply and divide only in I0 unit. */ +/* IACC */ UNIT_I01, /* iacc multiply in I0 or I1 unit. */ /* LOAD */ UNIT_I0, /* load only in I0 unit. */ /* STORE */ UNIT_I0, /* store only in I0 unit. */ /* SCAN */ UNIT_I0, /* scan only in I0 unit. */ @@ -269,6 +270,7 @@ static CGEN_ATTR_VALUE_TYPE fr500_unit_mapping[] = /* B01 */ UNIT_B01, /* C */ UNIT_C, /* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */ +/* IACC */ UNIT_NIL, /* iacc multiply not implemented */ /* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */ /* STORE */ UNIT_I0, /* store only in I0 unit. */ /* SCAN */ UNIT_I01, /* scan in I0 or I1 unit. */ @@ -299,6 +301,7 @@ static CGEN_ATTR_VALUE_TYPE fr550_unit_mapping[] = /* B01 */ UNIT_B01, /* C */ UNIT_C, /* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */ +/* IACC */ UNIT_NIL, /* iacc multiply not implemented. */ /* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */ /* STORE */ UNIT_I01, /* store in I0 or I1 unit. */ /* SCAN */ UNIT_IALL, /* scan in any integer unit. */ |