Make the assembler generate an error if there is an attempt to define a section with...
[deliverable/binutils-gdb.git] / opcodes / d30v-dis.c
index 8d96c28e6d987b19f501ea96075660c8e5e5f1a9..212d24a70830c3e7dd280ab6f3aa538d1ba868a3 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassemble D30V instructions.
-   Copyright (C) 1997-2019 Free Software Foundation, Inc.
+   Copyright (C) 1997-2020 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -271,14 +271,10 @@ print_insn (struct disassemble_info *info,
          /* IMM6S3 is unsigned.  */
          if (oper->flags & OPERAND_SIGNED || bits == 32)
            {
-             long max;
-             max = (1 << (bits - 1));
-             if (val & max)
+             unsigned int sign = 1u << (bits - 1);
+             if (val & sign)
                {
-                 if (bits == 32)
-                   val = -val;
-                 else
-                   val = -val & ((1 << bits) - 1);
+                 val = -val & (sign + sign - 1);
                  neg = 1;
                }
            }
@@ -303,13 +299,11 @@ print_insn (struct disassemble_info *info,
        {
          if (oper->flags & OPERAND_SIGNED)
            {
-             int max = (1 << (bits - 1));
+             unsigned int sign = 1u << (bits - 1);
 
-             if (val & max)
+             if (val & sign)
                {
-                 val = -val;
-                 if (bits < 32)
-                   val &= ((1 << bits) - 1);
+                 val = -val & (sign + sign - 1);
                  (*info->fprintf_func) (info->stream, "-");
                }
            }
This page took 0.025189 seconds and 4 git commands to generate.