aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Romig-Koch <gavin@redhat.com>1998-03-03 16:45:13 +0000
committerGavin Romig-Koch <gavin@redhat.com>1998-03-03 16:45:13 +0000
commit2d035a507f81e9f65a58cdc198056bbd7f51a352 (patch)
tree8d4074d77cf8bcf13d61983e60cc49c8374ec8ba
parentad4413e67ca6df37a8a1f270b25e306e34963339 (diff)
downloadgdb-2d035a507f81e9f65a58cdc198056bbd7f51a352.zip
gdb-2d035a507f81e9f65a58cdc198056bbd7f51a352.tar.gz
gdb-2d035a507f81e9f65a58cdc198056bbd7f51a352.tar.bz2
* config/tc-mips.c : Added vr4320 similar to vr4300.
-rw-r--r--gas/.Sanitize28
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/.Sanitize28
-rw-r--r--gas/config/tc-mips.c66
4 files changed, 123 insertions, 5 deletions
diff --git a/gas/.Sanitize b/gas/.Sanitize
index 5592f21..1c49c5c 100644
--- a/gas/.Sanitize
+++ b/gas/.Sanitize
@@ -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
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0d5afa4..d0edb86 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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):
diff --git a/gas/config/.Sanitize b/gas/config/.Sanitize
index 5e44569..f5870a6 100644
--- a/gas/config/.Sanitize
+++ b/gas/config/.Sanitize
@@ -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
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index cdb9e33..33c9e9a 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -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;