diff options
author | Jim Wilson <wilson@tuliptree.org> | 2001-02-22 03:16:21 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2001-02-22 03:16:21 +0000 |
commit | 87f8eb977e936160d4c332d88a8bce3db690521c (patch) | |
tree | 1fa8f38d53a0c82edb0d50d47e634702cc3a6b6c /opcodes/ia64-opc-d.c | |
parent | aacc1edd3ae439544e7e1e2e03ff456b723eae02 (diff) | |
download | gdb-87f8eb977e936160d4c332d88a8bce3db690521c.zip gdb-87f8eb977e936160d4c332d88a8bce3db690521c.tar.gz gdb-87f8eb977e936160d4c332d88a8bce3db690521c.tar.bz2 |
Improve gas error messages for invalid instructions.
* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
C8 said "1" instead of "8". Clarify error string for IMM22:
"signed integer" instead of just "integer".
* config/tc-ia64.c (enum operand_match_result): New type.
(operand_match): Change return type to operand_match_result.
Fix all returns appropriately, adding support for returning the
out-of-range result.
(parse_operands): New locals result, error_pos, out_of_range_pos,
curr_out_of_range_pos. Rewrite operand matching loop to give better
error messages.
* ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
separate variants: one for IMM22 and the other for IMM14.
* ia64-asmtab.c: Regenerate.
Diffstat (limited to 'opcodes/ia64-opc-d.c')
-rw-r--r-- | opcodes/ia64-opc-d.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/opcodes/ia64-opc-d.c b/opcodes/ia64-opc-d.c index 6021d3b..27390f5 100644 --- a/opcodes/ia64-opc-d.c +++ b/opcodes/ia64-opc-d.c @@ -1,7 +1,9 @@ struct ia64_opcode ia64_opcodes_d[] = { {"add", IA64_TYPE_DYN, 1, 0, 0, - {IA64_OPND_R1, IA64_OPND_IMM22, IA64_OPND_R3}}, + {IA64_OPND_R1, IA64_OPND_IMM22, IA64_OPND_R3_2}}, + {"add", IA64_TYPE_DYN, 1, 0, 0, + {IA64_OPND_R1, IA64_OPND_IMM14, IA64_OPND_R3}}, {"break", IA64_TYPE_DYN, 0, 0, 0, {IA64_OPND_IMMU21}}, {"chk.s", IA64_TYPE_DYN, 0, 0, 0, {IA64_OPND_R2, IA64_OPND_TGT25b}}, {"mov", IA64_TYPE_DYN, 1, 0, 0, {IA64_OPND_R1, IA64_OPND_AR3}}, |