Fix incorrect calculation of conditional field when being extracted
from a previous decode.
This commit is contained in:
parent
d846a17c70
commit
8d3580d090
@ -1,3 +1,8 @@
|
||||
Wed Jul 29 10:07:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
* gen.c (gen_entry_expand_opcode): Extract the field value from an
|
||||
opcode using the correct location bits.
|
||||
|
||||
Tue Jul 28 11:19:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
* ld-insn.c (parse_insn_word): For constant conditional strings,
|
||||
|
@ -1039,8 +1039,17 @@ gen_entry_expand_opcode (gen_entry *table,
|
||||
/* the table entry fully
|
||||
specified the condition
|
||||
field's value */
|
||||
/* extract the field's value
|
||||
from the opcode */
|
||||
value = sub_val (t->opcode_nr, t->parent->opcode->last,
|
||||
first_pos, last_pos);
|
||||
condition->field->first, condition->field->last);
|
||||
/* this is a requirement of
|
||||
a conditonal field
|
||||
refering to another field */
|
||||
ASSERT ((condition->field->first - condition->field->last)
|
||||
== (first_pos - last_pos));
|
||||
printf ("value=%d, opcode_nr=%d, last=%d, [%d..%d]\n",
|
||||
value, t->opcode_nr, t->parent->opcode->last, condition->field->first, condition->field->last);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user