regenerate, get displacement operand shifts right
authorDoug Evans <dje@google.com>
Tue, 21 Jul 1998 23:46:56 +0000 (23:46 +0000)
committerDoug Evans <dje@google.com>
Tue, 21 Jul 1998 23:46:56 +0000 (23:46 +0000)
opcodes/m32r-asm.c

index 8f73dc57e860633e70f25cd0fa1aa17b22ce7c33..0531c64e1e94041f1553c3826d38e65ea69090ed 100644 (file)
@@ -394,21 +394,21 @@ m32r_cgen_insert_operand (opindex, fields, buffer, pc)
     case M32R_OPERAND_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);
       }
       break;
     case M32R_OPERAND_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);
       }
       break;
     case M32R_OPERAND_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);
       }
       break;