diff options
Diffstat (limited to 'opcodes/frv-ibld.c')
-rw-r--r-- | opcodes/frv-ibld.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/opcodes/frv-ibld.c b/opcodes/frv-ibld.c index 03686f8..81aef09 100644 --- a/opcodes/frv-ibld.c +++ b/opcodes/frv-ibld.c @@ -731,6 +731,9 @@ frv_cgen_insert_operand (cd, opindex, fields, buffer, pc) case FRV_OPERAND_AE : errmsg = insert_normal (cd, fields->f_ae, 0, 0, 25, 1, 32, total_length, buffer); break; + case FRV_OPERAND_CALLANN : + errmsg = insert_normal (cd, fields->f_reloc_ann, 0, 0, 0, 0, 32, total_length, buffer); + break; case FRV_OPERAND_CCOND : errmsg = insert_normal (cd, fields->f_ccond, 0, 0, 12, 1, 32, total_length, buffer); break; @@ -776,6 +779,12 @@ frv_cgen_insert_operand (cd, opindex, fields, buffer, pc) break; } break; + case FRV_OPERAND_LDANN : + errmsg = insert_normal (cd, fields->f_reloc_ann, 0, 0, 0, 0, 32, total_length, buffer); + break; + case FRV_OPERAND_LDDANN : + errmsg = insert_normal (cd, fields->f_reloc_ann, 0, 0, 0, 0, 32, total_length, buffer); + break; case FRV_OPERAND_LOCK : errmsg = insert_normal (cd, fields->f_lock, 0, 0, 25, 1, 32, total_length, buffer); break; @@ -1049,6 +1058,9 @@ frv_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc) case FRV_OPERAND_AE : length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 1, 32, total_length, pc, & fields->f_ae); break; + case FRV_OPERAND_CALLANN : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 0, 32, total_length, pc, & fields->f_reloc_ann); + break; case FRV_OPERAND_CCOND : length = extract_normal (cd, ex_info, insn_value, 0, 0, 12, 1, 32, total_length, pc, & fields->f_ccond); break; @@ -1092,6 +1104,12 @@ frv_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc) } } break; + case FRV_OPERAND_LDANN : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 0, 32, total_length, pc, & fields->f_reloc_ann); + break; + case FRV_OPERAND_LDDANN : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 0, 32, total_length, pc, & fields->f_reloc_ann); + break; case FRV_OPERAND_LOCK : length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 1, 32, total_length, pc, & fields->f_lock); break; @@ -1350,6 +1368,9 @@ frv_cgen_get_int_operand (cd, opindex, fields) case FRV_OPERAND_AE : value = fields->f_ae; break; + case FRV_OPERAND_CALLANN : + value = fields->f_reloc_ann; + break; case FRV_OPERAND_CCOND : value = fields->f_ccond; break; @@ -1380,6 +1401,12 @@ frv_cgen_get_int_operand (cd, opindex, fields) case FRV_OPERAND_LABEL24 : value = fields->f_label24; break; + case FRV_OPERAND_LDANN : + value = fields->f_reloc_ann; + break; + case FRV_OPERAND_LDDANN : + value = fields->f_reloc_ann; + break; case FRV_OPERAND_LOCK : value = fields->f_lock; break; @@ -1602,6 +1629,9 @@ frv_cgen_get_vma_operand (cd, opindex, fields) case FRV_OPERAND_AE : value = fields->f_ae; break; + case FRV_OPERAND_CALLANN : + value = fields->f_reloc_ann; + break; case FRV_OPERAND_CCOND : value = fields->f_ccond; break; @@ -1632,6 +1662,12 @@ frv_cgen_get_vma_operand (cd, opindex, fields) case FRV_OPERAND_LABEL24 : value = fields->f_label24; break; + case FRV_OPERAND_LDANN : + value = fields->f_reloc_ann; + break; + case FRV_OPERAND_LDDANN : + value = fields->f_reloc_ann; + break; case FRV_OPERAND_LOCK : value = fields->f_lock; break; @@ -1863,6 +1899,9 @@ frv_cgen_set_int_operand (cd, opindex, fields, value) case FRV_OPERAND_AE : fields->f_ae = value; break; + case FRV_OPERAND_CALLANN : + fields->f_reloc_ann = value; + break; case FRV_OPERAND_CCOND : fields->f_ccond = value; break; @@ -1893,6 +1932,12 @@ frv_cgen_set_int_operand (cd, opindex, fields, value) case FRV_OPERAND_LABEL24 : fields->f_label24 = value; break; + case FRV_OPERAND_LDANN : + fields->f_reloc_ann = value; + break; + case FRV_OPERAND_LDDANN : + fields->f_reloc_ann = value; + break; case FRV_OPERAND_LOCK : fields->f_lock = value; break; @@ -2112,6 +2157,9 @@ frv_cgen_set_vma_operand (cd, opindex, fields, value) case FRV_OPERAND_AE : fields->f_ae = value; break; + case FRV_OPERAND_CALLANN : + fields->f_reloc_ann = value; + break; case FRV_OPERAND_CCOND : fields->f_ccond = value; break; @@ -2142,6 +2190,12 @@ frv_cgen_set_vma_operand (cd, opindex, fields, value) case FRV_OPERAND_LABEL24 : fields->f_label24 = value; break; + case FRV_OPERAND_LDANN : + fields->f_reloc_ann = value; + break; + case FRV_OPERAND_LDDANN : + fields->f_reloc_ann = value; + break; case FRV_OPERAND_LOCK : fields->f_lock = value; break; |