gprofng: include percentages in default metrics list
[binutils-gdb.git] / opcodes / nios2-dis.c
index 0d6d6196be5df7b3fff46ca2d132ad42871b6112..5e651b6c77907087ff8738e1ce63b41f03ab9f23 100644 (file)
@@ -1,5 +1,5 @@
 /* Altera Nios II disassemble routines
-   Copyright (C) 2012-2020 Free Software Foundation, Inc.
+   Copyright (C) 2012-2022 Free Software Foundation, Inc.
    Contributed by Nigel Gray (ngray@altera.com).
    Contributed by Mentor Graphics, Inc.
 
@@ -73,7 +73,7 @@ typedef struct _nios2_disassembler_state
   nios2_opcode_hash *hash[OPCODE_HASH_SIZE];
   nios2_opcode_hash *ps_hash[OPCODE_HASH_SIZE];
   const struct nios2_opcode *nop;
-  bfd_boolean init;
+  bool init;
 } nios2_disassembler_state;
 
 static nios2_disassembler_state
@@ -276,7 +276,7 @@ nios2_print_insn_arg (const char *argptr,
 {
   unsigned long i = 0;
   long s = 0;
-  bfd_signed_vma o = 0;
+  int32_t o = 0;
   struct nios2_reg *reg_base;
 
   switch (*argptr)
@@ -554,10 +554,12 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_i_type:
-         s = ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
+         s = ((int32_t) ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000)
+              - 0x8000);
          break;
        case iw_F2I16_type:
-         s = ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
+         s = ((int32_t) ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000)
+              - 0x8000);
          break;
        default:
          bad_opcode (op);
@@ -570,10 +572,12 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_F2X4I12_type:
-         s = ((GET_IW_F2X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
+         s = ((int32_t) ((GET_IW_F2X4I12_IMM12 (opcode) & 0xfff) ^ 0x800)
+              - 0x800);
          break;
        case iw_F1X4I12_type:
-         s = ((GET_IW_F1X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
+         s = ((int32_t) ((GET_IW_F1X4I12_IMM12 (opcode) & 0xfff) ^ 0x800)
+              - 0x800);
          break;
        default:
          bad_opcode (op);
@@ -690,7 +694,7 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_I10_type:
-         o = (((GET_IW_I10_IMM10 (opcode) & 0x3ff) ^ 0x400) - 0x400) << 1;
+         o = (((GET_IW_I10_IMM10 (opcode) & 0x3ff) ^ 0x200) - 0x200) * 2;
          break;
        default:
          bad_opcode (op);
@@ -704,7 +708,7 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_T1I7_type:
-         o = (((GET_IW_T1I7_IMM7 (opcode) & 0x7f) ^ 0x40) - 0x40) << 1;
+         o = (((GET_IW_T1I7_IMM7 (opcode) & 0x7f) ^ 0x40) - 0x40) * 2;
          break;
        default:
          bad_opcode (op);