* 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];