summaryrefslogtreecommitdiff
path: root/opcodes/iq2000-ibld.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-10-27 09:30:09 +0000
committerNick Clifton <nickc@redhat.com>2004-10-27 09:30:09 +0000
commit629b6fa5a9b31fb6578159b3e411aa41bbb10ac1 (patch)
tree923104c5fd5f32cb1bba23569a6ee6cd4202d389 /opcodes/iq2000-ibld.c
parent36d8a1325be1b645e250f3c6889d8a15fbf5a6a2 (diff)
downloadbinutils-redhat-629b6fa5a9b31fb6578159b3e411aa41bbb10ac1.tar.gz
Add an index operand to some of the iq2000 co-processor instructions
Diffstat (limited to 'opcodes/iq2000-ibld.c')
-rw-r--r--opcodes/iq2000-ibld.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/opcodes/iq2000-ibld.c b/opcodes/iq2000-ibld.c
index f0640f0774..f8dedf45d4 100644
--- a/opcodes/iq2000-ibld.c
+++ b/opcodes/iq2000-ibld.c
@@ -571,6 +571,9 @@ iq2000_cgen_insert_operand (cd, opindex, fields, buffer, pc)
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ errmsg = insert_normal (cd, fields->f_index, 0, 0, 8, 9, 32, total_length, buffer);
+ break;
case IQ2000_OPERAND_BASE :
errmsg = insert_normal (cd, fields->f_rs, 0, 0, 25, 5, 32, total_length, buffer);
break;
@@ -607,9 +610,6 @@ iq2000_cgen_insert_operand (cd, opindex, fields, buffer, pc)
case IQ2000_OPERAND_EXECODE :
errmsg = insert_normal (cd, fields->f_excode, 0, 0, 25, 20, 32, total_length, buffer);
break;
- case IQ2000_OPERAND_F_INDEX :
- errmsg = insert_normal (cd, fields->f_index, 0, 0, 8, 9, 32, total_length, buffer);
- break;
case IQ2000_OPERAND_HI16 :
errmsg = insert_normal (cd, fields->f_imm, 0, 0, 15, 16, 32, total_length, buffer);
break;
@@ -754,6 +754,9 @@ iq2000_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc)
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 9, 32, total_length, pc, & fields->f_index);
+ break;
case IQ2000_OPERAND_BASE :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 5, 32, total_length, pc, & fields->f_rs);
break;
@@ -790,9 +793,6 @@ iq2000_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc)
case IQ2000_OPERAND_EXECODE :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 20, 32, total_length, pc, & fields->f_excode);
break;
- case IQ2000_OPERAND_F_INDEX :
- length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 9, 32, total_length, pc, & fields->f_index);
- break;
case IQ2000_OPERAND_HI16 :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 16, 32, total_length, pc, & fields->f_imm);
break;
@@ -927,6 +927,9 @@ iq2000_cgen_get_int_operand (cd, opindex, fields)
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ value = fields->f_index;
+ break;
case IQ2000_OPERAND_BASE :
value = fields->f_rs;
break;
@@ -963,9 +966,6 @@ iq2000_cgen_get_int_operand (cd, opindex, fields)
case IQ2000_OPERAND_EXECODE :
value = fields->f_excode;
break;
- case IQ2000_OPERAND_F_INDEX :
- value = fields->f_index;
- break;
case IQ2000_OPERAND_HI16 :
value = fields->f_imm;
break;
@@ -1041,6 +1041,9 @@ iq2000_cgen_get_vma_operand (cd, opindex, fields)
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ value = fields->f_index;
+ break;
case IQ2000_OPERAND_BASE :
value = fields->f_rs;
break;
@@ -1077,9 +1080,6 @@ iq2000_cgen_get_vma_operand (cd, opindex, fields)
case IQ2000_OPERAND_EXECODE :
value = fields->f_excode;
break;
- case IQ2000_OPERAND_F_INDEX :
- value = fields->f_index;
- break;
case IQ2000_OPERAND_HI16 :
value = fields->f_imm;
break;
@@ -1164,6 +1164,9 @@ iq2000_cgen_set_int_operand (cd, opindex, fields, value)
{
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ fields->f_index = value;
+ break;
case IQ2000_OPERAND_BASE :
fields->f_rs = value;
break;
@@ -1200,9 +1203,6 @@ iq2000_cgen_set_int_operand (cd, opindex, fields, value)
case IQ2000_OPERAND_EXECODE :
fields->f_excode = value;
break;
- case IQ2000_OPERAND_F_INDEX :
- fields->f_index = value;
- break;
case IQ2000_OPERAND_HI16 :
fields->f_imm = value;
break;
@@ -1275,6 +1275,9 @@ iq2000_cgen_set_vma_operand (cd, opindex, fields, value)
{
switch (opindex)
{
+ case IQ2000_OPERAND__INDEX :
+ fields->f_index = value;
+ break;
case IQ2000_OPERAND_BASE :
fields->f_rs = value;
break;
@@ -1311,9 +1314,6 @@ iq2000_cgen_set_vma_operand (cd, opindex, fields, value)
case IQ2000_OPERAND_EXECODE :
fields->f_excode = value;
break;
- case IQ2000_OPERAND_F_INDEX :
- fields->f_index = value;
- break;
case IQ2000_OPERAND_HI16 :
fields->f_imm = value;
break;