From 87f8eb977e936160d4c332d88a8bce3db690521c Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Thu, 22 Feb 2001 03:16:21 +0000 Subject: 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. --- opcodes/ia64-opc-d.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'opcodes/ia64-opc-d.c') 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}}, -- cgit v1.1