[MIPS] Add i6500 CPU and fix i6400 default ASEs
authorMatthew Fortune <matthew.fortune@mips.com>
Tue, 9 Apr 2019 20:40:00 +0000 (20:40 +0000)
committerFaraz Shahbazker <fshahbazker@wavecomp.com>
Sat, 13 Apr 2019 17:15:56 +0000 (10:15 -0700)
gas/
* config/tc-mips.c (mips_cpu_info_table): Add i6500.  Update
default ASEs for i6400.
* doc/c-mips.texi (-march): Document i6500.
* testsuite/gas/mips/elf_mach_i6400.d: New test.
* testsuite/gas/mips/elf_mach_i6500.d: New test.
* testsuite/gas/mips/mips.exp: Run the new tests.

gas/ChangeLog
gas/config/tc-mips.c
gas/doc/c-mips.texi
gas/testsuite/gas/mips/elf_mach_i6400.d [new file with mode: 0644]
gas/testsuite/gas/mips/elf_mach_i6500.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips.exp

index b193e44a800752ad1caf5a12d0240d90a57d72fd..82fa9b258adc9bfb6d222e8a01e8a5593451c80d 100644 (file)
@@ -1,3 +1,12 @@
+2019-04-09  Matthew Fortune  <matthew.fortune@mips.com>
+
+       * config/tc-mips.c (mips_cpu_info_table): Add i6500.  Update
+       default ASEs for i6400.
+       * doc/c-mips.texi (-march): Document i6500.
+       * testsuite/gas/mips/elf_mach_i6400.d: New test.
+       * testsuite/gas/mips/elf_mach_i6500.d: New test.
+       * testsuite/gas/mips/mips.exp: Run the new tests.
+
 2019-04-09  Matthew Fortune  <matthew.fortune@mips.com>
 
        * config/tc-mips.c (mips_set_options) <init_ase>: New field.
index 45e8f38ef5eebcfae8639cf669aa716f2d78fab3..7eab392ace23f21e4b2586eee9cda725327ee8ec 100644 (file)
@@ -20018,7 +20018,9 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
   { "xlp",           0, 0,                     ISA_MIPS64R2, CPU_XLR },
 
   /* MIPS 64 Release 6.  */
-  { "i6400",         0, ASE_MSA,               ISA_MIPS64R6, CPU_MIPS64R6},
+  { "i6400",         0, ASE_VIRT | ASE_MSA,    ISA_MIPS64R6, CPU_MIPS64R6},
+  { "i6500",         0, ASE_VIRT | ASE_MSA | ASE_CRC | ASE_GINV,
+                                               ISA_MIPS64R6, CPU_MIPS64R6},
   { "p6600",         0, ASE_VIRT | ASE_MSA,    ISA_MIPS64R6, CPU_MIPS64R6},
 
   /* End marker.  */
index 1ef289a0f4974919a4a98a4953885004f6f5369d..1df28c6d55b246863b81da544b883bffdcf5cbfd 100644 (file)
@@ -449,6 +449,7 @@ p5600,
 sb1,
 sb1a,
 i6400,
+i6500,
 p6600,
 loongson2e,
 loongson2f,
diff --git a/gas/testsuite/gas/mips/elf_mach_i6400.d b/gas/testsuite/gas/mips/elf_mach_i6400.d
new file mode 100644 (file)
index 0000000..ca1619a
--- /dev/null
@@ -0,0 +1,23 @@
+#readelf: -Ah
+#name: ELF i6400 markings
+#as: -64 -march=i6400
+#source: empty.s
+
+ELF Header:
+#...
+  Flags: +0xa......., .*mips64r6.*
+#...
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r6
+GPR size: 64
+CPR1 size: 128
+CPR2 size: 0
+FP ABI: .*
+ISA Extension: None
+ASEs:
+       VZ ASE
+       MSA ASE
+FLAGS 1: .*
+FLAGS 2: .*
diff --git a/gas/testsuite/gas/mips/elf_mach_i6500.d b/gas/testsuite/gas/mips/elf_mach_i6500.d
new file mode 100644 (file)
index 0000000..f1bb235
--- /dev/null
@@ -0,0 +1,25 @@
+#readelf: -Ah
+#name: ELF i6500 markings
+#as: -64 -march=i6500
+#source: empty.s
+
+ELF Header:
+#...
+  Flags: +0xa......., .*mips64r6.*
+#...
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r6
+GPR size: 64
+CPR1 size: 128
+CPR2 size: 0
+FP ABI: .*
+ISA Extension: None
+ASEs:
+       VZ ASE
+       MSA ASE
+       CRC ASE
+       GINV ASE
+FLAGS 1: .*
+FLAGS 2: .*
index 5969c59c4bc319fc48f5b765de453c87673c3a75..635c7dc16073bf9bc875a4dafa837678880391bf 100644 (file)
@@ -1152,6 +1152,8 @@ if { [istarget mips*-*-vxworks*] } {
     run_dump_test "elf_mach_5900"
     run_dump_test "elf_mach_interaptiv-mr2"
     run_dump_test "elf_mach_p6600"
+    run_dump_test "elf_mach_i6400"
+    run_dump_test "elf_mach_i6500"
 
     run_dump_test "mips-gp32-fp32-pic"
     run_dump_test "mips-gp32-fp64-pic"