summaryrefslogtreecommitdiff
path: root/opcodes/m32c-ibld.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2005-10-27 23:54:17 +0000
committerDJ Delorie <dj@redhat.com>2005-10-27 23:54:17 +0000
commitc6552317c1a647069ce947335e8adae600c60c69 (patch)
treeaeb0c5665d557c80baff12e16cca423fcea76c33 /opcodes/m32c-ibld.c
parent53dfbcc78f1d68abc39fda3660f544e931aa2237 (diff)
downloadbinutils-gdb-c6552317c1a647069ce947335e8adae600c60c69.tar.gz
* m32c.cpu (Imm-8-s4n, Imm-12-s4n): New.
(arith-jnz16-imm4-dst-defn, arith-jnz32-imm4-dst-defn, arith-jnz-imm4-dst-mach, arith-jnz-imm4-dst): Keep track of which imm operand is needed. (adjnz, sbjnz): Pass the right operands. (unary-insn-defn, unary16-defn, unary32-defn, unary-insn-mach, unary-insn): Add -g variants for opcodes that need to support :G. (not.BW:G, push.BW:G): Call it. (stzx16-imm8-imm8-dsp8sb, stzx16-imm8-imm8-dsp8fb, stzx16-imm8-imm8-abs16): Fix operand typos. * m32c.opc (m32c_asm_hash): Support bnCND. (parse_signed4n, print_signed4n): New. * m32c-asm.c: Regenerate. * m32c-desc.c: Regenerate. * m32c-desc.h: Regenerate. * m32c-dis.c: Regenerate. * m32c-ibld.c: Regenerate. * m32c-opc.c: Regenerate. * m32c-opc.h: Regenerate.
Diffstat (limited to 'opcodes/m32c-ibld.c')
-rw-r--r--opcodes/m32c-ibld.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/opcodes/m32c-ibld.c b/opcodes/m32c-ibld.c
index c78d1f25f78..16f0048e3b0 100644
--- a/opcodes/m32c-ibld.c
+++ b/opcodes/m32c-ibld.c
@@ -1174,6 +1174,9 @@ m32c_cgen_insert_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_IMM_12_S4 :
errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
+ break;
case M32C_OPERAND_IMM_13_U3 :
errmsg = insert_normal (cd, fields->f_imm_13_u3, 0, 0, 13, 3, 32, total_length, buffer);
break;
@@ -1361,6 +1364,9 @@ m32c_cgen_insert_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_IMM_8_S4 :
errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ errmsg = insert_normal (cd, fields->f_imm_8_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, buffer);
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
errmsg = insert_normal (cd, fields->f_imm_12_s4, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, buffer);
break;
@@ -2298,6 +2304,9 @@ m32c_cgen_extract_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_IMM_12_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
+ break;
case M32C_OPERAND_IMM_13_U3 :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 3, 32, total_length, pc, & fields->f_imm_13_u3);
break;
@@ -2480,6 +2489,9 @@ m32c_cgen_extract_operand (CGEN_CPU_DESC cd,
case M32C_OPERAND_IMM_8_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 8, 4, 32, total_length, pc, & fields->f_imm_8_s4);
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED), 0, 12, 4, 32, total_length, pc, & fields->f_imm_12_s4);
break;
@@ -3106,6 +3118,9 @@ m32c_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_12_S4 :
value = fields->f_imm_12_s4;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ value = fields->f_imm_12_s4;
+ break;
case M32C_OPERAND_IMM_13_U3 :
value = fields->f_imm_13_u3;
break;
@@ -3175,6 +3190,9 @@ m32c_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_8_S4 :
value = fields->f_imm_8_s4;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ value = fields->f_imm_8_s4;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
value = fields->f_imm_12_s4;
break;
@@ -3690,6 +3708,9 @@ m32c_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_12_S4 :
value = fields->f_imm_12_s4;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ value = fields->f_imm_12_s4;
+ break;
case M32C_OPERAND_IMM_13_U3 :
value = fields->f_imm_13_u3;
break;
@@ -3759,6 +3780,9 @@ m32c_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_8_S4 :
value = fields->f_imm_8_s4;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ value = fields->f_imm_8_s4;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
value = fields->f_imm_12_s4;
break;
@@ -4276,6 +4300,9 @@ m32c_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_12_S4 :
fields->f_imm_12_s4 = value;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ fields->f_imm_12_s4 = value;
+ break;
case M32C_OPERAND_IMM_13_U3 :
fields->f_imm_13_u3 = value;
break;
@@ -4345,6 +4372,9 @@ m32c_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_8_S4 :
fields->f_imm_8_s4 = value;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ fields->f_imm_8_s4 = value;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
fields->f_imm_12_s4 = value;
break;
@@ -4838,6 +4868,9 @@ m32c_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_12_S4 :
fields->f_imm_12_s4 = value;
break;
+ case M32C_OPERAND_IMM_12_S4N :
+ fields->f_imm_12_s4 = value;
+ break;
case M32C_OPERAND_IMM_13_U3 :
fields->f_imm_13_u3 = value;
break;
@@ -4907,6 +4940,9 @@ m32c_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
case M32C_OPERAND_IMM_8_S4 :
fields->f_imm_8_s4 = value;
break;
+ case M32C_OPERAND_IMM_8_S4N :
+ fields->f_imm_8_s4 = value;
+ break;
case M32C_OPERAND_IMM_SH_12_S4 :
fields->f_imm_12_s4 = value;
break;