* bfin-dis.c (MASKBITS): Use SIGNBIT.
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * bfin-dis.c (MASKBITS): Use SIGNBIT.
+
 2020-09-02  Cooper Qu  <cooper.qu@linux.alibaba.com>
 
        * csky-opc.h (csky_v2_opcodes): Move divul and divsl
 
 typedef long TIword;
 
 #define SIGNBIT(bits)       (1ul << ((bits) - 1))
-#define MASKBITS(val, bits) ((val) & ((1ul << (bits)) - 1))
+#define MASKBITS(val, bits) ((val) & ((SIGNBIT (bits) << 1) - 1))
 #define SIGNEXTEND(v, n)    ((MASKBITS (v, n) ^ SIGNBIT (n)) - SIGNBIT (n))
 
 #include "disassemble.h"