From ac1b0e6d011306988d78708017c4b0035f801982 Mon Sep 17 00:00:00 2001 From: Dave Brolley Date: Fri, 4 Dec 1998 22:08:56 +0000 Subject: [PATCH] Fri Dec 4 17:08:08 1998 Dave Brolley * fr30-asm.c,fr30-dis.c,fr30-opc.c,fr30-opc.h: Regenerated. --- opcodes/ChangeLog | 8 + opcodes/fr30-asm.c | 50 +++--- opcodes/fr30-dis.c | 58 ++++--- opcodes/fr30-opc.c | 425 +++++++++++++++++++++++++++++++++------------ opcodes/fr30-opc.h | 11 +- 5 files changed, 389 insertions(+), 163 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 10c17b5ac0..30fc9d0a44 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,4 +1,12 @@ start-sanitize-fr30 +Fri Dec 4 17:08:08 1998 Dave Brolley + + * fr30-asm.c,fr30-dis.c,fr30-opc.c,fr30-opc.h: Regenerated. + +Thu Dec 3 14:26:20 1998 Dave Brolley + + * fr30-asm.c,fr30-dis.c,fr30-opc.c,fr30-opc.h: Regenerated. + Thu Dec 3 00:09:17 1998 Doug Evans * fr30-asm.c,fr30-dis.c,fr30-opc.c,fr30-opc.h: Regenerate. diff --git a/opcodes/fr30-asm.c b/opcodes/fr30-asm.c index 32b47a3109..54418bf2c1 100644 --- a/opcodes/fr30-asm.c +++ b/opcodes/fr30-asm.c @@ -157,9 +157,6 @@ fr30_cgen_parse_operand (od, opindex, strp, fields) case FR30_OPERAND_U4C : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_U4C, &fields->f_u4c); break; - case FR30_OPERAND_M4 : - errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_M4, &fields->f_m4); - break; case FR30_OPERAND_U8 : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_U8, &fields->f_u8); break; @@ -187,16 +184,12 @@ fr30_cgen_parse_operand (od, opindex, strp, fields) case FR30_OPERAND_I32 : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_I32, &fields->f_i32); break; + case FR30_OPERAND_M4 : + errmsg = cgen_parse_signed_integer (od, strp, FR30_OPERAND_M4, &fields->f_m4); + break; case FR30_OPERAND_I20 : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_I20, &fields->f_i20); break; - case FR30_OPERAND_LABEL9 : - { - bfd_vma value; - errmsg = cgen_parse_address (od, strp, FR30_OPERAND_LABEL9, 0, NULL, & value); - fields->f_rel9 = value; - } - break; case FR30_OPERAND_DIR8 : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_DIR8, &fields->f_dir8); break; @@ -206,6 +199,13 @@ fr30_cgen_parse_operand (od, opindex, strp, fields) case FR30_OPERAND_DIR10 : errmsg = cgen_parse_unsigned_integer (od, strp, FR30_OPERAND_DIR10, &fields->f_dir10); break; + case FR30_OPERAND_LABEL9 : + { + bfd_vma value; + errmsg = cgen_parse_address (od, strp, FR30_OPERAND_LABEL9, 0, NULL, & value); + fields->f_rel9 = value; + } + break; case FR30_OPERAND_LABEL12 : { bfd_vma value; @@ -305,13 +305,6 @@ fr30_cgen_insert_operand (od, opindex, fields, buffer, pc) case FR30_OPERAND_U4C : errmsg = insert_normal (od, fields->f_u4c, 0|(1<f_m4; - value = ((value) & (15)); - errmsg = insert_normal (od, value, 0|(1<f_u8, 0|(1<f_i32, 0|(1<f_m4; + value = ((value) & (15)); + errmsg = insert_normal (od, value, 0|(1<f_rel9; - value = ((int) (((value) - (((pc) + (2))))) >> (1)); - errmsg = insert_normal (od, value, 0|(1<f_dir8, 0|(1<f_rel9; + value = ((int) (((value) - (((pc) + (2))))) >> (1)); + errmsg = insert_normal (od, value, 0|(1<f_rel12; - value = ((int) (((value) - (((pc) & (-2))))) >> (1)); + value = ((int) (((value) - (((pc) + (2))))) >> (1)); errmsg = insert_normal (od, value, 0|(1<fprintf_func) (info->stream, "%ld", value); +} /* -- */ /* Main entry point for operand extraction. @@ -184,14 +196,6 @@ fr30_cgen_extract_operand (od, opindex, ex_info, insn_value, fields, pc) case FR30_OPERAND_U4C : length = extract_normal (od, ex_info, insn_value, 0|(1<f_u4c); break; - case FR30_OPERAND_M4 : - { - long value; - length = extract_normal (od, ex_info, insn_value, 0|(1<f_m4 = value; - } - break; case FR30_OPERAND_U8 : length = extract_normal (od, ex_info, insn_value, 0|(1<f_u8); break; @@ -244,6 +248,14 @@ fr30_cgen_extract_operand (od, opindex, ex_info, insn_value, fields, pc) case FR30_OPERAND_I32 : length = extract_normal (od, ex_info, insn_value, 0|(1<f_i32); break; + case FR30_OPERAND_M4 : + { + long value; + length = extract_normal (od, ex_info, insn_value, 0|(1<f_m4 = value; + } + break; case FR30_OPERAND_I20 : { length = extract_normal (od, ex_info, insn_value, 0|(1<f_i20_4); @@ -253,14 +265,6 @@ do { } while (0); } break; - case FR30_OPERAND_LABEL9 : - { - long value; - length = extract_normal (od, ex_info, insn_value, 0|(1<f_rel9 = value; - } - break; case FR30_OPERAND_DIR8 : length = extract_normal (od, ex_info, insn_value, 0|(1<f_dir8); break; @@ -280,11 +284,19 @@ do { fields->f_dir10 = value; } break; + case FR30_OPERAND_LABEL9 : + { + long value; + length = extract_normal (od, ex_info, insn_value, 0|(1<f_rel9 = value; + } + break; case FR30_OPERAND_LABEL12 : { long value; length = extract_normal (od, ex_info, insn_value, 0|(1<f_rel12 = value; } break; @@ -379,9 +391,6 @@ fr30_cgen_print_operand (od, opindex, info, fields, attrs, pc, length) case FR30_OPERAND_U4C : print_normal (od, info, fields->f_u4c, 0|(1<f_m4, 0|(1<f_u8, 0|(1<f_i32, 0|(1<f_m4, 0|(1<f_i20, 0|(1<f_rel9, 0|(1<f_dir8, 0|(1<f_dir10, 0|(1<f_rel9, 0|(1<f_rel12, 0|(1<f_i20; break; - case FR30_OPERAND_LABEL9 : - value = fields->f_rel9; - break; case FR30_OPERAND_DIR8 : value = fields->f_dir8; break; @@ -3096,6 +3298,9 @@ fr30_cgen_get_int_operand (opindex, fields) case FR30_OPERAND_DIR10 : value = fields->f_dir10; break; + case FR30_OPERAND_LABEL9 : + value = fields->f_rel9; + break; case FR30_OPERAND_LABEL12 : value = fields->f_rel12; break; @@ -3206,9 +3411,6 @@ fr30_cgen_get_vma_operand (opindex, fields) case FR30_OPERAND_I20 : value = fields->f_i20; break; - case FR30_OPERAND_LABEL9 : - value = fields->f_rel9; - break; case FR30_OPERAND_DIR8 : value = fields->f_dir8; break; @@ -3218,6 +3420,9 @@ fr30_cgen_get_vma_operand (opindex, fields) case FR30_OPERAND_DIR10 : value = fields->f_dir10; break; + case FR30_OPERAND_LABEL9 : + value = fields->f_rel9; + break; case FR30_OPERAND_LABEL12 : value = fields->f_rel12; break; @@ -3332,9 +3537,6 @@ fr30_cgen_set_int_operand (opindex, fields, value) case FR30_OPERAND_I20 : fields->f_i20 = value; break; - case FR30_OPERAND_LABEL9 : - fields->f_rel9 = value; - break; case FR30_OPERAND_DIR8 : fields->f_dir8 = value; break; @@ -3344,6 +3546,9 @@ fr30_cgen_set_int_operand (opindex, fields, value) case FR30_OPERAND_DIR10 : fields->f_dir10 = value; break; + case FR30_OPERAND_LABEL9 : + fields->f_rel9 = value; + break; case FR30_OPERAND_LABEL12 : fields->f_rel12 = value; break; @@ -3451,9 +3656,6 @@ fr30_cgen_set_vma_operand (opindex, fields, value) case FR30_OPERAND_I20 : fields->f_i20 = value; break; - case FR30_OPERAND_LABEL9 : - fields->f_rel9 = value; - break; case FR30_OPERAND_DIR8 : fields->f_dir8 = value; break; @@ -3463,6 +3665,9 @@ fr30_cgen_set_vma_operand (opindex, fields, value) case FR30_OPERAND_DIR10 : fields->f_dir10 = value; break; + case FR30_OPERAND_LABEL9 : + fields->f_rel9 = value; + break; case FR30_OPERAND_LABEL12 : fields->f_rel12 = value; break; diff --git a/opcodes/fr30-opc.h b/opcodes/fr30-opc.h index ae0342778b..bfd2a6238d 100644 --- a/opcodes/fr30-opc.h +++ b/opcodes/fr30-opc.h @@ -152,11 +152,12 @@ typedef enum cgen_operand_type { , FR30_OPERAND_PS, FR30_OPERAND_U4, FR30_OPERAND_U4C, FR30_OPERAND_U8 , FR30_OPERAND_I8, FR30_OPERAND_UDISP6, FR30_OPERAND_DISP8, FR30_OPERAND_DISP9 , FR30_OPERAND_DISP10, FR30_OPERAND_S10, FR30_OPERAND_U10, FR30_OPERAND_I32 - , FR30_OPERAND_M4, FR30_OPERAND_I20, FR30_OPERAND_LABEL9, FR30_OPERAND_DIR8 - , FR30_OPERAND_DIR9, FR30_OPERAND_DIR10, FR30_OPERAND_LABEL12, FR30_OPERAND_REGLIST_LOW + , FR30_OPERAND_M4, FR30_OPERAND_I20, FR30_OPERAND_DIR8, FR30_OPERAND_DIR9 + , FR30_OPERAND_DIR10, FR30_OPERAND_LABEL9, FR30_OPERAND_LABEL12, FR30_OPERAND_REGLIST_LOW , FR30_OPERAND_REGLIST_HI, FR30_OPERAND_CC, FR30_OPERAND_CCC, FR30_OPERAND_NBIT , FR30_OPERAND_VBIT, FR30_OPERAND_ZBIT, FR30_OPERAND_CBIT, FR30_OPERAND_IBIT - , FR30_OPERAND_SBIT, FR30_OPERAND_CCR, FR30_OPERAND_MAX + , FR30_OPERAND_SBIT, FR30_OPERAND_CCR, FR30_OPERAND_SCR, FR30_OPERAND_ILM + , FR30_OPERAND_MAX } CGEN_OPERAND_TYPE; /* Non-boolean attributes. */ @@ -257,7 +258,7 @@ typedef enum cgen_insn_type { , FR30_INSN_STR15DR, FR30_INSN_STR15PS, FR30_INSN_MOV, FR30_INSN_MOVDR , FR30_INSN_MOVPS, FR30_INSN_MOV2DR, FR30_INSN_MOV2PS, FR30_INSN_JMP , FR30_INSN_JMPD, FR30_INSN_CALLR, FR30_INSN_CALLRD, FR30_INSN_CALL - , FR30_INSN_CALLD, FR30_INSN_RET, FR30_INSN_RETD, FR30_INSN_INT + , FR30_INSN_CALLD, FR30_INSN_RET, FR30_INSN_RET_D, FR30_INSN_INT , FR30_INSN_INTE, FR30_INSN_RETI, FR30_INSN_BRA, FR30_INSN_BRAD , FR30_INSN_BNO, FR30_INSN_BNOD, FR30_INSN_BEQ, FR30_INSN_BEQD , FR30_INSN_BNE, FR30_INSN_BNED, FR30_INSN_BC, FR30_INSN_BCD @@ -343,7 +344,7 @@ typedef enum hw_type { , HW_H_DR, HW_H_PS, HW_H_R13, HW_H_R14 , HW_H_R15, HW_H_NBIT, HW_H_ZBIT, HW_H_VBIT , HW_H_CBIT, HW_H_IBIT, HW_H_SBIT, HW_H_CCR - , HW_MAX + , HW_H_SCR, HW_H_ILM, HW_MAX } HW_TYPE; #define MAX_HW ((int) HW_MAX) -- 2.34.1