Make add_separate_debug_objfile static
[deliverable/binutils-gdb.git] / opcodes / nios2-dis.c
index 2d63eeda86d3cdef841bcb75fff9ac398b6ff131..731860c40986881ac64be6a43333cbddd195ea50 100644 (file)
@@ -554,10 +554,10 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_i_type:
-         s = (int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+         s = ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
          break;
        case iw_F2I16_type:
-         s = (int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16;
+         s = ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
          break;
        default:
          bad_opcode (op);
@@ -570,10 +570,10 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_F2X4I12_type:
-         s = (int32_t) (GET_IW_F2X4I12_IMM12 (opcode) << 20) >> 20;
+         s = ((GET_IW_F2X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
          break;
        case iw_F1X4I12_type:
-         s = (int32_t) (GET_IW_F1X4I12_IMM12 (opcode) << 20) >> 20;
+         s = ((GET_IW_F1X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
          break;
        default:
          bad_opcode (op);
@@ -673,10 +673,10 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_i_type:
-         o = (int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+         o = ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
          break;
        case iw_F2I16_type:
-         o = (int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16;
+         o = ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
          break;
        default:
          bad_opcode (op);
@@ -690,7 +690,7 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_I10_type:
-         o = (int32_t) (GET_IW_I10_IMM10 (opcode) << 22) >> 21;
+         o = (((GET_IW_I10_IMM10 (opcode) & 0x3ff) ^ 0x400) - 0x400) << 1;
          break;
        default:
          bad_opcode (op);
@@ -704,7 +704,7 @@ nios2_print_insn_arg (const char *argptr,
       switch (op->format)
        {
        case iw_T1I7_type:
-         o = (int32_t) (GET_IW_T1I7_IMM7 (opcode) << 25) >> 24;
+         o = (((GET_IW_T1I7_IMM7 (opcode) & 0x7f) ^ 0x40) - 0x40) << 1;
          break;
        default:
          bad_opcode (op);
@@ -867,7 +867,7 @@ nios2_print_insn_arg (const char *argptr,
 
          case iw_L5I4X1_type:
            /* Encoding for push.n/pop.n.  */
-           reglist |= (1 << 31);
+           reglist |= (1u << 31);
            if (GET_IW_L5I4X1_FP (opcode))
              reglist |= (1 << 28);
            if (GET_IW_L5I4X1_CS (opcode))
This page took 0.024862 seconds and 4 git commands to generate.