* config/tc-mips.c : Added vr4320 similar to vr4300.
authorGavin Romig-Koch <gavin@redhat.com>
Tue, 3 Mar 1998 16:45:13 +0000 (16:45 +0000)
committerGavin Romig-Koch <gavin@redhat.com>
Tue, 3 Mar 1998 16:45:13 +0000 (16:45 +0000)
gas/.Sanitize
gas/ChangeLog
gas/config/.Sanitize
gas/config/tc-mips.c

index 5592f21ba91a25ec9da6e27bcad1710893dc843e..1c49c5c598ffbd529cdbafb5dfc8df7e3c78ff53 100644 (file)
@@ -458,6 +458,34 @@ else
        done
 fi
 
+vr4320_files="ChangeLog"
+if ( echo $* | grep keep\-vr4320 > /dev/null ) ; then
+       for i in $vr4320_files ; do
+               if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Keeping vr4320 stuff in $i
+                       fi
+               fi
+       done
+else
+       for i in $vr4320_files ; do
+               if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Removing traces of \"vr4320\" from $i...
+                       fi
+                       cp $i new
+                       sed '/start\-sanitize\-vr4320/,/end-\sanitize\-vr4320/d' < $i > new
+                       if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+                               if [ -n "${verbose}" ] ; then
+                                       echo Caching $i in .Recover...
+                               fi
+                               mv $i .Recover
+                       fi
+                       mv new $i
+               fi
+       done
+fi
+
 for i in * ; do
        if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index 0d5afa483517cbe8b8b2009cf6705d6760203d2b..d0edb86cd441b96c1336bb724c2554a74401a499 100644 (file)
@@ -1,3 +1,9 @@
+start-sanitize-vr4320
+Tue Mar  3 11:37:26 1998  Gavin Koch  <gavin@cygnus.com>
+
+       * config/tc-mips.c : Added vr4320 similar to vr4300.
+       
+end-sanitize-vr4320
 Sat Feb 28 17:28:55 1998  Richard Henderson  <rth@cygnus.com>
 
        * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
index 5e44569c857362e49dbbb21b74c1208403049279..f5870a614aac7f2cfa12a7481ed52dac962c03c5 100644 (file)
@@ -468,6 +468,34 @@ else
        done
 fi
 
+vr4320_files="tc-mips.c"
+if ( echo $* | grep keep\-vr4320 > /dev/null ) ; then
+       for i in $vr4320_files ; do
+               if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Keeping vr4320 stuff in $i
+                       fi
+               fi
+       done
+else
+       for i in $vr4320_files ; do
+               if test -r $i && (grep sanitize-vr4320 $i > /dev/null) ; then
+                       if [ -n "${verbose}" ] ; then
+                               echo Removing traces of \"vr4320\" from $i...
+                       fi
+                       cp $i new
+                       sed '/start\-sanitize\-vr4320/,/end\-sanitize\-vr4320/d' < $i > new
+                       if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+                               if [ -n "${verbose}" ] ; then
+                                       echo Caching $i in .Recover...
+                               fi
+                               mv $i .Recover
+                       fi
+                       mv new $i
+               fi
+       done
+fi
+
 for i in * ; do
        if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index cdb9e33a329f2f24922c09892dd2863a3ee9402c..33c9e9a96c672ff57211916fd3132498637b2bd1 100644 (file)
@@ -203,6 +203,11 @@ static int mips_4010 = -1;
 /* Whether the 4100 MADD16 and DMADD16 are permitted. */
 static int mips_4100 = -1;
 
+/* start-sanitize-vr4320 */
+/* Whether NEC vr4320 instructions are permitted. */
+static int mips_4320 = -1;
+
+/* end-sanitize-vr4320 */
 /* start-sanitize-vr5400 */
 /* Whether NEC vr5400 instructions are permitted. */
 static int mips_5400 = -1;
@@ -234,6 +239,9 @@ static int mips_4900 = -1;
                          /* start-sanitize-tx49 */                  \
                          || mips_cpu == 4900 || mips_4900           \
                          /* end-sanitize-tx49 */                    \
+                        /* start-sanitize-vr4320 */                \
+                        || mips_cpu == 4320                        \
+                        /* end-sanitize-vr4320 */                  \
                         /* start-sanitize-vr5400 */                \
                         || mips_cpu == 5400                        \
                         /* end-sanitize-vr5400 */                  \
@@ -251,11 +259,14 @@ static int mips_4900 = -1;
 /* As with other "interlocks" this is used by hardware that has FP
    (co-processor) interlocks.  */
 /* Itbl support may require additional care here. */
-#define cop_interlocks (mips_cpu == 4300)
-/* start-sanitize-vr5400 */
-#undef cop_interlocks
-#define cop_interlocks (mips_cpu == 4300 || mips_cpu == 5400)
-/* end-sanitize-vr5400 */
+#define cop_interlocks (mips_cpu == 4300                            \
+                       /* start-sanitize-vr4320 */                 \
+                       || mips_cpu == 4320                         \
+                       /* end-sanitize-vr4320 */                   \
+                       /* start-sanitize-vr5400 */                 \
+                       || mips_cpu == 5400                         \
+                       /* end-sanitize-vr5400 */                   \
+                       )
 
 /* MIPS PIC level.  */
 
