* cr16-dis.c (cr16_match_opcode): Avoid shift left of signed value.
+2020-01-04  Alan Modra  <amodra@gmail.com>
+
+       * cr16-dis.c (cr16_match_opcode): Avoid shift left of signed value.
+
 2020-01-04  Alan Modra  <amodra@gmail.com>
 
        * crx-dis.c (match_opcode): Avoid shift left of signed value.
 
 {
   unsigned long mask;
   /* The instruction 'constant' opcode doesn't exceed 32 bits.  */
-  unsigned long doubleWord = (cr16_words[1]
-                            + (cr16_words[0] << 16)) & 0xffffffff;
+  unsigned long doubleWord = cr16_words[1] + ((unsigned) cr16_words[0] << 16);
 
   /* Start searching from end of instruction table.  */
   instruction = &cr16_instruction[NUMOPCODES - 2];