* gencode.c (build_mips16_operands): Correct computation of base
authorIan Lance Taylor <ian@airs.com>
Thu, 13 Feb 1997 19:08:55 +0000 (19:08 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 13 Feb 1997 19:08:55 +0000 (19:08 +0000)
address for extended PC relative instruction.

sim/mips/gencode.c

index 7518746a2a8d2bc22bc2b5b012bd76f140d28022..f5541fbfa89bc2441c854887900cb7caba4e86a7 100644 (file)
@@ -1523,7 +1523,7 @@ build_mips16_operands (bitmap)
            {
              int j;
 
-             printf ("((INDELAYSLOT () ? (INJALDELAYSLOT () ? IPC - 4 : IPC - 2) : IPC) & ~ (uword64) 1)");
+             printf ("((INDELAYSLOT () ? (INJALDELAYSLOT () ? IPC - 4 : IPC - 2) : (have_extendval ? IPC - 2 : IPC)) & ~ (uword64) 1)");
              for (j = 0; j < opindex; j++)
                if (ops[j]->shift != 0)
                  printf (" & ~ (uword64) 0x%x", (1 << ops[j]->shift) - 1);