aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorChenghua Xu <paul.hua.gm@gmail.com>2018-08-29 20:36:23 +0800
committerChenghua Xu <paul.hua.gm@gmail.com>2018-08-29 20:43:19 +0800
commitbd782c07b914f28fd927cec42eacd8adcf556dca (patch)
tree5fe589fdb8177e2471661eca4f913e6a9616630c /gas
parentac8cb70f3690b4eace1325c7ff918dce9073da7c (diff)
downloadbinutils-bd782c07b914f28fd927cec42eacd8adcf556dca.zip
binutils-bd782c07b914f28fd927cec42eacd8adcf556dca.tar.gz
binutils-bd782c07b914f28fd927cec42eacd8adcf556dca.tar.bz2
[MIPS] Add Loongson 3A2000/3A3000 proccessor support.
bfd/ * archures.c (bfd_architecture): New machine bfd_mach_mips_gs464e. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (enum I_xxx): Likewise. (arch_info_struct): Likewise. * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_GS464E. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Map bfd_mach_mips_gs464e to bfd_mach_mips_gs464 extension. binutils/ * NEWS: Mention Loongson 3A2000/3A3000 proccessor support. * readelf.c (get_machine_flags): Handle gs464e. elfcpp/ * mips.c (EF_MIPS_MACH): New E_MIPS_MACH_GS464E. gas/ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Exclude CPU_GS464E. (mips_cpu_info_table): Add gs464e descriptors. * doc/as.texi (march table): Add gs464e. include/ * elf/mips.h (E_MIPS_MACH_XXX): New E_MIPS_MACH_GS464E. * opcode/mips.h (CPU_XXX): New CPU_GS464E. ld/ * testsuite/ld-mips-elf/mips-elf-flags.exp: Run good_combination gs464e and gs464. opcodes/ * mips-dis.c (mips_arch_choices): Add gs464e descriptors.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-mips.c5
-rw-r--r--gas/doc/c-mips.texi1
3 files changed, 11 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f5e0bad..a9413fa 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
2018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
+ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Exclude CPU_GS464E.
+ (mips_cpu_info_table): Add gs464e descriptors.
+ * doc/as.texi (march table): Add gs464e.
+
+2018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
+
* config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Rename
CPU_LOONGSON_3A to CPU_GS464.
(mips_cpu_info_table): Add gs464 descriptors, Keep
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 0847875..9c0a1fd 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -422,7 +422,8 @@ static int mips_32bitmode = 0;
|| (ISA) == ISA_MIPS64R5 \
|| (ISA) == ISA_MIPS64R6 \
|| (CPU) == CPU_R5900) \
- && (CPU) != CPU_GS464)
+ && ((CPU) != CPU_GS464 \
+ || (CPU) != CPU_GS464E))
/* Return true if ISA supports move to/from high part of a 64-bit
floating-point register. */
@@ -19814,6 +19815,8 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
ISA_MIPS64R2, CPU_GS464 },
{ "gs464", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT,
ISA_MIPS64R2, CPU_GS464 },
+ { "gs464e", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT
+ | ASE_LOONGSON_EXT2, ISA_MIPS64R2, CPU_GS464E },
/* Cavium Networks Octeon CPU core */
{ "octeon", 0, 0, ISA_MIPS64R2, CPU_OCTEON },
diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi
index 2152164..2682e36 100644
--- a/gas/doc/c-mips.texi
+++ b/gas/doc/c-mips.texi
@@ -438,6 +438,7 @@ p6600,
loongson2e,
loongson2f,
gs464,
+gs464e,
octeon,
octeon+,
octeon2,