regenerate, get displacement operand shifts right

This commit is contained in:
Doug Evans
1998-07-21 23:46:56 +00:00
parent cac4e5a481
commit b00ea55caf

View File

@ -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;