mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +08:00
regenerate, get displacement operand shifts right
This commit is contained in:
@ -394,21 +394,21 @@ m32r_cgen_insert_operand (opindex, fields, buffer, pc)
|
|||||||
case M32R_OPERAND_DISP8 :
|
case M32R_OPERAND_DISP8 :
|
||||||
{
|
{
|
||||||
long value = fields->f_disp8;
|
long value = fields->f_disp8;
|
||||||
value = ((((value) - (((pc) & (-4))))) >> (2));
|
value = ((int) (((value) - (((pc) & (-4))))) >> (2));
|
||||||
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 8, 8, CGEN_FIELDS_BITSIZE (fields), buffer);
|
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 8, 8, CGEN_FIELDS_BITSIZE (fields), buffer);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case M32R_OPERAND_DISP16 :
|
case M32R_OPERAND_DISP16 :
|
||||||
{
|
{
|
||||||
long value = fields->f_disp16;
|
long value = fields->f_disp16;
|
||||||
value = ((((value) - (pc))) >> (2));
|
value = ((int) (((value) - (pc))) >> (2));
|
||||||
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 16, 16, CGEN_FIELDS_BITSIZE (fields), buffer);
|
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 16, 16, CGEN_FIELDS_BITSIZE (fields), buffer);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case M32R_OPERAND_DISP24 :
|
case M32R_OPERAND_DISP24 :
|
||||||
{
|
{
|
||||||
long value = fields->f_disp24;
|
long value = fields->f_disp24;
|
||||||
value = ((((value) - (pc))) >> (2));
|
value = ((int) (((value) - (pc))) >> (2));
|
||||||
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 8, 24, CGEN_FIELDS_BITSIZE (fields), buffer);
|
errmsg = insert_normal (value, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), 8, 24, CGEN_FIELDS_BITSIZE (fields), buffer);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user