@@ -880,6 +891,12 @@ md_begin ()
       else if (strcmp (cpu, "mips64vr4300") == 0)
         mips_cpu = 4300;
 
+      /* start-sanitize-vr4320 */
+      else if (strcmp (cpu, "r4320") == 0
+              || strcmp (cpu, "mips64vr4320") == 0)
+       mips_cpu = 4320;
+
+      /* end-sanitize-vr4320 */
       else if (strcmp (cpu, "mips64vr4100") == 0
               /* start-sanitize-vr4111 */
               || strcmp (cpu, "mips64vr4111") == 0
@@ -939,6 +956,9 @@ md_begin ()
                || mips_cpu == 4100
                || mips_cpu == 4400
                || mips_cpu == 4300
+               /* start-sanitize-vr4320 */
+               || mips_cpu == 4320
+               /* end-sanitize-4320 */
                || mips_cpu == 4600
                /* start-sanitize-tx49 */
                || mips_cpu == 4900
@@ -978,6 +998,11 @@ md_begin ()
   if (mips_4100 < 0)
     mips_4100 = (mips_cpu == 4100);
 
+  /* start-sanitize-vr4320 */
+  if (mips_4320 < 0)
+    mips_4320 = (mips_cpu == 4320);
+
+  /* end-sanitize-vr4320 */
   /* start-sanitize-vr5400 */
   if (mips_5400 < 0)
     mips_5400 = (mips_cpu == 5400);
@@ -2451,6 +2476,10 @@ macro_build (place, counter, ep, name, fmt, va_alist)
                  && (insn.insn_mo->membership & INSN_4010) != 0)
              || (mips_4100
                  && (insn.insn_mo->membership & INSN_4100) != 0)
+             /* start-sanitize-vr4320 */
+             || (mips_4320
+                 && (insn.insn_mo->membership & INSN_4320) != 0)
+             /* end-sanitize-vr4320 */
              /* start-sanitize-tx49 */
              || (mips_4900
                  && (insn.insn_mo->membership & INSN_4900) != 0)
@@ -6976,6 +7005,9 @@ mips_ip (str, ip)
       else if ((mips_4650 && (insn->membership & INSN_4650) != 0)
               || (mips_4010 && (insn->membership & INSN_4010) != 0)
               || (mips_4100 && (insn->membership & INSN_4100) != 0)
+              /* start-sanitize-vr4320 */
+              || (mips_4320 && (insn->membership & INSN_4320) != 0)
+              /* end-sanitize-vr4320 */
               /* start-sanitize-tx49 */
               || (mips_4900 && (insn->membership & INSN_4900) != 0)
               /* end-sanitize-tx49 */
@@ -8812,6 +8844,13 @@ struct option md_longopts[] = {
   {"no-m4900", no_argument, NULL, OPTION_NO_M4900},
 
   /* end-sanitize-tx49 */
+  /* start-sanitize-vr4320 */
+#define OPTION_M4320 (OPTION_MD_BASE + 32)
+  {"m4320", no_argument, NULL, OPTION_M4320},
+#define OPTION_NO_M4320 (OPTION_MD_BASE + 33)
+  {"no-m4320", no_argument, NULL, OPTION_NO_M4320},
+
+  /* end-sanitize-vr4320 */
 #define OPTION_CALL_SHARED (OPTION_MD_BASE + 7)
 #define OPTION_NON_SHARED (OPTION_MD_BASE + 8)
 #define OPTION_XGOT (OPTION_MD_BASE + 19)
@@ -8951,6 +8990,10 @@ md_parse_option (c, arg)
                     mips_cpu = 4100;
                else if (strcmp (p, "4300") == 0)
                  mips_cpu = 4300;
+               /* start-sanitize-vr4320 */
+               else if (strcmp (p, "4320") == 0)
+                 mips_cpu = 4320;
+               /* end-sanitize-vr4320 */
                else if (strcmp (p, "4400") == 0)
                  mips_cpu = 4400;
                else if (strcmp (p, "4600") == 0)
@@ -9003,6 +9046,9 @@ md_parse_option (c, arg)
            if (sv
                && (mips_cpu != 4300
                    && mips_cpu != 4100
+                   /* start-sanitize-vr4320 */
+                   && mips_cpu != 4320
+                   /* end-sanitize-vr4320 */
                    /* start-sanitize-vr5400 */
                    && mips_cpu != 5400
                    /* end-sanitize-vr5400 */
@@ -9055,6 +9101,16 @@ md_parse_option (c, arg)
       break;
       /* end-sanitize-r5900 */
 
+      /* start-sanitize-vr4320 */
+    case OPTION_M4320:
+      mips_4320 = 1;
+      break;
+
+    case OPTION_NO_M4320:
+      mips_4320 = 0;
+      break;
+
+      /* end-sanitize-vr4320 */
       /* start-sanitize-vr5400 */
     case OPTION_M5400:
       mips_5400 = 1;