Fixes a 16 year old bug report, which even came with a patch.
opcodes/
	PR 1202
	* mcore-dis.c (print_insn_mcore): Correct loopt disassembly.
	Use unsigned int for inst.
gas/
	PR 1202
	* testsuite/gas/mcore/allinsn.d: Correct loopt expected output.
+2021-06-03  Alan Modra  <amodra@gmail.com>
+
+       PR 1202
+       * testsuite/gas/mcore/allinsn.d: Correct loopt expected output.
+
 2021-05-29  Alan Modra  <amodra@gmail.com>
 
        * testsuite/gas/ppc/raw.s,
 
   7e:  0041            ldq     r4-r7, \(r1\)
 
 0+080 <loopt>:
-  80:  048e            loopt   r8, 0x64
+  80:  048e            loopt   r8, 0x7e
 
 0+082 <LRW>:
   82:  7901            lrw     r9, 0x3C0C1BBA
 
+2021-06-03  Alan Modra  <amodra@gmail.com>
+
+       PR 1202
+       * mcore-dis.c (print_insn_mcore): Correct loopt disassembly.
+       Use unsigned int for inst.
+
 2021-06-02  Shahab Vahedi  <shahab@synopsys.com>
 
        * arc-dis.c (arc_option_arg_t): New enumeration.
 
   unsigned char ibytes[4];
   fprintf_ftype print_func = info->fprintf_func;
   void *stream = info->stream;
-  unsigned short inst;
+  unsigned int inst;
   unsigned int i;
   int status;
 
 
        case BL:
          {
-           uint32_t val = inst & 0x000F;
+           uint32_t val = memaddr + 2 + ((inst | ~0xF) << 1);
+
            (*print_func) (stream, "\t%s, 0x%x",
-                          grname[(inst >> 4) & 0xF],
-                          (uint32_t) (memaddr - (val << 1)));
+                          grname[(inst >> 4) & 0xF], val);
          }
          break;